Export Custom Events
Bulk export of custom events from a half-open occurredAt range, ordered by occurredAt ascending. Each event’s own payload is returned as a JSON object under data. The contact’s current email and user ID are resolved per row on a best-effort basis (contactEmail and userId may be null if the contact no longer exists).
Send occurredAt on the first call, then pass the opaque cursor returned as pagination.nextCursor back as cursor on every later call. A null cursor means there are no more results. Persist the last non-null cursor between syncs to resume. The range may be arbitrarily long and is walked in bounded segments internally, so an empty page with a non-null cursor means there are more results to come rather than the end of the export.
Request access. This endpoint is not enabled by default, contact the Conversion team to request access. Calls from accounts without it return
403 export_not_enabled.
Authorizations
Your Conversion API key. Found in Settings > Integrations in the dashboard. Format: sk_live_<key_id>_<secret>.
Body
The half-open occurredAt range to export, from start up to but not including end. Required on the first call, and omitted on later calls because the cursor carries the range. Supplying both occurredAt and cursor returns an invalid_window error.
The opaque pagination cursor returned as pagination.nextCursor by a previous call. Omit (or pass an empty string) to fetch the first page. Send it on its own, with no occurredAt. An invalid or malformed cursor returns an invalid_cursor error.
"eyJ2IjoxLCJjIjoiMjAyNi0wOC0wMVQwMDowMDowMFoifQ=="
The maximum number of events to return per page. Defaults to 1000. Values are clamped to the range [1, 1000] rather than rejected; values above 1000 return 1000 results.
1 <= x <= 1000