Endpoint Catalog
All paths below are relative to /api/v1. Methods reflect the current platform routes; authorization can further restrict actions by role, permission, ownership, status, and feature capability.
Site-key runtime endpoints
| Method | Path | Purpose |
|---|---|---|
POST | /events/track | Ingest one canonical event. |
POST | /events/batch | Ingest 1–100 events. |
GET | /recommendations | Serve recommendations for the key’s site and request context. |
GET | /overlays/config | Return overlays eligible for the page, device, visitor, and server-derived location. |
POST | /overlay-submissions | Submit capture data from an overlay. |
POST | /partner-attribution/touches | Capture a bounded AWIN/CJ partner touch chain with a runtime token. |
POST | /partner-experiments/assignments | Assign an eligible advertiser session to partner-scoped control/treatment with a runtime token. |
GET | /chatbots/config | Return eligible chatbot widget configuration. |
POST | /chatbots/session | Start or resume a chatbot session. |
POST | /chatbots/message | Execute a chatbot turn synchronously. |
GET, POST | /profile-personalization | Read or update the consented merchant-scoped personalization profile. |
Workspace and access
These routes require a merchant ID token and the corresponding authorization grant.
| Methods | Paths | Purpose |
|---|---|---|
GET, POST | /sites | List or create sites; site creation returns the public site_id and SDK installation snippet. |
GET, PATCH, DELETE | /sites/{siteId} | Read, update, or soft-delete a site. |
GET, POST | /api-keys | List key metadata or replace the active key for a site. |
POST | /api-keys/{keyId}/regenerate | Rotate a key and reveal the replacement once. |
GET, PATCH | /merchants/preferences | Read or update merchant preferences. |
GET, POST, PATCH, DELETE | /access/roles*, /access/memberships*, /access/invitations* | Manage custom roles, team memberships, and secure email invitations. |
Products, campaigns, and experiments
| Methods | Paths | Purpose |
|---|---|---|
GET, POST | /products | Search/list or create catalog products. |
GET, PATCH, DELETE | /products/{productId} | Read, update, or delete a product. |
GET, POST | /products/imports* | Start, inspect, complete, cancel, and download errors for CSV imports. |
GET | /products/categories, /products/intent-options | Populate campaign filters and intent targeting. |
GET, POST, PATCH, DELETE | /recommendation-campaigns* | Manage recommendation campaigns. |
GET, POST, PATCH, DELETE | /overlay-campaigns* | Manage overlay campaigns; duplicate actions use /duplicate. |
GET, POST, PATCH, DELETE | /chatbot-campaigns* | Manage chatbot campaigns; duplicate actions use /duplicate. |
GET | /overlay-templates, /chatbot-templates | Read built-in template catalogs. |
GET, POST, DELETE | /ab-tests* | Manage tests and read results. |
POST | /ab-tests/{testId}/start, /pause, /complete | Change an experiment lifecycle state. |
GET, POST | /partner-experiments | List or create partner-scoped Upsurge experience experiments. |
GET, PATCH | /partner-experiments/{experimentId} | Read or transition a partner experiment. |
GET | /partner-experiments/{experimentId}/results | Read intent-to-treat lift, readiness, and segmented results. |
Workflows
| Methods | Paths | Purpose |
|---|---|---|
GET, POST | /workflows | List or create workflows. |
GET, PATCH, DELETE | /workflows/{workflowId} | Read, edit, or delete a workflow. |
POST | /workflows/{workflowId}/publish, /unpublish | Change the published runtime version. |
GET | /workflows/templates | List system and merchant templates. |
POST | /workflows/templates/{templateId}/instantiate | Create a workflow from a template. |
GET | /workflows/runs, /workflows/runs/{runId} | Inspect execution summaries and details. |
POST | /workflows/trigger/campaign-start | Authenticated campaign-start trigger. |
POST | /workflows/trigger/chatbot-handoff | Signed chatbot handoff trigger. |
POST | /workflows/webhooks/{slug...} | Signed or configured public webhook trigger. |
Analytics and conversions
| Method | Paths | Purpose |
|---|---|---|
GET | /analytics/metrics, /timeseries, /top | Core first-party aggregates. |
GET | /analytics/campaign-performance | Normalized product-campaign performance. |
GET | /analytics/overlays, /recommendations | Product-specific aggregates. |
GET | /analytics/ads | Connected advertising insights. |
GET | /analytics/partners | Advertiser observed/settled partner performance, profitability, and reconciliation. |
GET | /analytics/publishers | Publisher clicks, provider orders/commission, content/destination performance, and variance. |
GET, POST, PATCH, DELETE | /analytics/reports* | Saved merchant report definitions. |
GET | /conversions | Conversion records and attribution context. |
POST | /partner-attribution/conversions | Ingest authoritative partner purchases, adjustments, and cancellations with a scoped secret key. |
Integrations, media, and search
| Methods | Paths | Purpose |
|---|---|---|
GET, POST, PATCH, DELETE | /integrations/connections* | Create, inspect, rotate, verify, sync, act through, or revoke merchant connections. |
POST, GET | /integrations/oauth/start, /oauth/callback | Begin and finalize provider OAuth with state validation. |
GET, POST, DELETE | /media* | List, upload/import, mark usage, or delete merchant media. |
GET | /media/unsplash/search | Search Unsplash for importable media. |
GET | /search | Search merchant-owned dashboard entities and public docs. |
POST | /intent/reach-estimate | Estimate scoped campaign reach. |
GET, POST | /intent/audience-memberships/import, /sync | List options or run governed audience membership activation. |
Operational routes
/integrations/jobs/process requires a worker secret. /health is a deployment health surface. Demo configuration and platform admin routes are not stable customer integration contracts.