Skip to Content
REST APIEndpoint Reference

Endpoint Reference

Every v1 endpoint is a GET, read-only, scoped to the API key’s owner, and lives under https://app.synaptyx.pro/api/v1. The interactive explorer at /api/v1/docs lets you try them live.

Full endpoint list

MethodPathScopePurpose
GET/conversionsread:conversionsCursor-paginated conversions (CPA + revenue merged)
GET/conversions/searchsearch:conversionsSubstring search across conversion + click fields
GET/clicksread:clicksCursor-paginated clicks (geo, device, sub-IDs)
GET/campaignsread:campaignsList campaigns (lean — no flow/graph)
GET/campaigns/:idread:campaignsA single campaign
GET/campaigns/searchsearch:campaignsSubstring search across campaigns
GET/offersread:offersList offers
GET/offers/:idread:offersA single offer
GET/landing-pagesread:landing-pagesList landing pages
GET/landing-pages/:idread:landing-pagesA single landing page
GET/traffic-sourcesread:traffic-sourcesList traffic sources
GET/traffic-sources/:idread:traffic-sourcesA single traffic source
GET/stats/overviewread:statsAggregate totals + resource counts over a window
GET/stats/dailyread:statsDaily clicks / conversions / revenue series
GET/reportsread:reportsGrouped performance report (CR, EPC, …)

Key parameters

Conversions — GET /conversions

ParamNotes
limit1–200 (default 50)
cursorOpaque pagination cursor
campaign_idFilter to one campaign
statusapproved, pending, declined, hold
sourcecpa, revenue, or all
from / toDate range
include_test_modeInclude test conversions

Clicks — GET /clicks

ParamNotes
limit, cursorPagination
campaign_id, offer_idFilters
from / toDate range (clickedAt)
convertedOnly converted clicks

Stats — GET /stats/overview & /stats/daily

ParamNotes
days1–90 (default 30)
tzIANA timezone for daily (default UTC)
campaign_idFilter daily to one campaign

Reports — GET /reports

ParamNotes
group_byRequired. One of: campaign, country, device, os, browser, offer, landing, traffic_source, day
days1–365 (default 30)
from / toExplicit range
campaign_idFilter

Reports return up to the top 1,000 buckets, sorted by clicks descending.

Search — /conversions/search, /campaigns/search

ParamNotes
qThe query, 2–100 chars (%/_ are escaped, not wildcards)
fieldsComma-separated whitelist of fields to search
limit, cursorPagination
from / toDate range (conversions search)

Response shapes

List endpoints return a paginated envelope:

{ "data": [ /* … rows … */ ], "nextCursor": "eyJ0cyI6…", "hasMore": true }

Search endpoints add the query context and per-row match info:

{ "query": "acme", "searchedFields": ["name", "couponCode"], "data": [ { "id": "…", "name": "Acme FR", "matched": true, "matches": [{ "field": "name", "value": "Acme FR" }] } ], "nextCursor": null, "hasMore": false }

Examples

# Last 7 days overview curl "https://app.synaptyx.pro/api/v1/stats/overview?days=7" \ -H "Authorization: ApiKey syx_live_your_key_here" # Conversions for one campaign, paginated curl "https://app.synaptyx.pro/api/v1/conversions?campaign_id=abc&limit=100" \ -H "Authorization: ApiKey syx_live_your_key_here"

Single-item lookups (/:id) return 404 not_found for both nonexistent and not-owned rows — so the API never leaks whether another user’s resource exists.

Next