---
title: "Trigger Sequence Audience Enrollment"
method: POST
path: "/api/sequences/{sequence_id}/audience/enrollment"
tags: ["sequences"]
---

# Trigger Sequence Audience Enrollment

`POST /api/sequences/{sequence_id}/audience/enrollment`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/sequences/{sequence_id}/audience/enrollment`
- Auth: one of:
  - HTTP bearer and API key in header `x-flage-org-id`
  - HTTP bearer and API key in header `x-flage-org-slug`

Queue an audience-enrollment workflow run for the published revision.

Works as:
- Initial enroll: no prior run exists.
- Re-enroll: prior run terminated (succeeded or failed) and the user
  wants to run enrollment again over the full materialized audience.

The activity itself decides who's actually eligible (skips already-
enrolled contacts via ``enrollment_metadata_jsonb`` look-ups), so
callers don't need to pre-filter. We use the total materialized
audience for the queued_summary so the UI shows the real ceiling.

## Path parameters

- `sequence_id` string, required

## Response `200`

Successful Response

- SequenceAudienceEnrollmentStatusPayload: Durable campaign audience-enrollment workflow status.
  - `is_terminal` boolean, required: Whether enrollment reached a terminal state.
  - `revision_id` string, required: Immutable campaign revision used for enrollment.
  - `sequence_id` string, required: Campaign receiving audience enrollment.
  - `workflow_error` string, nullable: Sanitized terminal enrollment error.
  - `workflow_id` string, required: Durable enrollment workflow id.
  - `workflow_phase` string, required: Current enrollment phase.
  - `workflow_progress_current` integer, required: Audience rows processed.
  - `workflow_progress_total` integer, required: Audience rows known to require processing.
  - `workflow_summary` SequenceAudienceEnrollmentWorkflowSummaryPayload: Incremental enrollment counts; empty before the first progress update.
    - `duplicate_count` integer: Rows suppressed as duplicates.
    - `enrolled_count` integer: Rows admitted to campaign runtime.
    - `failed_count` integer: Rows whose enrollment processing failed.
    - `not_eligible_count` integer: Rows rejected by eligibility policy.
    - `pending_count` integer: Audience rows still awaiting classification.
    - `processed_count` integer: Audience rows already classified.
    - `total_count` integer: Audience rows considered by the workflow.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract.md) - [All operations](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/llms.txt) - [OpenAPI document](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/revisions/c80e903ef8f3?raw)
