mndrAPI Docs
Sequences

Trigger

Upsert a contact and enroll them in a sequence in a single call.

POST /api/v1/sequences/:id/trigger

The most common integration endpoint. Upserts a contact and enrolls them in the sequence atomically. The sequence must be in active status.

Parameters

ParameterTypeRequiredDescription
contact.emailstringYesContact email address
contact.phonestringNoPhone number
contact.firstNamestringNoFirst name
contact.lastNamestringNoLast name
contact.tagsstring[]NoTags to set on the contact
contact.customFieldsobjectNoCustom field key-value pairs
contact.emailSubscriptionStatus"subscribed" | "unsubscribed"NoDefaults to "subscribed"
contact.whatsappSubscriptionStatus"subscribed" | "unsubscribed"NoDefaults to "subscribed"

Example

Request
curl -X POST /api/v1/sequences/SEQUENCE_ID/trigger \
  -H "x-api-key: mndr_..." \
  -H "Content-Type: application/json" \
  -d '{
  "contact": {
    "email": "jane@example.com",
    "firstName": "Jane",
    "tags": ["new-customer"]
  }
}'

Responses

All responses return 202 Accepted:

Enrolled successfully
{
  "enrolled": true,
  "contactId": "uuid",
  "runId": "uuid"
}
Contact already has an active run
{
  "enrolled": false,
  "reason": "active_run_exists",
  "contactId": "uuid"
}
Sequence limit reached
{
  "enrolled": false,
  "reason": "sequence_limit_reached",
  "message": "Active sequence limit reached."
}

Error Responses

StatusMeaning
404Sequence not found
409Sequence is not active

On this page