> ## Documentation Index
> Fetch the complete documentation index at: https://developers.kit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a sequence email

> Updates any field on a sequence email — `subject`, `preview_text`, `content`, `delay_value`, `delay_unit`, `send_days`, `position`, `email_template_id`, or `published`. Only fields included in the request body change; everything else is preserved.

**Note:** pass `send_days: null` to revert a per-email schedule override and inherit the parent sequence's `send_days` again. The response will then return all 7 days, indicating no per-email restriction.

**Warning:** sending `send_days` on an email with `delay_unit: "hours"` returns `422` — `send_days` only applies to day-based emails.

**Warning:** changing `position` while subscribers are actively progressing through the sequence can cause emails to be sent out of order or skipped. The same caution applies to flipping `published` on a `position: 0` email — it triggers Kit to process all queued subscribers for that email.

For the sequence-email model and how `delay_unit` and `send_days` interact, see [Create a sequence email](/api-reference/sequence-emails/create-a-sequence-email).



## OpenAPI

````yaml /api-reference/v4.json put /v4/sequences/{sequence_id}/emails/{id}
openapi: 3.0.3
info:
  title: Kit API
  version: '4.0'
servers:
  - url: https://api.kit.com
security: []
paths:
  /v4/sequences/{sequence_id}/emails/{id}:
    put:
      tags:
        - Sequence Emails
      summary: Update a sequence email
      description: >-
        Updates any field on a sequence email — `subject`, `preview_text`,
        `content`, `delay_value`, `delay_unit`, `send_days`, `position`,
        `email_template_id`, or `published`. Only fields included in the request
        body change; everything else is preserved.


        **Note:** pass `send_days: null` to revert a per-email schedule override
        and inherit the parent sequence's `send_days` again. The response will
        then return all 7 days, indicating no per-email restriction.


        **Warning:** sending `send_days` on an email with `delay_unit: "hours"`
        returns `422` — `send_days` only applies to day-based emails.


        **Warning:** changing `position` while subscribers are actively
        progressing through the sequence can cause emails to be sent out of
        order or skipped. The same caution applies to flipping `published` on a
        `position: 0` email — it triggers Kit to process all queued subscribers
        for that email.


        For the sequence-email model and how `delay_unit` and `send_days`
        interact, see [Create a sequence
        email](/api-reference/sequence-emails/create-a-sequence-email).
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
          example: 67
        - name: sequence_id
          in: path
          required: true
          schema:
            type: integer
          example: 188
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                subject:
                  type: string
                  description: New subject line for the email
                preview_text:
                  type: string
                  nullable: true
                  description: >-
                    New preview text shown in email clients before the email is
                    opened
                content:
                  type: string
                  nullable: true
                  description: New HTML body content of the email
                delay_value:
                  type: integer
                  description: New delay value
                delay_unit:
                  type: string
                  enum:
                    - days
                    - hours
                  description: >-
                    New delay unit. Use `days` for schedule-aware delivery,
                    `hours` for a fixed hourly delay
                email_template_id:
                  type: integer
                  nullable: true
                  description: >-
                    New email template ID for layout and styling. Pass `null` to
                    clear
                published:
                  type: boolean
                  description: >-
                    Pass `true` to publish a draft email or `false` to unpublish
                    it
                send_days:
                  type: array
                  nullable: true
                  items:
                    type: string
                  description: >-
                    Days of the week this email may be sent. Pass a subset to
                    restrict delivery, or `null` to reset to all days (inherits
                    the sequence schedule)
                position:
                  type: integer
                  nullable: true
                  description: New zero-based position of the email in the sequence
            example:
              subject: Updated subject
              preview_text: Updated preview
              content: null
              delay_value: 3
              delay_unit: days
              email_template_id: null
              published: true
              send_days:
                - monday
                - wednesday
                - friday
              position: null
      responses:
        '200':
          description: Updates the sequence email and returns its details
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: object
                    properties:
                      id:
                        type: integer
                      sequence_id:
                        type: integer
                      subject:
                        type: string
                      preview_text:
                        type: string
                      email_address:
                        type: string
                      email_template_id:
                        nullable: true
                      published:
                        type: boolean
                      position:
                        nullable: true
                      delay_value:
                        type: integer
                      delay_unit:
                        type: string
                      send_days:
                        type: array
                        items:
                          type: string
                      content:
                        type: string
                        nullable: true
                    required:
                      - id
                      - sequence_id
                      - subject
                      - preview_text
                      - email_address
                      - email_template_id
                      - published
                      - position
                      - delay_value
                      - delay_unit
                      - send_days
                      - content
                required:
                  - email
              example:
                email:
                  id: 66
                  sequence_id: 187
                  subject: Updated subject
                  preview_text: Updated preview
                  email_address: joe2536@ck.lol
                  email_template_id: null
                  published: true
                  position: null
                  delay_value: 3
                  delay_unit: days
                  send_days:
                    - monday
                    - wednesday
                    - friday
                  content: Content 37
        '401':
          description: Returns a 401 if the token and/or account cannot be authenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: string
                required:
                  - errors
              example:
                errors:
                  - The access token is invalid
        '404':
          description: Returns a 404 when the provided id does not exist
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: string
                required:
                  - errors
              example:
                errors:
                  - Not Found
        '422':
          description: >-
            Returns a 422 with an error message when one or more of the
            parameters were invalid
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: string
                required:
                  - errors
              example:
                errors:
                  - 'delay_unit must be one of: days, hours'
      security:
        - API Key: []
        - OAuth2: []
components:
  securitySchemes:
    API Key:
      description: Authenticate API requests via an API Key
      type: apiKey
      in: header
      name: X-Kit-Api-Key
    OAuth2:
      description: Authenticate API requests via an OAuth token
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.kit.com/v4/oauth/authorize
          tokenUrl: https://api.kit.com/v4/oauth/token
          refreshUrl: https://api.kit.com/v4/oauth/token
          scopes:
            read: Read access to Kit API v4
            write: Write access to Kit API v4

````