---
title: "Enroll Contact List Members"
method: POST
path: "/v1/contact-lists/{contact_list_id}/enroll"
tags: ["contacts"]
---

# Enroll Contact List Members

`POST /v1/contact-lists/{contact_list_id}/enroll`

Enroll many contacts of a list into a sequence template in one call.

Unlike `POST /v1/sequences`, which enrolls a single contact and fails on any
conflict, this reports per-outcome counts and applies `conflict_strategy` to
contacts already enrolled or recently contacted, so a large enrollment does
not stop at the first one that cannot start.

Requires the `sequences:write` scope on the API key.

## Path parameters

- `contact_list_id` string, uuid, required

## Request body

- EnrollContactListPublicInput
  - `sequence_template_id` string, uuid, required — Sequence template to enroll the contacts into.
  - `contact_ids` string[], required — Contacts to enroll. Any id that is not a contact of this workspace is skipped.
  - `conflict_strategy` 'SKIP' | 'ADD_IF_ALL_COMPLETED' | 'ADD_ANYWAY' | 'REPLACE'
  - `reenroll_cooldown_days` integer, nullable — How many days to wait before a contact can be enrolled again. Omit to use the workspace default.

## Response `200`

Successful Response

- EnrollContactListPublicOutput
  - `enrolled_count` integer, required — Contacts enrolled.
  - `skipped_count` integer, required — Contacts left alone, because the id is unknown here or the conflict strategy said to skip them.
  - `replaced_count` integer, required — Contacts whose existing sequence was replaced.
  - `enrolled_contact_ids` string[], required — Contacts that were enrolled.
  - `created_sequence_ids` string[], required — Sequence runs started by this call.

---

[API](https://skmtc.net/topo/apis/topo-public-api.md) · [All operations](https://skmtc.net/topo/apis/topo-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/topo/topo-public-api/revisions/ad6ac1d13526/schema)
