Skip to main content
Two endpoints power creator affiliate links: mint the links for a creator, and read that creator’s performance. Both authenticate with the publishable key only; no HMAC.
For the scenario (surfacing links in your creator dashboard, link semantics, geo guidance), see the Creator Links guide.

Authentication

Pass your publishable key in the X-API-Key header (pk_live_* for production, pk_test_* for development). Multi-app projects also send X-Platform: api (requires an API-platform app in the project; without one the response is 401 Invalid API key). A test key mints links and returns stats. The environment is captured when the link is minted, not when it is clicked, because the click is an end user opening a short URL with no key attached. So a link minted with pk_test_* carries the test flag and its clicks are excluded from your analytics, the same as the rest of test-key traffic. A test mint and a live mint of the same creator and campaign are separate links with separate slugs, so testing a creator never taints that creator’s live link. Full model: overview’s Authentication section.

POST /creators/links

Mints (or fetches) the tracking links for one creator. Idempotent: the same creatorId always returns the same linkUrl per campaign, so it is safe to call on every dashboard load. Links are minted for the campaigns enabled for your app, in your configured campaign order (both controlled from the dashboard).

Request

Response

Each entry carries the same presentation fields as POST /offers/catalog (name, perk, badge, prices, the advertiser organization, and the creatives set), plus a payout block, categories, and the creator’s entry-level linkUrl. The one catalog field it drops is the per-creative clickUrl: for creator links the tracking link lives once at the entry level.

Example

GET /creators//stats

Reads a creator’s real-time performance: per-campaign aggregates, totals, and a chart-ready daily series.

Path parameters

Query parameters

Both date bounds are optional. Omit them for all-time stats, or pass a window to scope everything the endpoint returns: per-campaign aggregates, totals, and the daily series are all filtered to the range. A malformed date or a startDate later than endDate returns a 400.

Response

Which day a metric lands on. clicks count on the transaction’s created date. completions and earnings count on the completion (verification) date. So a click on the 1st that completes on the 3rd shows its click on the 1st and its completion plus earnings on the 3rd. All dates are UTC, and this is what the daily series and the startDate/endDate filter operate on.

Example

Status codes