POST/v1/properties/{propertyId}/reports/conversions
Returns every tracked event of a property, newest first, for a date range of up to 31 days. Each event has its value, customer details, and attribution. Filter by event name, or by a click ID or client ID to follow one visitor.
Before you call
Section titled “Before you call”This endpoint needs IDs that other endpoints return:
- Call List the account properties. Copy the
idof the property: it is thepropertyId. - Call this endpoint with these IDs.
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”propertyIdstringrequiredID of the property. Get it from
listProperties (id).Request body
Section titled “Request body”application/jsonrequired
fromstring · daterequiredFirst day of the report, included, in the property time zone. The range covers at most 31 days.
Format YYYY-MM-DD, e.g.
2026-01-31tostring · daterequiredLast day of the report, included, in the property time zone.
to must be on or after from.Format YYYY-MM-DD, e.g.
2026-01-31eventNamesarray of stringEvent names to include, for example
Purchase or Lead. Without this field, the report includes every event.Min items
1Max items 50Item min length 1Item max length 64clickIdstringAnyTrack click ID or property-scoped client ID. Modern click IDs and bare client IDs filter by browser, within the requested dates and event names. Legacy reference IDs filter by the stored reference ID. Undecodable IDs return
400 with invalid_request; valid unknown IDs return no rows.Min length
1Max length 256limitintegerNumber of items on each page.
Default
50Min 1Max 200cursorstringThe
nextCursor from the previous page. Keep the property and query fields unchanged. limit may change where supported. Pages are not snapshot-consistent.Min length
1Max length 2048Responses
Section titled “Responses”Every response field is present unless it shows optional. A type that ends in | null can be null.
200 Successful response
Section titled “200 Successful response”application/json
dataarray of objectEvents on this page, newest first.
Show 17 child attributes
idstringID of the conversion. Send it as
conversionId to Get a conversion event. Do not parse the ID: its format can change.timestringTime of the event, in ISO 8601 format and in UTC.
eventNamestring | nullAnyTrack event name, for example
Purchase or Lead.valuenumber | nullReported event value in
currency, or null when unavailable. Usually converted to the property currency during ingestion; the original currency can be retained if conversion fails.currencystring | nullCurrency of
value.originalValuenumber | nullOriginal event value in
originalCurrency, retained when currency conversion occurred. null when no separate original value was stored.originalCurrencystring | nullCurrency of the separately stored original event value.
null when no separate original currency was stored.transactionIdstring | nullTransaction ID that the conversion source sent, for example an order ID.
clientIdstringAnyTrack client ID of the visitor browser, scoped to this property. Send it as
clickId in the conversions report to find this browser’s events within the requested date range.clickIdstring | nullAnyTrack click ID recorded on the event.
null when the event has no click ID. Modern click IDs identify the browser when used as a conversions-report filter.newSessionbooleantrue when the event started a new session.integrationIdstring | nullID of the integration that sent the event. Send it as
integrationId to Get an integration. null when no integration sent the event.brandstring | nullBrand name linked to the event.
pageUrlstring | nullURL of the page where the event happened.
linkobject | nullLink linked to the event.
null when the event has no link.Show 3 child attributes
idstring | nullID of the link.
labelstring | nullLabel of the link.
urlstring | nullURL of the link.
customerobject | nullCustomer details of the event. They contain personal data: keep them secure.
null when the event has no customer details.Show 9 child attributes
emailstring | nullEmail address of the customer.
phonestring | nullPhone number of the customer.
firstNamestring | nullFirst name of the customer.
lastNamestring | nullLast name of the customer.
citystring | nullCity of the customer.
statestring | nullState or region of the customer.
zipcodestring | nullPostal code of the customer.
countrystring | nullCountry of the customer.
countryCodestring | nullCountry code of the customer.
attributionobject | nullReported main attribution touchpoint: channel, traffic source, campaign, ad set, and ad.
null when no attribution details are available.Show 13 child attributes
channelstring | nullChannel of the touchpoint.
adNetworkstring | nullAd network of the touchpoint.
sourcestring | nullTraffic source of the touchpoint, as in
utm_source.mediumstring | nullTraffic medium of the touchpoint, as in
utm_medium.referrerstring | nullReferrer of the visit.
pageVariantstring | nullPage variant of the visit.
contentstring | nullAd content of the touchpoint, as in
utm_content.termstring | nullKeyword of the touchpoint, as in
utm_term.clickIdParamstring | nullName of the ad click ID parameter in the landing page URL, for example
gclid or fbclid.clickIdValuestring | nullValue of the ad click ID parameter.
campaignobject | nullCampaign of the touchpoint.
Show 2 child attributes
idstring | nullID of the campaign on the ad platform.
namestring | nullName of the campaign.
adsetobject | nullAd set of the touchpoint.
Show 2 child attributes
idstring | nullID of the ad set on the ad platform.
namestring | nullName of the ad set.
adobject | nullAd of the touchpoint.
Show 2 child attributes
idstring | nullID of the ad on the ad platform.
namestring | nullName of the ad.
nextCursorstring | nullCursor of the next page. Send it as
cursor with the same query to get the next page. null on the last page.reportobjectSettings that AnyTrack used for the report.
Show 5 child attributes
propertyIdstringID of the property.
fromstringFirst day of the report, as in the request.
tostringLast day of the report, as in the request.
timezonestringTime zone of the report. It is the time zone of the property.
currencystringConfigured reporting currency of the property. For individual conversions, use the currency returned on each event for its value.
Errors
Section titled “Errors”Every error returns the error object.
| Status | Description and action |
|---|---|
400 | invalid_request, invalid_cursor: A parameter or a body field is not valid, or the cursor belongs to a different query. Correct the request. error.details, when present, names invalid fields. Do not reuse a cursor with a different query. |
401 | unauthenticated: Missing, invalid or deleted API key. Send a valid key in Authorization: Bearer. MCP uses an OAuth access token, which may also expire or be revoked. |
403 | api_access_unavailable: API access is disabled for this account. Contact AnyTrack support. OAuth requests also require the anytrack:read scope (insufficient_scope). |
404 | not_found: An ID does not exist, or it belongs to a different account. The API gives the same error for both. Check the IDs. Get them again from the list endpoints. |
413 | payload_too_large: The request body is larger than 16 KB. Send a smaller request body. |
429 | rate_limited: The account sent more than 60 requests in one minute. Wait for the number of seconds in the Retry-After header, then retry. |
500 | response_too_large, internal_error: The response is larger than 1 MB, or the API has an internal error. For response_too_large, ask for fewer rows or metrics. For internal_error, contact AnyTrack support with the requestId. |
503 | service_unavailable: The service is not available for a short time. Retry later, and wait longer after each failed retry. |
504 | upstream_timeout: A downstream request timed out (the report client timeout is 65 seconds). Narrow the date range, then retry with backoff. |
Request example
Section titled “Request example”Command template. Replace the path placeholders. Put the request body in request-body.json, as in the schema above. Add the query parameters that you need. This is not a recorded request or response.
curl --request POST 'https://api.anytrack.io/v1/properties/{propertyId}/reports/conversions' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --data @request-body.json