Products

Future Demand — the Audience Intelligence platform as a whole. Lookout — the discovery / insights surface. Demand prediction, benchmarks, event-level KPIs, taste clusters as recommendations. Wave — the campaign activation surface. Setup wizard, publish to ad platforms, edit-while-running, attribution. Affinity — the recommendation API behind Lookout and Wave. Returns taste clusters and suggested targeting per event. Backhaul — the package-level attribution model. Backhaul evaluation counts customer / item / purchase signals per cluster. Sentinel — Future Demand’s anonymous-session embed product, not covered in this developer kit.

Identifiers

partner_id — Public partner / tenant identifier. Pattern partner-id-<slug> or fd<digits>. Sent on every request as X-Preferred-Partner-Id. client_id — Internal numeric form of the partner. Returned as id from GET /partners/. Used by a few legacy endpoints; prefer partner_id. eid — Event id. Stable for the life of the event. tc — Taste cluster name. A learned audience segment for one event. Used as a path segment in URLs (URL-encoded, not slugified). tc_run_id — Integer identifier of one Affinity cluster-generation run for an event. Stable across model refreshes — old runs remain readable. cid — Composite campaign id, computed client-side as ${tc_run_id}_${eid}_${tc-slug}. Used for UI navigation; the API takes the three components separately. audience_id — Saved-audience id issued by an upstream ad platform (typically Meta) after publish. package_id — Package Builder package id.

API model

setup_process — A per-event row that holds the Wave campaign setup. One per event; the draft state, then the published state. taste cluster — A segment of likely buyers for one event, learned by Affinity. Versioned by tc_run_id. benchmark — Affinity’s prediction of demand vs. an expected trajectory. Comes back as fraction or percent (auto-detect). sales graph — Normalised time-to-event sales-vs-prediction curve. frontend_status — UX-level event flag: DEFAULT, FLAGGED, HIDDEN. client_campaign_status — User’s pause/run toggle for an event’s Wave campaigns. campaign_optimisation_status — Whether Future Demand’s automated optimisation is active.

Auth

Cognito — AWS Cognito, the identity provider behind /auth/*. You don’t need a Cognito SDK; the Future Demand wrapper exposes everything you need. AccessToken — Short-lived (~1h) JWT used as Authorization: Bearer .... IdToken — JWT with the user’s claims, including cognito:groups. Decode to find which partners the user belongs to. RefreshToken — Long-lived token used to mint new access tokens. Does not rotate. Treat as a credential — server-side only. X-Preferred-Partner-Id — Per-request partner selector. Required on every authenticated call.

Lifecycle terms

Package status: INITIALIZING — Just created. Package status: INPROGRESS — Generation running. Package status: DONE — Ready to consume. Package status: EXPIRED — Past TTL. Use regenerate to refresh. Package status: FAILED — Terminal failure. Campaign setup: DRAFT — Editable, autosaved by the wizard. Campaign setup: PUBLISHED — Live on ad platforms. Edits go through POST /campaigns_setup, not the draft endpoint.

Hosts

Main APIhttps://client-api.prd.future-demand.com/api/v3. The bulk of endpoints. CR API — Customer Representation service. Separate host from client-api.* — ask your account contact for the URL. Used for event ingest (Event Editor, Simulation, Bulk Upload) and the second half of the status-update dance. Media host — Same hostname as the main API, but without the /v3 suffix (so https://client-api.prd.future-demand.com/api/media). Only used by POST /media.