SequenceStates

Replace an enrollment's email overrides

Replaces the per-step email content overrides of a prospect that is already enrolled, using the same emailOverrides shape as POST /sequenceStates. Use this to refresh personalized content on an in-flight enrollment instead of removing and re-enrolling the prospect.

The request body is the complete set of overrides for the enrollment, not a merge:

  • A step in emailOverrides that already has an unsent email (the current step, or a step overridden earlier) has its subject and body rewritten in place. A field you omit (subject or body) reverts to the step's template, not to the previous override; on a step with no template it keeps its current value.
  • A step in emailOverrides with no email yet gets a pending email that is used when the enrollment reaches it.
  • An email step you leave out of emailOverrides loses any override it had: a not-yet-reached step goes back to sending the step's template, and the current step's unsent draft is reverted to the template's content. This includes edits a user made to that draft in the Nooks Outbox.

Only email steps can be overridden, and only the current step or later ones. Already-sent emails and AI-generated Play emails are never touched. The request is all-or-nothing: if any step is rejected, nothing is changed.

Listing the enrollment's tasks (GET /tasks?filter[prospect][id]=…&filter[sequence][id]=…) shows which not-yet-reached email steps already have a pending task, but not why: a pending task can come from an override or from an AI-generated Play email (which this request never touches), and unsent draft content is not returned by GET /emails (see that endpoint). Treat this request as declaring the full desired set of overrides rather than reading the current one back first.

Returns 409 if the enrollment is finished, or if the email for a step in emailOverrides has already been sent.

patch/sequenceStates/{id}

Request

  • Base URL: https://partner-api.nooks.in/v1
  • URL: https://partner-api.nooks.in/v1/sequenceStates/{id}
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://oauth.nooks.in/oauth/authorize, token URL https://oauth.nooks.in/oauth/token, scopes: sequence-states:write)

Path parameters

idstring uuid required

Unique identifier for the sequence state to update

Request body

Response

Overrides applied; returns the current sequence state

idstring uuid required

Unique identifier for the sequence state

state'active' | 'paused' | 'finished' | 'pending_start' required

Current state of the enrollment:

  • active: Prospect is actively progressing through the sequence
  • paused: Enrollment is temporarily paused
  • finished: Enrollment has completed or been stopped
  • pending_start: Enrolled but queued behind the sequence's start throttle; no tasks exist yet and nothing has been sent
createdAtstring date-time required

When the enrollment was created

updatedAtstring date-time required

When the enrollment was last updated

Example response

{
  "id": "880e8400-e29b-41d4-a716-446655440010",
  "state": "active",
  "sequence": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "_href": "/v1/sequences/550e8400-e29b-41d4-a716-446655440000"
  },
  "prospect": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "_href": "/v1/sequences/550e8400-e29b-41d4-a716-446655440000"
  },
  "account": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "_href": "/v1/sequences/550e8400-e29b-41d4-a716-446655440000"
  },
  "creator": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "_href": "/v1/sequences/550e8400-e29b-41d4-a716-446655440000"
  },
  "owner": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "_href": "/v1/sequences/550e8400-e29b-41d4-a716-446655440000"
  },
  "sequenceStep": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "_href": "/v1/sequences/550e8400-e29b-41d4-a716-446655440000"
  },
  "createdAt": "2025-11-01T10:00:00.000Z",
  "updatedAt": "2025-11-05T14:30:00.000Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.