Reports
Templates, schedules, generation and delivery — the client-facing artifact an agency actually sends.
A report is a rendered, brandable artifact built from a profile's attribution data: generated on demand or on a schedule, delivered by email or shared by link.
Four objects, in the order you meet them:
| object | route family | what it is |
|---|---|---|
| template | /reports/templates | which sections, which metrics, which branding |
| schedule | /reports/schedules | when it runs and who receives it |
| generated report | /reports, /reports/{id} | one rendered instance |
| delivery | /reports/deliveries | one attempt to get it to someone |
Preview before you schedule
POST /api/v1/reports/preview
POST /api/v1/reports/send-testpreview builds the report data without storing anything — the right call
when you are still deciding what a template should contain. send-test sends
one real email to you, which is the only way to check branding, the sender
domain and how it renders in a client's inbox.
Generating and sending
POST /api/v1/reports/generate
GET /api/v1/reports/{id}
POST /api/v1/reports/{id}/sendGeneration is separate from sending on purpose: an agency reviews before a client sees it.
Sharing without a credential
GET /api/v1/public/reports/{share_slug}The one route on this API with no credential at all. The slug is the capability — treat it like a password: anyone holding it reads the report.
Across many profiles at once
An agency's bulk operations are workspace-scoped and live under /workspaces:
GET /api/v1/workspaces/{workspaceId}/reports/hub— the hub viewPOST /api/v1/workspaces/{workspaceId}/reports/bulk-generatePOST /api/v1/workspaces/{workspaceId}/reports/schedules/bulk
Branding and the verified sending domain are also workspace-level — see Workspaces & profiles.
| Method | Path | What it does |
|---|---|---|
GET | /api/v1/public/reports/{share_slug} | Fetch a shared report (no credential) |
GET | /api/v1/reports | List generated reports |
GET | /api/v1/reports/{id} | Fetch a generated report |
DELETE | /api/v1/reports/{id} | Delete a generated report |
POST | /api/v1/reports/{id}/send | Email a generated report |
GET | /api/v1/reports/deliveries | List report deliveries |
POST | /api/v1/reports/generate | Generate a report |
POST | /api/v1/reports/preview | Preview report data without storing it |
GET | /api/v1/reports/schedules | Get the report schedule |
POST | /api/v1/reports/schedules | Create or update the report schedule |
PATCH | /api/v1/reports/schedules/{id} | Update the report schedule |
DELETE | /api/v1/reports/schedules/{id} | Delete the report schedule |
GET | /api/v1/reports/schedules/changes | List report schedule changes |
POST | /api/v1/reports/send-test | Send a test report email |
GET | /api/v1/reports/templates | List report templates |
POST | /api/v1/reports/templates | Create a report template |
PATCH | /api/v1/reports/templates/{id} | Update a report template |
DELETE | /api/v1/reports/templates/{id} | Delete a report template |
Generated from openapi.json. The full request and response schema for every operation is in the OpenAPI document.