# 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](/concepts/datasets) by selecting filters from
[reference data](/guides/working-with-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 Completed
```

## Activation

An **activation** is the act of *delivering* a completed audience to a
destination - one of your [endpoint connections](/concepts/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 Completed
```

## The relationship

```
reference data  ->  audience  ->  activation  ->  datastream results
   (pick ids)      (the who)     (the where)        (the output)
```

1. Read [reference data](/guides/working-with-reference-data) to get the ids and
   values your dataset's filters expect.
2. [Create an audience](/guides/create-an-audience) and poll it to `Completed`.
3. [Activate it](/guides/activate-an-audience) to an endpoint connection and poll
   it to `Completed`.
4. Read the `datastreams[].results.uri` from the activation.

{{< callout type="info" >}}
An audience can be activated many times, to different destinations. One audience,
many activations.
{{< /callout >}}

## 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](/concepts/async-model) for how the create-then-poll
lifecycle works for both.
