Unify Sequences API

List, retrieve, pause, resume and delete Unify outbound sequences and read their ordered steps. 7 operation(s).

OpenAPI Specification

unify-sequences-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Unify Sequences API
  summary: Interact with sequences and sequence enrollments within the Unify platform.
  version: '1'
  termsOfService: https://www.unifygtm.com/legal/terms-and-conditions
  contact:
    name: Unify Support
    url: https://www.unifygtm.com/support
    email: support@unifygtm.com
servers:
- url: https://api.unifygtm.com
  variables: {}
security:
- ApiKeyAuth: []
tags:
- name: Sequences
paths:
  /sequences/v1/sequences:
    get:
      operationId: list_sequences
      description: 'List sequences — automated series of outreach steps (emails, tasks, and

        timing conditions) that run against enrolled people.'
      parameters:
      - name: cursor
        in: query
        required: false
        description: Opaque cursor returned by the previous page.
        schema:
          type: string
        explode: false
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
        explode: false
      responses:
        '200':
          description: Response returned when listing sequences.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSequencesResponse'
        '400':
          description: Response for any operation that results in a bad request error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - bad_request
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UResponses.BadRequestError'
                  message:
                    type: string
                description: Response for any operation that results in a bad request error.
        '401':
          description: Response for any operation that results in an unauthorized error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - unauthorized
                  message:
                    type: string
                description: Response for any operation that results in an unauthorized error.
        '429':
          description: Response for any operation that exceeds a rate limit.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - rate_limited
                  message:
                    type: string
                description: Response for any operation that exceeds a rate limit.
        '500':
          description: Response for any operation that results in an internal server error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - error
                  message:
                    type: string
                description: Response for any operation that results in an internal server error.
      tags:
      - Sequences
      x-mcp-tool:
        readOnlyHint: true
        openWorldHint: false
  /sequences/v1/sequences/{id}:
    get:
      operationId: retrieve_sequence
      description: 'Get a single sequence by its ID, including its owner, send schedule, and

        ruleset.'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/uuid'
      responses:
        '200':
          description: Response returned when retrieving a sequence.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveSequenceResponse'
        '400':
          description: Response for any operation that results in a bad request error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - bad_request
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UResponses.BadRequestError'
                  message:
                    type: string
                description: Response for any operation that results in a bad request error.
        '401':
          description: Response for any operation that results in an unauthorized error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - unauthorized
                  message:
                    type: string
                description: Response for any operation that results in an unauthorized error.
        '404':
          description: Response returned when a sequence cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceNotFoundResponse'
        '429':
          description: Response for any operation that exceeds a rate limit.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - rate_limited
                  message:
                    type: string
                description: Response for any operation that exceeds a rate limit.
        '500':
          description: Response for any operation that results in an internal server error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - error
                  message:
                    type: string
                description: Response for any operation that results in an internal server error.
      tags:
      - Sequences
      x-mcp-tool:
        readOnlyHint: true
        openWorldHint: false
    delete:
      operationId: delete_sequence
      description: Delete a sequence by its ID.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/uuid'
      responses:
        '200':
          description: Response returned when deleting a sequence.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSequenceSuccessResponse'
        '400':
          description: Response for any operation that results in a bad request error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - bad_request
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UResponses.BadRequestError'
                  message:
                    type: string
                description: Response for any operation that results in a bad request error.
        '401':
          description: Response for any operation that results in an unauthorized error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - unauthorized
                  message:
                    type: string
                description: Response for any operation that results in an unauthorized error.
        '404':
          description: Response returned when a sequence cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceNotFoundResponse'
        '429':
          description: Response for any operation that exceeds a rate limit.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - rate_limited
                  message:
                    type: string
                description: Response for any operation that exceeds a rate limit.
        '500':
          description: Response for any operation that results in an internal server error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - error
                  message:
                    type: string
                description: Response for any operation that results in an internal server error.
      tags:
      - Sequences
      x-mcp-tool:
        idempotentHint: true
        openWorldHint: false
  /sequences/v1/sequences/{id}/pause:
    post:
      operationId: pause_sequence
      description: 'Pause a sequence, halting progress for all of its enrollments until it

        is resumed.'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/uuid'
      responses:
        '200':
          description: Response returned when pausing a sequence.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PauseSequenceSuccessResponse'
        '400':
          description: Response for any operation that results in a bad request error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - bad_request
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UResponses.BadRequestError'
                  message:
                    type: string
                description: Response for any operation that results in a bad request error.
        '401':
          description: Response for any operation that results in an unauthorized error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - unauthorized
                  message:
                    type: string
                description: Response for any operation that results in an unauthorized error.
        '404':
          description: Response returned when a sequence cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceNotFoundResponse'
        '409':
          description: Response returned when a sequence state change conflicts with a concurrent update.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceStateConflictResponse'
        '429':
          description: Response for any operation that exceeds a rate limit.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - rate_limited
                  message:
                    type: string
                description: Response for any operation that exceeds a rate limit.
        '500':
          description: Response for any operation that results in an internal server error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - error
                  message:
                    type: string
                description: Response for any operation that results in an internal server error.
      tags:
      - Sequences
      x-mcp-tool:
        destructiveHint: false
        idempotentHint: true
        openWorldHint: false
  /sequences/v1/sequences/{id}/resume:
    post:
      operationId: resume_sequence
      description: Resume a paused sequence so its enrollments continue.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/uuid'
      responses:
        '200':
          description: Response returned when resuming a sequence.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResumeSequenceSuccessResponse'
        '400':
          description: Response for any operation that results in a bad request error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - bad_request
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UResponses.BadRequestError'
                  message:
                    type: string
                description: Response for any operation that results in a bad request error.
        '401':
          description: Response for any operation that results in an unauthorized error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - unauthorized
                  message:
                    type: string
                description: Response for any operation that results in an unauthorized error.
        '404':
          description: Response returned when a sequence cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceNotFoundResponse'
        '409':
          description: Response returned when a sequence state change conflicts with a concurrent update.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceStateConflictResponse'
        '429':
          description: Response for any operation that exceeds a rate limit.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - rate_limited
                  message:
                    type: string
                description: Response for any operation that exceeds a rate limit.
        '500':
          description: Response for any operation that results in an internal server error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - error
                  message:
                    type: string
                description: Response for any operation that results in an internal server error.
      tags:
      - Sequences
      x-mcp-tool:
        destructiveHint: false
        idempotentHint: true
  /sequences/v1/sequences/{id}/steps:
    get:
      operationId: list_sequence_steps
      description: 'List a sequence''s steps. Steps are automatic emails, manual emails, or

        tasks (calls, LinkedIn touches, action items); each step''s dependencies

        describe when it runs relative to its parent step.'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/uuid'
      - name: cursor
        in: query
        required: false
        description: Opaque cursor returned by the previous page.
        schema:
          type: string
        explode: false
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
        explode: false
      - name: type
        in: query
        required: false
        description: Repeat `type` to filter by multiple sequence step types.
        schema:
          type: array
          items:
            $ref: '#/components/schemas/SequenceStepType'
      responses:
        '200':
          description: Response returned when listing sequence steps.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSequenceStepsResponse'
        '400':
          description: Response for any operation that results in a bad request error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - bad_request
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UResponses.BadRequestError'
                  message:
                    type: string
                description: Response for any operation that results in a bad request error.
        '401':
          description: Response for any operation that results in an unauthorized error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - unauthorized
                  message:
                    type: string
                description: Response for any operation that results in an unauthorized error.
        '404':
          description: Response returned when a sequence step cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceStepNotFoundResponse'
        '429':
          description: Response for any operation that exceeds a rate limit.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - rate_limited
                  message:
                    type: string
                description: Response for any operation that exceeds a rate limit.
        '500':
          description: Response for any operation that results in an internal server error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - error
                  message:
                    type: string
                description: Response for any operation that results in an internal server error.
      tags:
      - Sequences
      x-mcp-tool:
        readOnlyHint: true
        openWorldHint: false
  /sequences/v1/sequences/{id}/steps/{step_id}:
    get:
      operationId: retrieve_sequence_step
      description: 'Get a single step of a sequence by ID. The response shape is

        discriminated by the step''s `type`.'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/uuid'
      - name: step_id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/uuid'
      responses:
        '200':
          description: Response returned when retrieving an automatic email sequence step.
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/RetrieveAutomaticEmailSequenceStepResponse'
                - $ref: '#/components/schemas/RetrieveManualEmailSequenceStepResponse'
                - $ref: '#/components/schemas/RetrieveTaskSequenceStepResponse'
        '400':
          description: Response for any operation that results in a bad request error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
                    enum:
                    - bad_request
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UResponses.BadRequestError'
                  message:
                    type: string
                description: Response for any operation that results in a bad request error.
        '401':
          description: Response for any operation that results in an unauthorized error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - unauthorized
                  message:
                    type: string
                description: Response for any operation that results in an unauthorized error.
        '404':
          description: Response returned when a sequence step cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceStepNotFoundResponse'
        '429':
          description: Response for any operation that exceeds a rate limit.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - rate_limited
                  message:
                    type: string
                description: Response for any operation that exceeds a rate limit.
        '500':
          description: Response for any operation that results in an internal server error.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - message
                properties:
                  status:
                    type: string
                    enum:
                    - error
                  message:
                    type: string
                description: Response for any operation that results in an internal server error.
      tags:
      - Sequences
      x-mcp-tool:
        readOnlyHint: true
        openWorldHint: false
components:
  schemas:
    AutomaticEmailSequenceStep:
      type: object
      required:
      - type
      - config
      properties:
        type:
          type: string
          enum:
          - AUTOMATIC_EMAIL
        config:
          $ref: '#/components/schemas/SequenceEmailStepConfig'
      allOf:
      - $ref: '#/components/schemas/SequenceStepBase'
      description: Representation of an automatic email sequence step.
    AutomaticEnrollmentTaskAssignment:
      type: string
      enum:
      - ASSIGN_TO_MAILBOX_OWNER
      - ASSIGN_TO_USER
      description: Assignment strategy for tasks created from automatic sequence enrollments.
    DeleteSequenceSuccessResponse:
      type: object
      required:
      - id
      - is_deleted
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        is_deleted:
          type: boolean
          enum:
          - true
      description: Response returned when deleting a sequence.
    EmailSendDays:
      type: object
      required:
      - '1'
      - '2'
      - '3'
      - '4'
      - '5'
      - '6'
      - '7'
      properties:
        '1':
          type: array
          items:
            $ref: '#/components/schemas/EmailSendWindow'
          nullable: true
        '2':
          type: array
          items:
            $ref: '#/components/schemas/EmailSendWindow'
          nullable: true
        '3':
          type: array
          items:
            $ref: '#/components/schemas/EmailSendWindow'
          nullable: true
        '4':
          type: array
          items:
            $ref: '#/components/schemas/EmailSendWindow'
          nullable: true
        '5':
          type: array
          items:
            $ref: '#/components/schemas/EmailSendWindow'
          nullable: true
        '6':
          type: array
          items:
            $ref: '#/components/schemas/EmailSendWindow'
          nullable: true
        '7':
          type: array
          items:
            $ref: '#/components/schemas/EmailSendWindow'
          nullable: true
      description: 'Mapping from ISO weekday number (Monday = 1, Sunday = 7) to send windows.

        A null value means sending is disabled for that day.'
    EmailSendScheduleRules:
      type: object
      required:
      - time_zone
      - send_days
      - skip_us_holidays
      - excluded_dates
      properties:
        time_zone:
          type: string
        send_days:
          $ref: '#/components/schemas/EmailSendDays'
        skip_us_holidays:
          type: boolean
        excluded_dates:
          type: array
          items:
            $ref: '#/components/schemas/ExcludedEmailSendDate'
      description: Sequence email send schedule rules.
    EmailSendWindow:
      type: object
      required:
      - start_time
      - end_time
      properties:
        start_time:
          $ref: '#/components/schemas/EmailSendWindowTime'
        end_time:
          $ref: '#/components/schemas/EmailSendWindowTime'
      description: Time window during which sequence emails may be sent.
    EmailSendWindowTime:
      type: object
      required:
      - hour
      - minute
      properties:
        hour:
          type: integer
          minimum: 0
          maximum: 23
        minute:
          type: integer
          minimum: 0
          maximum: 59
      description: Local wall-clock time used in a sequence email send window.
    ExcludedEmailSendDate:
      type: object
      required:
      - date
      properties:
        date:
          $ref: '#/components/schemas/date'
        should_recur:
          type: boolean
      description: Custom date skipped by a sequence email send schedule.
    ListSequenceStepsResponse:
      type: object
      required:
      - steps
      - next_cursor
      properties:
        steps:
          type: array
          items:
            $ref: '#/components/schemas/SequenceStep'
        next_cursor:
          type: string
          nullable: true
      description: Response returned when listing sequence steps.
    ListSequencesResponse:
      type: object
      required:
      - sequences
      - next_cursor
      properties:
        sequences:
          type: array
          items:
            $ref: '#/components/schemas/Sequence'
        next_cursor:
          type: string
          nullable: true
      description: Response returned when listing sequences.
    ManualEmailSequenceStep:
      type: object
      required:
      - type
      - config
      properties:
        type:
          type: string
          enum:
          - MANUAL_EMAIL
        config:
          $ref: '#/components/schemas/SequenceManualEmailStepConfig'
      allOf:
      - $ref: '#/components/schemas/SequenceStepBase'
      description: Representation of a manual email sequence step.
    ManualEnrollmentTaskAssignment:
      type: string
      enum:
      - ASSIGN_TO_ENROLLER
      - ASSIGN_TO_MAILBOX_OWNER
      - ASSIGN_TO_USER
      description: Assignment strategy for tasks created from manual sequence enrollments.
    PauseSequenceSuccessResponse:
      type: object
      required:
      - id
      - is_paused
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        is_paused:
          type: boolean
          enum:
          - true
      description: Response returned when pausing a sequence.
    RelativeTimeUnit:
      type: string
      enum:
      - MINUTE
      - HOUR
      - DAY
      - WEEK
      description: Time unit for relative task due dates.
    ResumeSequenceSuccessResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/Sequence'
      description: Response returned when resuming a sequence.
    RetrieveAutomaticEmailSequenceStepResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/AutomaticEmailSequenceStep'
      description: Response returned when retrieving an automatic email sequence step.
    RetrieveManualEmailSequenceStepResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/ManualEmailSequenceStep'
      description: Response returned when retrieving a manual email sequence step.
    RetrieveSequenceResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/Sequence'
      description: Response returned when retrieving a sequence.
    RetrieveTaskSequenceStepResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/TaskSequenceStep'
      description: Response returned when retrieving a manual task sequence step.
    Sequence:
      type: object
      required:
      - id
      - created_at
      - updated_at
      - owner
      - name
      - is_paused
      - send_schedule
      - sequence_ruleset
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        created_at:
          $ref: '#/components/schemas/datetime'
        updated_at:
          $ref: '#/components/schemas/datetime'
        owner:
          $ref: '#/components/schemas/SequenceOwner'
        name:
          type: string
        is_paused:
          type: boolean
        send_schedule:
          type: object
          allOf:
          - $ref: '#/components/schemas/SequenceSendSchedule'
          nullable: true
        sequence_ruleset:
    

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unify/refs/heads/main/openapi/unify-sequences-api-openapi.yml