> ## 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.

# Create a sequence

> Creates an empty sequence — the container that holds sequence emails. After creating the shell, use [Create a sequence email](/api-reference/sequence-emails/create-a-sequence-email) to populate it.

Only `name` is required. Every other field has a sensible default: Kit fills in the account's default sending address, a daily send schedule, and the account time zone — and any of these can be tuned later via [Update a sequence](/api-reference/sequences/update-a-sequence).

Two behavioural toggles worth flagging up front. `repeat` controls whether a subscriber can re-enter the sequence: by default a subscriber receives the emails once and is marked complete, but with `repeat: true`, re-adding the same subscriber via a Visual Automation, Rule, Bulk Action, or Import resets their position to the start. Filters and exclusions still apply across restarts. `hold` (evergreen) keeps subscribers active in the sequence after they've received every published email — useful when you plan to add more emails later. Without `hold`, subscribers transition to Completed and won't pick up future additions.

`exclude_subscriber_sources` lets you exclude subscribers acquired via specific tags, sequences, forms, or segments — they'll skip this sequence entirely.

For end-user context, see the help articles on [creating and sending a sequence](https://help.kit.com/en/articles/2502629-creating-and-sending-a-sequence-in-kit), [restarting a sequence](https://help.kit.com/en/articles/5022528-restart-a-sequence), and [holding subscribers in evergreen sequences](https://help.kit.com/en/articles/5192801-how-to-hold-subscribers-in-evergreen-sequences).



## OpenAPI

````yaml /api-reference/v4.json post /v4/sequences
openapi: 3.0.3
info:
  title: Kit API
  version: '4.0'
servers:
  - url: https://api.kit.com
security: []
paths:
  /v4/sequences:
    post:
      tags:
        - Sequences
      summary: Create a sequence
      description: >-
        Creates an empty sequence — the container that holds sequence emails.
        After creating the shell, use [Create a sequence
        email](/api-reference/sequence-emails/create-a-sequence-email) to
        populate it.


        Only `name` is required. Every other field has a sensible default: Kit
        fills in the account's default sending address, a daily send schedule,
        and the account time zone — and any of these can be tuned later via
        [Update a sequence](/api-reference/sequences/update-a-sequence).


        Two behavioural toggles worth flagging up front. `repeat` controls
        whether a subscriber can re-enter the sequence: by default a subscriber
        receives the emails once and is marked complete, but with `repeat:
        true`, re-adding the same subscriber via a Visual Automation, Rule, Bulk
        Action, or Import resets their position to the start. Filters and
        exclusions still apply across restarts. `hold` (evergreen) keeps
        subscribers active in the sequence after they've received every
        published email — useful when you plan to add more emails later. Without
        `hold`, subscribers transition to Completed and won't pick up future
        additions.


        `exclude_subscriber_sources` lets you exclude subscribers acquired via
        specific tags, sequences, forms, or segments — they'll skip this
        sequence entirely.


        For end-user context, see the help articles on [creating and sending a
        sequence](https://help.kit.com/en/articles/2502629-creating-and-sending-a-sequence-in-kit),
        [restarting a
        sequence](https://help.kit.com/en/articles/5022528-restart-a-sequence),
        and [holding subscribers in evergreen
        sequences](https://help.kit.com/en/articles/5192801-how-to-hold-subscribers-in-evergreen-sequences).
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the sequence.
                email_address:
                  type: string
                  description: >-
                    The sending email address to use. Uses the account's sending
                    email address if not provided.
                email_template_id:
                  type: integer
                  description: Id of the email template to use.
                send_days:
                  type: array
                  items:
                    type: string
                  description: >-
                    The days of the week to send the sequence on. Must be one
                    of: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`,
                    `saturday`, `sunday`.
                send_hour:
                  type: integer
                  description: >-
                    The hour of the day to send the sequence at. Must be an
                    integer between 0 and 23.
                time_zone:
                  type: string
                  description: >-
                    The timezone to use for the sequence. Must be a valid IANA
                    timezone string.
                active:
                  type: boolean
                  description: '`true` to activate the sequence, `false` to deactivate it.'
                repeat:
                  type: boolean
                  description: >-
                    When `true`, subscribers can restart the sequence multiple
                    times.
                hold:
                  type: boolean
                  description: >-
                    When `true`, subscribers added via Visual Automations stay
                    in the sequence after receiving the last email.
                exclude_subscriber_sources:
                  type: array
                  description: The subscriber sources to exclude from the sequence.
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: >-
                          The type of subscriber source to exclude. Must be one
                          of: `tag`, `sequence`, `form`, `segment`.
                      ids:
                        type: array
                        items:
                          type: integer
                          description: The ids of the subscriber sources to exclude.
                    required:
                      - type
                      - ids
            example:
              name: Full Series
              email_address: joe927@ck.lol
              email_template_id: 11
              send_days:
                - monday
                - wednesday
                - friday
              send_hour: 9
              time_zone: America/Los_Angeles
              active: true
              repeat: true
              hold: true
              exclude_subscriber_sources:
                - type: tag
                  ids:
                    - 2
                - type: sequence
                  ids:
                    - 29
      responses:
        '201':
          description: Creates a new sequence
          content:
            application/json:
              schema:
                type: object
                properties:
                  sequence:
                    type: object
                    properties:
                      id:
                        type: integer
                      name:
                        type: string
                      hold:
                        type: boolean
                      repeat:
                        type: boolean
                      created_at:
                        type: string
                      updated_at:
                        type: string
                      email_address:
                        type: string
                      email_template_id:
                        type: integer
                      send_days:
                        type: array
                        items:
                          type: string
                      send_hour:
                        type: integer
                      time_zone:
                        type: string
                      active:
                        type: boolean
                      exclude_subscriber_sources:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                            ids:
                              type: array
                              items:
                                type: integer
                          required:
                            - type
                            - ids
                    required:
                      - id
                      - name
                      - hold
                      - repeat
                      - created_at
                      - updated_at
                      - email_address
                      - email_template_id
                      - send_days
                      - send_hour
                      - time_zone
                      - active
                      - exclude_subscriber_sources
                required:
                  - sequence
              example:
                sequence:
                  id: 30
                  name: Full Series
                  hold: true
                  repeat: true
                  created_at: '2026-05-08T14:40:28Z'
                  updated_at: '2026-05-08T14:40:28Z'
                  email_address: joe927@ck.lol
                  email_template_id: 11
                  send_days:
                    - monday
                    - wednesday
                    - friday
                  send_hour: 9
                  time_zone: America/Los_Angeles
                  active: true
                  exclude_subscriber_sources:
                    - type: sequence
                      ids:
                        - 29
                    - type: tag
                      ids:
                        - 2
        '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
        '403':
          description: >-
            Returns a 403 with an error message if the current account is
            unauthorized to create a sequence
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: string
                required:
                  - errors
              example:
                errors:
                  - >-
                    You do not have sufficient permissions to access this
                    resource. Please contact support.
        '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:
                  - send_hour must be an integer between 0 and 23
      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

````