Appearance
reports
7 endpoints.
GET /api/v1/reports/export/csv
Export Csv
Export insights data as CSV.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
days | query | no | integer | |
account_id | query | no |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/reports/performance
Performance Summary
Get aggregated performance summary for dashboards.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
days | query | no | integer |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/reports/performance/campaigns
Performance By Campaign
Get performance metrics broken down by campaign.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
days | query | no | integer |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/reports/dashboard
Dashboard Overview
Account-scoped overview for the landing dashboard.
Honours the global cascade selection (X-Account-ID / X-Ad-ID) so the landing page reflects whichever ad account is active in the sidebar. Returns current-vs-prior totals, a daily series, and top campaigns — everything the dashboard needs to drill down into the Reports grid.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
days | query | no | integer | |
include_inactive | query | no | boolean |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/reports/campaign/{campaign_id}/insights
Campaign Insights
Live, decision-grade metrics for one campaign, pulled straight from Meta.
campaign_id is the Meta campaign id. Returns spend, reach (viewers), impressions (views), click/cost efficiency, and — when the campaign drives leads — lead volume and cost per lead.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
campaign_id | path | yes | string | |
days | query | no | integer |
200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}GET /api/v1/reports
List Reports
List all reports for the tenant.
200 — Successful Response
json
{}POST /api/v1/reports
Create Report
Create a new scheduled or ad-hoc report.
Request body
json
{
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"recipient_emails": {
"items": {
"type": "string"
},
"type": "array",
"title": "Recipient Emails"
},
"schedule": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Schedule"
},
"template": {
"type": "string",
"title": "Template",
"default": "default"
}
},
"type": "object",
"required": [
"name",
"recipient_emails"
],
"title": "ReportCreate"
}200 — Successful Response
json
{}422 — Validation Error
json
{
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}