Audiences vs Activations
The two core write resources are audiences and activations. They are created in sequence: you build an audience, then you activate it. Keeping the two straight is the key to the whole API.
Audience
An audience is a definition of who you want to reach. You build it against one or two datasets by selecting filters from reference data. When you submit it, the platform resolves those filters into a population and counts the matching devices asynchronously.
An audience does not send anyone anywhere. It is just the saved, processed definition of a group - reusable, and the input to an activation.
POST /api/v2/analyses/audiences/create # build it
GET /api/v2/analyses/audiences/{id} # poll until CompletedActivation
An activation is the act of delivering a completed audience to a destination - one of your endpoint connections at a partner (the place that receives the data). You pick the audience, the endpoint connection, the pricing model, and optionally supply credentials, and the platform streams the result to that destination asynchronously.
POST /api/v2/analyses/activations/create # deliver an audience
GET /api/v2/analyses/activations/{id} # poll until CompletedThe relationship
reference data -> audience -> activation -> datastream results
(pick ids) (the who) (the where) (the output)- Read reference data to get the ids and values your dataset’s filters expect.
- Create an audience and poll it to
Completed. - Activate it to an endpoint connection and poll
it to
Completed. - Read the
datastreams[].results.urifrom the activation.
Why they are separate
- Reuse. Build the audience once; activate it repeatedly to different partners without rebuilding.
- Cost. Pricing is attached at activation time (the pricing model), not at audience-build time.
- Safety. Building an audience is non-destructive and free of credentials. Credentials and delivery only enter the picture at activation.
See The Async Model for how the create-then-poll lifecycle works for both.