Skip to main content
POST
/
workflow
/
{workflow_id}
/
enrollments
/
add
Enroll/Remove Contacts in Workflow
curl --request POST \
  --url https://api.getoutbox.ai/workflow/{workflow_id}/enrollments/add/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "contact_ids": "<unknown>",
  "filters": "<unknown>",
  "limit": 123,
  "scheduled_at": "<string>",
  "timezone": "<string>"
}
'
{
  "added": 123,
  "skipped": 123,
  "total_matching": 123
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

workflow_id
string<uuid>
required

Query Parameters

testing
boolean
default:false

When true, bypass the duplicate-enrollment guard.

Body

contact_id
string<uuid>
contact_ids
any

Array of UUIDs, or the literal string "all".

filters
any

Advanced contact filter; only applied when contact_ids="all".

limit
integer
scheduled_at
string

Local ISO datetime (e.g. 2026-03-15T14:30:00).

Minimum string length: 1
timezone
string

IANA timezone for scheduled_at. Required when scheduled_at is provided.

Minimum string length: 1

Response

added
integer
required
skipped
integer
required

Sum of contacts not found and contacts already enrolled.

total_matching
integer