Sequences

Bulk enroll people in a sequence

Enrolls up to 500 people. Partial success is allowed. Requires a USER API key. enrollerUserId applies to every Person in the batch — see the single-enroll endpoint for the on-behalf-of semantics and error codes. Unlike per-Person outcomes, an invalid enrollerUserId fails the whole request (checked once before the batch runs).

post/public/v1/sequences/{sequenceId}/enrollments/bulk

Path parameters

sequenceIdnumber nullable
Example:101

Headers

idempotency-keystring
Example:example value

Request body

personRowIdsstring[] required
senderConnectedAccountIdinteger
overrideConflictboolean
overrideDoNotContactboolean
enrollerUserIdinteger

Example request

{
  "personRowIds": [
    "example"
  ],
  "senderConnectedAccountId": 1,
  "enrollerUserId": 1
}

Response

Previously completed idempotent bulk enrollment

Example response

{
  "created": [
    {
      "id": 1,
      "accountId": 1,
      "sequenceId": 1,
      "personRowId": "example",
      "snapshotId": "example",
      "sourceSnapshotId": "example",
      "snapshotPinnedAt": "example",
      "currentNodeId": "example",
      "status": "ACTIVE",
      "blockedOn": "NONE",
      "nextExecutionAt": "example",
      "enrolledByUserId": 1,
      "senderConnectedAccountId": 1,
      "startedAt": "example",
      "lastAdvancedAt": "example",
      "exitedAt": "example",
      "completedAt": "example",
      "pausedAt": "example",
      "removedAt": "example",
      "exitReason": "example",
      "exitNote": "example",
      "exitedByUserId": 1,
      "failureReason": "example",
      "failureCode": "example",
      "createdAt": "example",
      "updatedAt": "example",
      "enrolledByUser": {
        "id": 1,
        "firstName": "example",
        "lastName": "example",
        "email": "user@example.com",
        "avatar": "example"
      },
      "exitedByUser": {
        "id": 1,
        "firstName": "example",
        "lastName": "example",
        "email": "user@example.com",
        "avatar": "example"
      }
    }
  ],
  "skipped": [
    {
      "personRowId": "example",
      "reason": "example",
      "instance": {
        "id": 1,
        "accountId": 1,
        "sequenceId": 1,
        "personRowId": "example",
        "snapshotId": "example",
        "sourceSnapshotId": "example",
        "snapshotPinnedAt": "example",
        "currentNodeId": "example",
        "status": "ACTIVE",
        "blockedOn": "NONE",
        "nextExecutionAt": "example",
        "enrolledByUserId": 1,
        "senderConnectedAccountId": 1,
        "startedAt": "example",
        "lastAdvancedAt": "example",
        "exitedAt": "example",
        "completedAt": "example",
        "pausedAt": "example",
        "removedAt": "example",
        "exitReason": "example",
        "exitNote": "example",
        "exitedByUserId": 1,
        "failureReason": "example",
        "failureCode": "example",
        "createdAt": "example",
        "updatedAt": "example",
        "enrolledByUser": {
          "id": 1,
          "firstName": "example",
          "lastName": "example",
          "email": "user@example.com",
          "avatar": "example"
        },
        "exitedByUser": {
          "id": 1,
          "firstName": "example",
          "lastName": "example",
          "email": "user@example.com",
          "avatar": "example"
        }
      },
      "conflictSequence": {
        "id": 1,
        "name": "example",
        "status": "LIVE"
      },
      "activeCount": 1,
      "maxAllowed": 1,
      "activeInstances": [
        {
          "instanceId": 1,
          "sequenceId": 1,
          "sequenceName": "example"
        }
      ]
    }
  ],
  "conflicts": [
    {
      "personRowId": "example",
      "reason": "example",
      "instance": {
        "id": 1,
        "accountId": 1,
        "sequenceId": 1,
        "personRowId": "example",
        "snapshotId": "example",
        "sourceSnapshotId": "example",
        "snapshotPinnedAt": "example",
        "currentNodeId": "example",
        "status": "ACTIVE",
        "blockedOn": "NONE",
        "nextExecutionAt": "example",
        "enrolledByUserId": 1,
        "senderConnectedAccountId": 1,
        "startedAt": "example",
        "lastAdvancedAt": "example",
        "exitedAt": "example",
        "completedAt": "example",
        "pausedAt": "example",
        "removedAt": "example",
        "exitReason": "example",
        "exitNote": "example",
        "exitedByUserId": 1,
        "failureReason": "example",
        "failureCode": "example",
        "createdAt": "example",
        "updatedAt": "example",
        "enrolledByUser": {
          "id": 1,
          "firstName": "example",
          "lastName": "example",
          "email": "user@example.com",
          "avatar": "example"
        },
        "exitedByUser": {
          "id": 1,
          "firstName": "example",
          "lastName": "example",
          "email": "user@example.com",
          "avatar": "example"
        }
      },
      "conflictSequence": {
        "id": 1,
        "name": "example",
        "status": "LIVE"
      },
      "activeCount": 1,
      "maxAllowed": 1,
      "activeInstances": [
        {
          "instanceId": 1,
          "sequenceId": 1,
          "sequenceName": "example"
        }
      ]
    }
  ],
  "blocked": [
    {
      "personRowId": "example",
      "reason": "example",
      "instance": {
        "id": 1,
        "accountId": 1,
        "sequenceId": 1,
        "personRowId": "example",
        "snapshotId": "example",
        "sourceSnapshotId": "example",
        "snapshotPinnedAt": "example",
        "currentNodeId": "example",
        "status": "ACTIVE",
        "blockedOn": "NONE",
        "nextExecutionAt": "example",
        "enrolledByUserId": 1,
        "senderConnectedAccountId": 1,
        "startedAt": "example",
        "lastAdvancedAt": "example",
        "exitedAt": "example",
        "completedAt": "example",
        "pausedAt": "example",
        "removedAt": "example",
        "exitReason": "example",
        "exitNote": "example",
        "exitedByUserId": 1,
        "failureReason": "example",
        "failureCode": "example",
        "createdAt": "example",
        "updatedAt": "example",
        "enrolledByUser": {
          "id": 1,
          "firstName": "example",
          "lastName": "example",
          "email": "user@example.com",
          "avatar": "example"
        },
        "exitedByUser": {
          "id": 1,
          "firstName": "example",
          "lastName": "example",
          "email": "user@example.com",
          "avatar": "example"
        }
      },
      "conflictSequence": {
        "id": 1,
        "name": "example",
        "status": "LIVE"
      },
      "activeCount": 1,
      "maxAllowed": 1,
      "activeInstances": [
        {
          "instanceId": 1,
          "sequenceId": 1,
          "sequenceName": "example"
        }
      ]
    }
  ]
}

Changes

Changed in 1 of the 2 revisions of this API.1