Pick the surface for your task
The Events API reads already recorded events. It is not a conversion ingestion endpoint. Likewise, the public API does not expose every operation used internally by the tracker. Manage billing, passwords, API credentials, and domain setup in the tracker.
Build your first report integration
Begin by finding the campaign that your integration will query:ok: true. Campaigns are in data.campaigns, and data.meta.count is the number returned. Choose the matching campaign ID from the response, rather than using the display name as an identifier in later requests.
Next, query reports and events for that ID with explicit dates and timezone. Compare one result with the tracker before scheduling the export. This catches workspace, filter, and time-boundary mistakes before they become a recurring report.
Response payloads vary by endpoint. Lists of some assets return an array in data, while campaign lists and report queries return named objects. Parse the endpoint’s response schema rather than assuming every list uses the same wrapper or pagination.
Create tracking entities in dependency order
A campaign combines a traffic source, tracking settings, and an existing rotator. The rotator contains the routes to landing pages and offers. For a provisioning application, create or identify the reusable assets first, then create a publishable rotator, and finally attach the campaign usingdestination.mode: "use_rotator". Set up the tracking domain in the tracker and use its ID where required. Campaign creation does not replace rotator configuration.
After a campaign write, inspect both the returned campaign and its publication result. Saving the control data and making a configuration available to traffic can be separate steps. Verify the resulting campaign tracking setup before sending paid traffic.
When retiring entities, follow Archive and restore. These relationships also determine which items can be archived safely.