---
title: "Preview a replacement audience before choosing how existing journeys continue"
method: GET
path: "/sequences/{sequence_id}/audience/replacement-preview/"
tags: ["sequences"]
---

# Preview a replacement audience before choosing how existing journeys continue

`GET /sequences/{sequence_id}/audience/replacement-preview/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/sequences/{sequence_id}/audience/replacement-preview/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Reads the table or saved view the sequence would draw from, the way enrolment would after the change, and says for each choice (keep existing journeys, or start them fresh) how many contacts are added, removed and not changed. On the same table, keeping journeys applies the new filter: contacts it no longer selects stop. Writes nothing.

## Path parameters

- `sequence_id` string, uuid, required

## Query parameters

- `table_id` string, uuid, required
- `view_id` string, uuid, nullable

## Response `200`

Successful Response

- AudienceReplacementPreviewReadSchema
  - `already_present` integer, required
  - `capped` boolean, required
  - `duplicate_rows` integer, required
  - `existing_contacts` integer, required
  - `in_cooldown` integer, required
  - `in_other_sequence` integer, required
  - `keep` AudienceDiffReadSchema, required: What an audience change does to who is in progress: pending, active, waiting or paused.
    - `added` integer, required: Contacts in progress after the change who are not now: new contacts, contacts back where they left off, and when starting fresh everyone who starts at step one. When the counts are capped, the new contacts are only the rows read: at least this many.
    - `not_changed` integer, required: Every other contact already in the sequence. Exact.
    - `pauses_sending` boolean, required: Applying it pauses a running sequence first. A filter change never does.
    - `removed` integer, required: Contacts in progress now who stop, reading Left the audience. Exact at any table size.
  - `missing_contact` integer, required
  - `new_contacts` integer, required
  - `ongoing_contacts` integer, required
  - `outside_selection` integer, nullable, required
  - `previously_contacted` integer, required
  - `restart` AudienceDiffReadSchema, required: What an audience change does to who is in progress: pending, active, waiting or paused.
    - `added` integer, required: Contacts in progress after the change who are not now: new contacts, contacts back where they left off, and when starting fresh everyone who starts at step one. When the counts are capped, the new contacts are only the rows read: at least this many.
    - `not_changed` integer, required: Every other contact already in the sequence. Exact.
    - `pauses_sending` boolean, required: Applying it pauses a running sequence first. A filter change never does.
    - `removed` integer, required: Contacts in progress now who stop, reading Left the audience. Exact at any table size.
  - `restart_blocked` integer, required
  - `restart_ready` integer, required
  - `same_table` boolean, required: The sequence already reads this table. Keeping journeys then applies the new filter to its contacts: those it no longer selects stop.
  - `selected_rows` integer, required
  - `source` string, required
  - `suppressed` integer, required
  - `updated_at` string, date-time, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found.
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
