Trigger a flow for a contact
Fire the flow’s tented_api trigger for one contact, enrolling them with optional tokens stored as dynamic context and usable as {{campaign.dynamic.<key>}} merge tokens. Identify the contact with exactly one of contact_id, email, or phone — email and phone are looked up against existing contacts (404 contact_not_found when no match). Fails with 409 flow_api_trigger_not_configured when the flow has no tented_api trigger, and with 400 when tokens don’t match the trigger’s declared fields (campaign_flow_trigger_unknown_token, campaign_flow_trigger_invalid_token_type) or the resolved context exceeds 64 KB (campaign_flow_trigger_payload_too_large). Enrollment conflicts mirror the add-contact endpoint (campaign_flow_already_in_flow, campaign_flow_reentry_denied, campaign_flow_not_active).
Authorizations
Workspace API key, e.g. Authorization: Bearer tented_.... Create keys in Workspace Settings → API Keys.
Path Parameters
Flow ID.
Body
Existing contact ID. Provide exactly one of contact_id, email, or phone.
Contact email, looked up against existing contacts.
Contact phone, normalized and looked up against existing contacts.
Campaign token values keyed by name, validated against the fields declared on the flow’s tented_api trigger. Keys must start with a letter and contain only letters, numbers, and underscores; trigger is reserved. Values are JSON scalars (date fields take ISO 8601 strings).
Response
Contact enrolled (entry_source is trigger).