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

# Create a Sequence Template

> Creates a new sequence template. The template is created as a USER_GENERATED template.

Supply `steps` (ordered by `index`), `transitions`, and `blocks` together; see each field's schema for its shape and allowed values. A step references a block via a `[[block:<id>]]` marker in its `message`/`subject`, and a `transition` links steps by `index` sequentially or on a branch. Example:

{"steps": [{"index": 1, "day": 0, "hour": 9, "type": "auto_email", "subject": "Quick question", "message": "<p>Hi {{recipient.first_name}} [[block:intro]]</p>"}, {"index": 2, "day": 2, "hour": 9, "type": "auto_linkedin_connection", "message": "Let's connect"}], "transitions": [{"from_step_index": 1, "to_step_index": 2, "transition_type": "PREVIOUS_STEP_COMPLETES"}], "blocks": {"intro": {"name": "Intro", "block_type": "MANUAL", "content": "..."}}}

Template variables must be namespaced. Supported tokens are `{{recipient.first_name}}`, `{{recipient.last_name}}`, `{{recipient.company}}`, `{{recipient.email}}`, `{{sender.first_name}}`, `{{sender.last_name}}`, and `{{sender.company}}`.



## OpenAPI

````yaml https://api.monaco.com/openapi.json post /v1/sequence-templates
openapi: 3.1.0
info:
  title: Monaco Public API
  description: Public API for Monaco
  version: 1.0.0
servers:
  - url: https://api.monaco.com
security: []
paths:
  /v1/sequence-templates:
    post:
      tags:
        - Sequence Templates
      summary: Create a Sequence Template
      description: >-
        Creates a new sequence template. The template is created as a
        USER_GENERATED template.


        Supply `steps` (ordered by `index`), `transitions`, and `blocks`
        together; see each field's schema for its shape and allowed values. A
        step references a block via a `[[block:<id>]]` marker in its
        `message`/`subject`, and a `transition` links steps by `index`
        sequentially or on a branch. Example:


        {"steps": [{"index": 1, "day": 0, "hour": 9, "type": "auto_email",
        "subject": "Quick question", "message": "<p>Hi {{recipient.first_name}}
        [[block:intro]]</p>"}, {"index": 2, "day": 2, "hour": 9, "type":
        "auto_linkedin_connection", "message": "Let's connect"}], "transitions":
        [{"from_step_index": 1, "to_step_index": 2, "transition_type":
        "PREVIOUS_STEP_COMPLETES"}], "blocks": {"intro": {"name": "Intro",
        "block_type": "MANUAL", "content": "..."}}}


        Template variables must be namespaced. Supported tokens are
        `{{recipient.first_name}}`, `{{recipient.last_name}}`,
        `{{recipient.company}}`, `{{recipient.email}}`, `{{sender.first_name}}`,
        `{{sender.last_name}}`, and `{{sender.company}}`.
      operationId: create_sequence_template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSequenceTemplateRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PublicItemResponse_SequenceTemplateDetailResponse_
        4XX:
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
components:
  schemas:
    CreateSequenceTemplateRequest:
      properties:
        name:
          type: string
          title: Name
          description: Name of the sequence template
          examples:
            - Enterprise Onboarding
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the sequence template
          examples:
            - Multi-touch onboarding sequence for enterprise accounts
        steps:
          items:
            $ref: '#/components/schemas/SequenceTemplateStepRequest'
          type: array
          title: Steps
          description: Ordered list of steps in the template
        transitions:
          items:
            $ref: '#/components/schemas/SequenceTemplateTransitionRequest'
          type: array
          title: Transitions
          description: >-
            Transitions between steps (ordering and branching rules). A
            transition that omits its lead-time delay defaults to 3 business
            days: on `post_check_delay` for accepted-branch transitions
            (LINKEDIN_REQUEST_ACCEPTED, GIFT_ACCEPTED), on `pre_check_delay` for
            all others. Pass an explicit 0 to evaluate immediately.
        blocks:
          additionalProperties:
            $ref: '#/components/schemas/SequenceTemplateBlockRequest'
          type: object
          title: Blocks
          description: >-
            Content blocks referenced by this template, keyed by block id. A
            step's subject/message may contain [[block:<uuid>]] markers.
      type: object
      required:
        - name
        - steps
      title: CreateSequenceTemplateRequest
      description: Request body for creating a sequence template.
    PublicItemResponse_SequenceTemplateDetailResponse_:
      properties:
        data:
          $ref: '#/components/schemas/SequenceTemplateDetailResponse'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      type: object
      required:
        - data
      title: PublicItemResponse[SequenceTemplateDetailResponse]
    PublicErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
        - error
      title: PublicErrorResponse
    SequenceTemplateStepRequest:
      properties:
        index:
          type: integer
          minimum: 1
          title: Index
          description: >-
            Position of the step within the template (1-based). Must be unique
            across steps; transitions reference steps by this index.
          examples:
            - 1
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
          description: Display title of the step
          examples:
            - Intro email
        day:
          anyOf:
            - type: integer
            - type: 'null'
          title: Day
          description: Day offset from the start of the sequence
          examples:
            - 0
        hour:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hour
          description: Hour of day the step is scheduled for
          examples:
            - 9
        type:
          $ref: '#/components/schemas/TaskTypeEnum'
          description: Type of step
          examples:
            - auto_email
        subject:
          anyOf:
            - type: string
            - type: 'null'
          title: Subject
          description: Subject line (email and gifting steps)
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
          description: Message body for the step
        gift_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Gift Id
          description: ID of the gift attached to a gifting step
      type: object
      required:
        - index
        - type
      title: SequenceTemplateStepRequest
      description: One step in a sequence template (write side).
    SequenceTemplateTransitionRequest:
      properties:
        from_step_index:
          type: integer
          title: From Step Index
          description: Index of the source step within the template
          examples:
            - 1
        to_step_index:
          type: integer
          title: To Step Index
          description: Index of the destination step within the template
          examples:
            - 2
        transition_type:
          $ref: '#/components/schemas/SequenceTransitionTypeEnum'
          description: Condition that triggers this transition
          examples:
            - PREVIOUS_STEP_COMPLETES
        pre_check_time_unit:
          type: string
          title: Pre Check Time Unit
          description: >-
            Time unit for `pre_check_delay`. One of `seconds`, `minutes`,
            `hours`, `days`, or `business_days`.
          default: business_days
        pre_check_delay:
          anyOf:
            - type: integer
            - type: 'null'
          title: Pre Check Delay
          description: >-
            A grace window before this transition's condition starts being
            evaluated, measured from when the source step completed (in
            `pre_check_time_unit`). Use it when the condition could be satisfied
            immediately but you want to wait first — e.g. after an email is
            sent, hold off 2 business days before checking for a reply, giving
            the prospect time to respond. If omitted or null, defaults to 3
            business days — except on accepted-branch transitions
            (LINKEDIN_REQUEST_ACCEPTED, GIFT_ACCEPTED), where the default lands
            on `post_check_delay` and this stays null. Pass an explicit 0 to
            evaluate immediately as soon as the source step completes.
          examples:
            - 2
        post_check_time_unit:
          type: string
          title: Post Check Time Unit
          description: >-
            Time unit for `post_check_delay`. One of `seconds`, `minutes`,
            `hours`, `days`, or `business_days`.
          default: business_days
        post_check_delay:
          anyOf:
            - type: integer
            - type: 'null'
          title: Post Check Delay
          description: >-
            A pacing delay after this transition's condition has passed, before
            the destination step is scheduled (in `post_check_time_unit`). Use
            it to avoid an instantaneous, robotic-feeling response to a
            prospect-driven event — e.g. wait a business day after a LinkedIn
            connection is accepted before pitching, or after a gift is delivered
            before the thank-you. For accepted-branch transitions
            (LINKEDIN_REQUEST_ACCEPTED, GIFT_ACCEPTED), if omitted or null this
            defaults to 3 business days; pass an explicit 0 to schedule the next
            step immediately. `null` or `0` schedules immediately for all other
            transition types.
          examples:
            - 1
        require_all:
          type: boolean
          title: Require All
          description: Whether all conditions must be met (vs. any of them)
          default: true
      type: object
      required:
        - from_step_index
        - to_step_index
        - transition_type
      title: SequenceTemplateTransitionRequest
      description: A transition (ordering / branching rule) between two steps (write side).
    SequenceTemplateBlockRequest:
      properties:
        name:
          type: string
          title: Name
          description: Human-readable name of the block
        block_type:
          $ref: '#/components/schemas/ContentBlockTypeEnum'
          description: MANUAL or AI_GENERATED
        content:
          type: string
          title: Content
          description: Block content; may contain template variables
        fallback_content:
          anyOf:
            - type: string
            - type: 'null'
          title: Fallback Content
          description: >-
            Fallback content used when the primary content can't be resolved.
            Only relevant for AI_GENERATED blocks.
      type: object
      required:
        - name
        - block_type
        - content
      title: SequenceTemplateBlockRequest
      description: A content block referenced by a sequence template step (write side).
    SequenceTemplateDetailResponse:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the sequence template
          examples:
            - seqt_abc123
        name:
          type: string
          title: Name
          description: Name of the sequence template
          examples:
            - Enterprise Onboarding
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the sequence template
          examples:
            - Multi-touch onboarding sequence for enterprise accounts
        status:
          $ref: '#/components/schemas/CampaignStatusEnum'
          description: Current status of the sequence template
          examples:
            - ACTIVE
        owner_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Owner Id
          description: ID of the user who owns the sequence template
          examples:
            - usr_abc123
        is_default:
          type: boolean
          title: Is Default
          description: Whether this template is the default for the organization
          default: false
          examples:
            - false
        archived_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Archived At
          description: Date and time the sequence template was archived
          examples:
            - '2026-05-10T14:22:00Z'
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: Date and time the sequence template was created
          examples:
            - '2026-01-15T10:30:00Z'
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
          description: Date and time the sequence template was last updated
          examples:
            - '2026-05-10T14:22:00Z'
        steps:
          items:
            $ref: '#/components/schemas/SequenceTemplateStepResponse'
          type: array
          title: Steps
          description: Ordered list of steps in the template
        transitions:
          items:
            $ref: '#/components/schemas/SequenceTemplateTransitionResponse'
          type: array
          title: Transitions
          description: Transitions between steps (ordering and branching rules)
        blocks:
          additionalProperties:
            $ref: '#/components/schemas/SequenceTemplateBlockResponse'
          type: object
          title: Blocks
          description: >-
            Content blocks referenced anywhere in this template, keyed by block
            id. A step's subject/message may contain [[block:<uuid>]] markers;
            each <uuid> appears as a key in this dict.
      type: object
      required:
        - id
        - name
        - status
      title: SequenceTemplateDetailResponse
      description: Sequence template with its ordered list of steps and transitions.
    ResponseMeta:
      properties:
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Server timestamp of the response
      type: object
      title: ResponseMeta
    ErrorDetail:
      properties:
        code:
          type: string
          title: Code
          description: Machine-readable error code
          examples:
            - not_found
        message:
          type: string
          title: Message
          description: Human-readable error message
          examples:
            - Resource not found
      type: object
      required:
        - code
        - message
      title: ErrorDetail
    TaskTypeEnum:
      type: string
      enum:
        - generic
        - auto_email
        - manual_email
        - auto_linkedin_connection
        - manual_linkedin_connection
        - auto_linkedin_message
        - manual_linkedin_message
        - auto_linkedin_inmail
        - manual_linkedin_inmail
        - auto_phone
        - manual_phone
        - internal_email
        - gifting_via_email
        - gifting_via_address
        - complete_sequence
      title: TaskTypeEnum
    SequenceTransitionTypeEnum:
      type: string
      enum:
        - PREVIOUS_STEP_COMPLETES
        - PREVIOUS_STEP_RUNS
        - GIFT_DELIVERED
        - PREVIOUS_STEP_SCHEDULED
        - LINKEDIN_REQUEST_ACCEPTED
        - LINKEDIN_REQUEST_NOT_ACCEPTED
        - GIFT_ACCEPTED
        - GIFT_NOT_ACCEPTED
      title: SequenceTransitionTypeEnum
    ContentBlockTypeEnum:
      type: string
      enum:
        - MANUAL
        - AI_GENERATED
      title: ContentBlockTypeEnum
    CampaignStatusEnum:
      type: string
      enum:
        - ACTIVE
        - INACTIVE
        - DRAFT
        - ARCHIVED
      title: CampaignStatusEnum
    SequenceTemplateStepResponse:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the step
          examples:
            - stp_abc123
        index:
          anyOf:
            - type: integer
            - type: 'null'
          title: Index
          description: Position of the step within the template (1-based)
          examples:
            - 1
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
          description: Display title of the step
          examples:
            - Intro email
        day:
          anyOf:
            - type: integer
            - type: 'null'
          title: Day
          description: Day offset from the start of the sequence
          examples:
            - 0
        hour:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hour
          description: Hour of day the step is scheduled for
          examples:
            - 9
        type:
          $ref: '#/components/schemas/TaskTypeEnum'
          description: Type of step
          examples:
            - auto_email
        subject:
          anyOf:
            - type: string
            - type: 'null'
          title: Subject
          description: Subject line (email and gifting steps)
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
          description: Message body for the step
        gift_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Gift Id
          description: ID of the gift attached to a gifting step
      type: object
      required:
        - id
        - type
      title: SequenceTemplateStepResponse
      description: One step in a sequence template.
    SequenceTemplateTransitionResponse:
      properties:
        from_step_index:
          type: integer
          title: From Step Index
          description: Index of the source step within the template
          examples:
            - 1
        to_step_index:
          type: integer
          title: To Step Index
          description: Index of the destination step within the template
          examples:
            - 2
        transition_type:
          $ref: '#/components/schemas/SequenceTransitionTypeEnum'
          description: Condition that triggers this transition
          examples:
            - PREVIOUS_STEP_COMPLETES
        pre_check_time_unit:
          type: string
          title: Pre Check Time Unit
          description: >-
            Time unit for `pre_check_delay`. One of `seconds`, `minutes`,
            `hours`, `days`, or `business_days`.
          default: business_days
        pre_check_delay:
          anyOf:
            - type: integer
            - type: 'null'
          title: Pre Check Delay
          description: >-
            A grace window before this transition's condition starts being
            evaluated, measured from when the source step completed (in
            `pre_check_time_unit`). Use it when the condition could be satisfied
            immediately but you want to wait first — e.g. after an email is
            sent, hold off 2 business days before checking for a reply, giving
            the prospect time to respond. `null` or `0` evaluates as soon as the
            source step completes.
          examples:
            - 2
        post_check_time_unit:
          type: string
          title: Post Check Time Unit
          description: >-
            Time unit for `post_check_delay`. One of `seconds`, `minutes`,
            `hours`, `days`, or `business_days`.
          default: business_days
        post_check_delay:
          anyOf:
            - type: integer
            - type: 'null'
          title: Post Check Delay
          description: >-
            A pacing delay after this transition's condition has passed, before
            the destination step is scheduled (in `post_check_time_unit`). Use
            it to avoid an instantaneous, robotic-feeling response to a
            prospect-driven event — e.g. wait a business day after a LinkedIn
            connection is accepted before pitching, or after a gift is delivered
            before the thank-you. `null` or `0` schedules the next step
            immediately.
          examples:
            - 1
        require_all:
          type: boolean
          title: Require All
          description: Whether all conditions must be met (vs. any of them)
          default: true
      type: object
      required:
        - from_step_index
        - to_step_index
        - transition_type
      title: SequenceTemplateTransitionResponse
      description: >-
        A transition (ordering / branching rule) between two steps in a
        template.
    SequenceTemplateBlockResponse:
      additionalProperties: true
      type: object

````