Monaco Sequence Templates API

The Sequence Templates API from Monaco — 2 operation(s) for sequence templates.

OpenAPI Specification

monaco-sequence-templates-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Monaco Public Accounts Sequence Templates API
  description: Public API for Monaco
  version: 1.0.0
servers:
- url: https://api.monaco.com
tags:
- name: Sequence Templates
paths:
  /v1/sequence-templates:
    get:
      tags:
      - Sequence Templates
      summary: List Sequence Templates
      description: Returns the list of sequence templates available to the authenticated organization.
      operationId: list_sequence_templates
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicItemResponse_list_SequenceTemplateResponse__'
              example:
                data:
                - id: seqt_abc123
                  name: Enterprise Onboarding
                  description: Multi-touch onboarding sequence for enterprise accounts
                  status: active
                  owner_id: usr_abc123
                  is_default: false
                  created_at: '2026-01-15T10:30:00Z'
                  updated_at: '2026-05-10T14:22:00Z'
                meta:
                  timestamp: '2026-05-11T17:00:00Z'
        4XX:
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
    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'
  /v1/sequence-templates/{sequence_template_id}:
    get:
      tags:
      - Sequence Templates
      summary: Get a Sequence Template
      description: Gets a single sequence template by its `sequence_template_id`. The detail response includes the template's ordered list of steps.
      operationId: get_sequence_template
      parameters:
      - name: sequence_template_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Sequence Template Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicItemResponse_SequenceTemplateDetailResponse_'
              example:
                data:
                  id: seqt_abc123
                  name: Enterprise Onboarding
                  description: Multi-touch onboarding sequence for enterprise accounts
                  status: active
                  owner_id: usr_abc123
                  is_default: false
                  created_at: '2026-01-15T10:30:00Z'
                  updated_at: '2026-05-10T14:22:00Z'
                  steps:
                  - id: stp_abc123
                    index: 1
                    title: Intro email
                    day: 0
                    hour: 9
                    type: auto_email
                    subject: Quick question
                    message: <p>Hi {{recipient.first_name}} [[block:abc-123]]</p>
                  - id: stp_def456
                    index: 2
                    title: LinkedIn follow up
                    day: 2
                    hour: 10
                    type: auto_linkedin_message
                    message: <p>Following up</p>
                  blocks:
                    abc-123:
                      id: abc-123
                      name: Intro hook
                      block_type: MANUAL
                      content: Saw you launched X recently —
                      created_at: '2026-01-15T10:30:00Z'
                      updated_at: '2026-05-10T14:22:00Z'
                meta:
                  timestamp: '2026-05-11T17:00:00Z'
        4XX:
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
          description: Not Found
    patch:
      tags:
      - Sequence Templates
      summary: Update a Sequence Template
      description: 'Updates an existing sequence template. All fields are optional, but at least one must be provided. `steps`, `transitions`, and `blocks` replace the current value when supplied; each supplied step must include its `id`.


        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: update_sequence_template
      parameters:
      - name: sequence_template_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Sequence Template Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSequenceTemplateRequest'
      responses:
        '200':
          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:
    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.
    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
    PublicSequenceTemplateStatusEnum:
      type: string
      enum:
      - ACTIVE
      - INACTIVE
      - ARCHIVED
      title: PublicSequenceTemplateStatusEnum
      description: 'User-settable sequence-template statuses.


        Intentionally a subset of `campaigns.types.sequence_template.CampaignStatusEnum`:

        excludes DRAFT, an internal-only authoring state.'
    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.
    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
    PublicItemResponse_SequenceTemplateDetailResponse_:
      properties:
        data:
          $ref: '#/components/schemas/SequenceTemplateDetailResponse'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      type: object
      required:
      - data
      title: PublicItemResponse[SequenceTemplateDetailResponse]
    PublicItemResponse_list_SequenceTemplateResponse__:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SequenceTemplateResponse'
          type: array
          title: Data
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      type: object
      required:
      - data
      title: PublicItemResponse[list[SequenceTemplateResponse]]
    PublicErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
      - error
      title: PublicErrorResponse
    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
    SequenceTemplateResponse:
      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'
      type: object
      required:
      - id
      - name
      - status
      title: SequenceTemplateResponse
      description: Sequence template resource.
    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.
    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).
    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.
    SequenceTemplateStepRequest:
      properties:
        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:
      - type
      title: SequenceTemplateStepRequest
      description: One step in a sequence template (write side).
    UpdateSequenceTemplateRequest:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: New name for the sequence template
          examples:
          - Enterprise Onboarding v2
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: New description for the sequence template
        status:
          anyOf:
          - $ref: '#/components/schemas/PublicSequenceTemplateStatusEnum'
          - type: 'null'
          description: New status for the sequence template
          examples:
          - ACTIVE
        steps:
          anyOf:
          - items:
              $ref: '#/components/schemas/SequenceTemplateStepRequest'
            type: array
          - type: 'null'
          title: Steps
          description: Replacement list of steps (full replacement, not partial). Must be supplied together with `transitions`
        transitions:
          anyOf:
          - items:
              $ref: '#/components/schemas/SequenceTemplateTransitionRequest'
            type: array
          - type: 'null'
          title: Transitions
          description: 'Replacement list of transitions. Must be supplied together with `steps`; pass `[]` if the new step list has no transitions. 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:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/SequenceTemplateBlockRequest'
            type: object
          - type: 'null'
          title: Blocks
          description: Replacement content blocks referenced by this template
      type: object
      title: UpdateSequenceTemplateRequest
      description: Request body for updating a sequence template. All fields optional.
    ContentBlockTypeEnum:
      type: string
      enum:
      - MANUAL
      - AI_GENERATED
      title: ContentBlockTypeEnum
    SequenceTemplateBlockResponse:
      additionalProperties: true
      type: object
    ResponseMeta:
      properties:
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Server timestamp of the response
      type: object
      title: ResponseMeta
    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).
    CampaignStatusEnum:
      type: string
      enum:
      - ACTIVE
      - INACTIVE
      - DRAFT
      - ARCHIVED
      title: CampaignStatusEnum