---
title: "sequence.updateStage"
method: POST
path: "/sequence.updateStage"
tags: ["Sequence"]
---

# sequence.updateStage

`POST /sequence.updateStage`

> Beta
>
> This endpoint is in beta and may not be available for all organizations.

Replaces the supplied subject or HTML body of one email stage in a not-started sourcing sequence. At least one of subject or bodyHtml is required. The reusable sequence template is not changed.

Subject is plain text. bodyHtml may preserve, move, repeat, or remove the Ashby token markers returned by sequence.info or sequence.add. Token identity and final send-time values remain controlled by Ashby; unknown or malformed token markers return invalid_input.

Drafts are editable only by the acting user who created them, so requests made with x-on-behalf-of must continue using the same user. Returns sequence_not_found for an inaccessible sequence.

**Requires the [`sourcingWrite`](authentication#permissions-sequenceupdatestage) permission.**

## Request body

- SequenceUpdateStageRequest
  - `sequenceId` string, uuid, required — The unique identifier for the sequence enrollment
  - `stageId` string, uuid, required — The unique identifier for the email stage to update
  - `subject` string — A plain-text subject that replaces the stage's current subject
  - `bodyHtml` string — HTML that replaces the stage's current body. Preserve Ashby token markers to keep their send-time values dynamic.

## Response `200`

Responses from the sequence.updateStage endpoint

- union
  - SequenceUpdateStageSuccessResponse
    - `success` true, required
    - `results` SequenceStage, required
      - `id` string, uuid, required — The unique identifier for this sequence stage
      - `type` 'Email' | 'InMail' | 'LinkedInConnection', required
      - `from` SequenceSender
        - `email` string, email, required — The address used to send this stage
        - `displayName` string, nullable, required — The sender display name configured by Ashby, when one is available
      - `subject` string — The resolved subject for an editable, not-started email stage
      - `bodyHtml` string — The editable HTML body for a not-started email stage. Ashby token markers must be preserved when editing.
      - `sendAfter` union, required — The delay before this stage is sent
        - object
          - `kind` 'NoDelay', required
        - object
          - `kind` 'AtDateAndTime', required
          - `dateTime` string, date-time, required — The absolute date and time when the stage is sent
          - `timezone` string, required — The IANA timezone used for the scheduled date and time
        - object
          - `kind` 'TimeIntervalElapsed', required
          - `amount` integer, required — The number of delay units to wait after the previous stage
          - `unit` 'day' | 'week' | 'month' | 'quarter' | 'year', required — The unit for the elapsed delay
          - `time` string, required — The local send time in 24-hour HH:mm format
          - `timezone` string, required — The IANA timezone used for the local send time
          - `allowedWeekdays` integer[], required — Allowed send weekdays using ISO numbering, where Monday is 1 and Sunday is 7
  - ErrorResponse
    - `success` false, required
    - `errors` ErrorDetail[], required
      - `message` string, required
      - `parameter` string

---

[API](https://skmtc.net/ashbyhq/apis/ashby-api.md) · [All operations](https://skmtc.net/ashbyhq/apis/ashby-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ashbyhq/ashby-api/revisions/778b919dc743/schema)
