Campaign performance report
Date ranges are limited to 31 days.
POST/v1/properties/{propertyId}/reports/campaigns
Authentication
Section titled “Authentication”bearerAuth: API key created in the dashboard (atk_…). Send it in the Authorization: Bearer YOUR_API_KEY header.
Path parameters
Section titled “Path parameters”propertyIdstringrequiredProperty id
Request body
Section titled “Request body”application/jsonrequired
fromstring · daterequiredInclusive start date in the report time zone
Format YYYY-MM-DD, e.g.
2026-01-31tostring · daterequiredInclusive end date in the report time zone
Format YYYY-MM-DD, e.g.
2026-01-31attributionstringAllowed values
last-ad-click first-ad-clickDefault last-ad-clickgroupBystringAllowed values
campaign adset adDefault campaignmetricsarray of stringMin items
1Max items 20Item max length 80conversionEventsarray of stringDefaults to the property conversion events
Min items
1Max items 20Item min length 1Item max length 64filtersobjectShow 6 child attributes
channelarray of stringMin items
1Max items 50Item min length 1Item max length 256platformarray of stringMin items
1Max items 50Item min length 1Item max length 256adNetworkarray of stringMin items
1Max items 50Item min length 1Item max length 256campaignIdsarray of stringMin items
1Max items 50Item min length 1Item max length 256adsetIdsarray of stringMin items
1Max items 50Item min length 1Item max length 256adIdsarray of stringMin items
1Max items 50Item min length 1Item max length 256sortobjectShow 2 child attributes
metricstringrequiredAllowed values
spend impressions reach frequency linkClicks sessions clients eventValues results resultValues cpm cpc ctr roasdirectionstringAllowed values
asc descDefault desclimitintegerDefault
50Min 1Max 100cursorstringnextCursor from the previous pageMin length
1Max length 2048Responses
Section titled “Responses”200 Successful response
Section titled “200 Successful response”application/json
dataarray of objectrequiredShow 7 child attributes
idstringrequiredtypestringrequiredAllowed values
campaign adset adnamestring | nullrequiredchannelstring | nullrequiredadNetworkstring | nullrequiredstatusstring | nullrequiredAllowed values
active paused terminatedmetricsmap of (number | null)requirednextCursorstring | nullrequiredreportobjectrequiredShow 8 child attributes
propertyIdstringrequiredfromstringrequiredtostringrequiredtimezonestringrequiredcurrencystringrequiredattributionstringrequiredAllowed values
last-ad-click first-ad-clickgroupBystringrequiredAllowed values
campaign adset adconversionEventsarray of stringrequiredsummarymap of (number | null) | nullrequiredTotals for the whole query; returned only on the first page
400 Invalid request
Section titled “400 Invalid request”application/json
errorobjectrequiredShow 5 child attributes
codestringrequiredAllowed values
invalid_request invalid_cursor unauthenticated api_access_unavailable not_found payload_too_large rate_limited response_too_large upstream_timeout service_unavailable internal_errormessagestringrequiredrequestIdstringrequiredretryablebooleanrequiredWhether retrying the request can succeed
detailsarray of objectShow 2 child attributes
pathstringrequiredmessagestringrequiredmessagestringcodestringissuesarray of objectShow 1 child attribute
messagestringrequired401 Missing, invalid or deleted API key
Section titled “401 Missing, invalid or deleted API key”Same response body as 400.
403 API access unavailable on the plan
Section titled “403 API access unavailable on the plan”Same response body as 400.
404 Unknown or inaccessible property
Section titled “404 Unknown or inaccessible property”Same response body as 400.
413 Request body too large
Section titled “413 Request body too large”Same response body as 400.
429 Rate limit exceeded; see Retry-After
Section titled “429 Rate limit exceeded; see Retry-After”Same response body as 400.
503 Temporarily unavailable; retry with backoff
Section titled “503 Temporarily unavailable; retry with backoff”Same response body as 400.
504 The query timed out; narrow the date range or retry
Section titled “504 The query timed out; narrow the date range or retry”Same response body as 400.
Request example
Section titled “Request example”Synthesized command template. Replace path placeholders and provide request-body.json matching the schema above; add query parameters as needed. This is not a recorded request or response.
curl --request POST 'https://api.anytrack.io/v1/properties/{propertyId}/reports/campaigns' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --data @request-body.json