Create a participant
Create a participant, or update if external_id already exists (upsert).
Creates a new participant identified by yourDocumentation Index
Fetch the complete documentation index at: https://docs.scrip.dev/llms.txt
Use this file to discover all available pages before exploring further.
external_id. Tags, attributes, profile fields (email, phone, first_name, last_name, display_name), and initial status can be set in the same call. Status defaults to ACTIVE. Counters and tiers cannot be set at creation. They are managed through their dedicated endpoints or automatically by rules during event processing.
Pass program_id to enroll the participant in a program at creation time. Event ingestion automatically enrolls existing participants in the target program, so pre-enrolling here is optional. If your program’s on_unknown_participant is set to CREATE, new participants are also created automatically on their first event.
If a participant with the same external_id already exists, the call behaves as an upsert and updates the existing record rather than returning an error.
Authorizations
API key passed in the X-API-Key header.
Body
Participant details
Your application's identifier for this user. Upserts if it already exists
1 - 255"user_abc123"
Key-value metadata. Each key is accessible in rules as participant.attributes.{key}
{ "plan": "premium", "region": "us-east" }Display name
255"Jane Doe"
Contact email
255"jane@example.com"
First name
255"Jane"
Last name
255"Doe"
Contact phone
50"+15551234567"
Program to enroll this participant in on creation
"550e8400-e29b-41d4-a716-446655440000"
Initial lifecycle state. Defaults to ACTIVE
ACTIVE, SUSPENDED, CLOSED "ACTIVE"
Labels for segmentation, accessible in rules as participant.tags
["vip"]Response
Participant updated (already existed)
Key-value metadata. Each key is accessible in rules as participant.attributes.{key}
{ "plan": "premium", "region": "us-east" }Current balances per asset, split by bucket
Numeric accumulators, returned as strings for precision
{
"points_earned": "1500",
"purchases": "42"
}When the participant was created
"2024-01-15T10:30:00Z"
Display name
"Jane Doe"
Contact email
"jane@example.com"
Your application's identifier for this user
"user_123"
First name
"Jane"
Participant ID
"550e8400-e29b-41d4-a716-446655440000"
Last name
"Doe"
Contact phone
"+15551234567"
Programs this participant is enrolled in
["550e8400-e29b-41d4-a716-446655440000"]Lifecycle state
"ACTIVE"
Labels for segmentation, accessible in rules as participant.tags
["vip"]Current tier level per tier type
{ "loyalty": { "level": "gold", "rank": 2 } }When the participant was last modified
"2024-01-15T10:30:00Z"