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 API —https://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.