Skip to content
TAM Reporting

Operations

Teads Ad Manager Reporting API endpoints, statuses, and errors.

All operations use the base URL and Authorization header described in Getting started. Rate limits: 1 call / 30 seconds on the two run endpoints, 1 call / 5 seconds on every other endpoint, applied per seat. See Quotas and limits for full details on rate limits and the rolling 24-hour run quota.

Endpoint map

MethodPathRole
POST/api/reports/runRun a one-time report
GET/api/reports/status/:uidRun status and download uri
GET/api/reports/mineList saved reports
GET/api/reports/:idSaved report details
GET/api/reports/:id/filesAll generated files
GET/api/reports/:id/latest-fileLatest generated file
POST/api/reports/:id/runRun a saved report
GET/api/reports/quotasRolling 24-hour used / total

:id is the numeric TAM report id. :uid is the UUID returned by a run.

Run a one-time report

POST /api/reports/run

FieldTypeDescription
filtersobjectReport filters. date (start, end, optional timezone) is required.
dimensionsstring[]Dimension API names. At least one.
metricsstring[]Metric API names. At least one.
formatstringcsv (default) or xlsx.
callbackUrlURLOptional. TAM POSTs { "reportUid": "", "uri": "http://..." } on finish.

Success 200 returns a run object. Errors:

StatusMeaning
401Missing authorization header, or no valid token found
400Invalid JSON, or required parameters missing (need a dimension and a metric)
429User reached the API quota (CURRENT_QUOTAS / TOTAL)

Get status of a run

GET /api/reports/status/:uid

Success 200 is the run object plus uri when status is finished. Errors: 401 missing or invalid token.

Poll about every 10 seconds. The official Python example times out after 6 hours.

Run a saved report

POST /api/reports/:id/run

No JSON body. Success 200 returns a run object. Errors: 401, 403 (cannot access the report), 429 (quota).

Then poll status and download from uri.

List saved reports

GET /api/reports/mine

Optional query page (0-indexed) when results are paginated.

FieldTypeDescription
contentobject[]Saved reports
content.idnumberReport id
content.idProfilenumberProfile that created the report
content.idEntityOwnernumberOrganization id
content.namestringReport name
content.jsonobjectStored settings
content.json.filtersobjectFilters
content.json.dimensionsstring[]Dimensions
content.json.metricsstring[]Metrics
page.currentPagenumberCurrent page
page.sizenumberResults per page
page.totalElementsnumberTotal results across pages
page.totalPagesnumberTotal pages

Errors: 401.

Get saved report details

GET /api/reports/:id

Same report fields as a content[] item (id, idProfile, idEntityOwner, name, json). Errors: 401, 403.

List files for a saved report

GET /api/reports/:id/files

FieldTypeDescription
responseobject[]Generated files
urlURLPublic download URL
LastModifiedISO 8601When the file was generated
SizenumberFile size
namestringFile name

Errors: 401, 403.

Get latest file for a saved report

GET /api/reports/:id/latest-file

Same file fields (url, LastModified, Size, name) for the most recent file. Use this for scheduled reports. Errors: 401, 403.

Get quotas

GET /api/reports/quotas

FieldTypeDescription
usednumberReports that ran in the past 24 hours
totalnumberReports allowed per 24-hour period (default 75)
next_available_slotepoch millisWhen the next run is allowed; current time if the quota is not yet reached

Errors: 401.

Run object

Returned by both run endpoints and by status.

FieldTypeDescription
idUUIDRun id
startISO 8601When the request was registered
lastStatusUpdateISO 8601Last internal status update
statusstringqueued, processing, error, or finished
validbooleanWhether the request format and content are valid
uriURLDownload URL; only when status is finished
reportProgressobjectProgress counters
reportProgress.stepMaxnumberSteps to finish
reportProgress.stepnumberCurrent step
reportProgress.progressMaxnumberMax progress for the step
reportProgress.progressnumberCurrent progress in the step

The one-time-report article mentions a url field on finished. The status endpoint and Python example use uri. Saved-report file endpoints use url.

Status lifecycle

queued → processing → finished
                   ↘ error
  • queued: accepted; waiting for capacity.
  • processing: computing.
  • error: failed; inspect message.
  • finished: ready. Download from uri (status) or url (saved-report files).