---
title: "Update audience"
method: PUT
path: "/v1/audiences/{audience_id}"
tags: ["Audiences"]
---

# Update audience

`PUT /v1/audiences/{audience_id}`

Updates an existing audience. Only fields supplied in the body are changed; omitted fields are left untouched. Sending `null` for `name` returns `400 invalid_null` because `name` is a required attribute on the audience. Returns the updated audience.

## Path parameters

- `audience_id` string, required

## Request body

- AudienceUpdateRequest — Body of a `PUT /v1/audiences/{audience_id}` request.
  - `component_ids` string[]
  - `component_references` ComponentReferenceRequest[]
    - `component_id` string
    - `socket_names` string[]
  - `enabled` union — New enabled flag. Disabling an audience leaves the definition in place but prevents the runtime from evaluating it.
    - boolean — Static enabled
    - string — Handlebars expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
    - string — Javascript expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
  - `name` union — New display name. Same shape and 255-character cap as on `POST /v1/audiences`. Sending `null` returns `400 invalid_null` because `name` is required on the audience.
    - string — Handlebars expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
    - string — Javascript expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
  - `tags` string[] — Replaces the audience's tag set with the supplied set. Pass an empty set to clear all tags. Each tag must be 255 characters or fewer.

## Response `200`

Updated audience.

- AudienceResponse — Stored audience definition. Fields `name` and `enabled` are unevaluated and appear in buildtime-evaluatable form.
  - `component_ids` string[], required
  - `component_references` ComponentReferenceResponse[], required
    - `component_id` string
    - `socket_names` string[]
  - `enabled` union, required — Whether the audience is currently evaluated at runtime.
    - boolean — Literal enabled
    - string — Handlebars expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
    - string — Javascript expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
  - `id` string, required — Stable Extole identifier for the audience.
  - `name` union, required — Display name for the audience, in the same buildtime-evaluatable form that was supplied on create or update.
    - string — Handlebars expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
    - string — Javascript expression with [AudienceBuildtimeContext](https://github.com/extole/extole-specification/blob/main/openapi/expression-context/com/extole/api/audience/AudienceBuildtimeContext.d.ts).
  - `tags` string[], required — Free-form tags applied to the audience.

## Other responses

- `400` — Bad request. The named examples below cover the validation errors that are specific to this operation. Other 400 causes include malformed JSON, an empty request body, and an invalid `Time-Zone` header - inspect the response `code` field for the specific error.
- `401` — Unauthorized
- `402` — Payment Required
- `403` — Forbidden
- `415` — Unsupported Media Type
- `429` — Too Many Requests

---

[API](https://skmtc.net/extole/apis/integration-api-server-to-extole.md) · [All operations](https://skmtc.net/extole/apis/integration-api-server-to-extole/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/extole/integration-api-server-to-extole/revisions/c16e62e66755/schema)
