Unify Sequence Enrollment Steps API

Asynchronous Bulk API export of executed sequence enrollment steps. 5 operation(s).

Operations 5

POST /sequences/v1/enrollment-steps/query-jobs #
GET /sequences/v1/enrollment-steps/query-jobs #
GET /sequences/v1/enrollment-steps/query-jobs/{job_id} #
POST /sequences/v1/enrollment-steps/query-jobs/{job_id}/cancel #
GET /sequences/v1/enrollment-steps/query-jobs/{job_id}/results #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unify-sequence-enrollment-steps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unify-sequence-enrollment-steps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unify Sequences Sequence Enrollment Steps 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: Sequence Enrollment Steps
paths:
  /sequences/v1/enrollment-steps/query-jobs:
    post:
      operationId: create_sequence_enrollment_step_query_job
      description: 'Start an asynchronous query job that exports sequence enrollment steps —

        per-person executions of each sequence step, including sent email

        engagement and any reply. Omitting `filter` exports all enrollment

        steps. Poll the job until it is `FINISHED`, then page through the

        results.'
      parameters: []
      responses:
        '201':
          description: Response returned when creating a Bulk API query job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBulkApiJobSuccessResponse'
        '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:
      - Sequence Enrollment Steps
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBulkApiSequenceEnrollmentStepsJobRequest'
    get:
      operationId: list_sequence_enrollment_step_query_jobs
      description: List sequence enrollment step query jobs, optionally filtered by status.
      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
      - name: status
        in: query
        required: false
        description: Filter jobs by status.
        schema:
          $ref: '#/components/schemas/BulkApiJobStatus'
        explode: false
      responses:
        '200':
          description: Response returned when listing Bulk API jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBulkApiJobsSuccessResponse'
        '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:
      - Sequence Enrollment Steps
  /sequences/v1/enrollment-steps/query-jobs/{job_id}:
    get:
      operationId: get_sequence_enrollment_step_query_job
      description: 'Get a query job''s status. Poll until the status is terminal; results are

        available once the job is `FINISHED`. Jobs expire 24 hours after

        creation.'
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response returned when fetching a Bulk API job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBulkApiJobSuccessResponse'
        '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 Bulk API job cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse'
        '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:
      - Sequence Enrollment Steps
  /sequences/v1/enrollment-steps/query-jobs/{job_id}/cancel:
    post:
      operationId: cancel_sequence_enrollment_step_query_job
      description: Cancel a query job. Only `IN_PROGRESS` jobs can be canceled.
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response returned when canceling a Bulk API job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelBulkApiJobSuccessResponse'
        '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 Bulk API job cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse'
        '409':
          description: Response returned when a Bulk API job is not cancelable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelBulkApiJobNotCancelableResponse'
        '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:
      - Sequence Enrollment Steps
  /sequences/v1/enrollment-steps/query-jobs/{job_id}/results:
    get:
      operationId: get_sequence_enrollment_step_query_job_results
      description: 'Get Bulk API job results. By default this returns JSON. Send

        `Accept: application/x-ndjson` to stream newline-delimited JSON.'
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
        explode: false
      - name: page_size
        in: query
        required: false
        description: 'Maximum is 2,000 for JSON responses and 10,000 when `Accept` is

          `application/x-ndjson`.'
        schema:
          type: integer
          minimum: 1
          maximum: 10000
        explode: false
      responses:
        '200':
          description: Successful response returned when fetching completed Bulk API job results.
          headers:
            x-total:
              required: false
              description: Total result count. Present for NDJSON responses.
              schema:
                type: integer
            x-page:
              required: false
              description: Result page number. Present for NDJSON responses.
              schema:
                type: integer
            x-page-size:
              required: false
              description: Result page size. Present for NDJSON responses.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: object
                required:
                - total
                - page
                - page_size
                - data
                properties:
                  total:
                    type: integer
                  page:
                    type: integer
                  page_size:
                    type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SequenceEnrollmentStep'
                description: Successful response returned when fetching completed Bulk API job results.
            application/x-ndjson:
              schema:
                type: string
        '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 Bulk API job cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBulkApiJobNotFoundResponse'
        '409':
          description: Response returned when Bulk API job results are not ready yet.
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/GetBulkApiJobResultsNotReadyResponse'
                - $ref: '#/components/schemas/GetBulkApiJobResultsFailedResponse'
                - $ref: '#/components/schemas/GetBulkApiJobResultsCanceledResponse'
        '410':
          description: Response returned when Bulk API job results have expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBulkApiJobResultsExpiredResponse'
        '413':
          description: Response returned when a requested Bulk API results page is too large.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBulkApiJobResultsPayloadTooLargeResponse'
        '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:
      - Sequence Enrollment Steps
components:
  schemas:
    CreateBulkApiSequenceEnrollmentStepsJobFilter:
      type: object
      properties:
        status:
          anyOf:
          - type: object
            required:
            - in
            properties:
              in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepStatus'
                minItems: 1
              not_in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepStatus'
                minItems: 1
            description: Filter matching values included in a set.
          - type: object
            required:
            - not_in
            properties:
              in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepStatus'
                minItems: 1
              not_in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepStatus'
                minItems: 1
            description: Filter matching values excluded from a set.
        enrollment:
          $ref: '#/components/schemas/BulkApiUuidFilter'
        type:
          anyOf:
          - type: object
            required:
            - in
            properties:
              in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepType'
                minItems: 1
              not_in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepType'
                minItems: 1
            description: Filter matching values included in a set.
          - type: object
            required:
            - not_in
            properties:
              in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepType'
                minItems: 1
              not_in:
                type: array
                items:
                  $ref: '#/components/schemas/SequenceEnrollmentStepType'
                minItems: 1
            description: Filter matching values excluded from a set.
        step_number:
          type: integer
          minimum: 1
      allOf:
      - $ref: '#/components/schemas/BulkApiCommonQueryFilter'
      description: Filters accepted when querying sequence enrollment steps.
    SequenceEnrollmentStepType:
      type: string
      enum:
      - AUTOMATIC_EMAIL
      - MANUAL_EMAIL
      - ACTION_ITEM
      - ZAPIER
      - PHONE_CALL
      - MANUAL_LINKEDIN_PROFILE_VIEW
      - MANUAL_LINKEDIN_CONNECTION
      - MANUAL_LINKEDIN_MESSAGE
      description: Type of a sequence enrollment step.
    BulkApiJob:
      type: object
      required:
      - job_id
      - status
      - total_rows
      - error_code
      - created_at
      - expires_at
      - canceled_at
      properties:
        job_id:
          type: string
        status:
          $ref: '#/components/schemas/BulkApiJobStatus'
        total_rows:
          type:
          - integer
          - 'null'
        error_code:
          type:
          - string
          - 'null'
        created_at:
          type: string
        expires_at:
          type: string
        canceled_at:
          type:
          - string
          - 'null'
      description: Bulk API job representation.
    BulkApiJobStatus:
      type: string
      enum:
      - IN_PROGRESS
      - FINISHED
      - FAILED
      - EXPIRED
      - CANCELED
      description: Status of an asynchronous Bulk API job.
    GetBulkApiJobResultsNotReadyResponse:
      type: object
      allOf:
      - type: object
        required:
        - status
        - message
        properties:
          status:
            type: string
            enum:
            - results_not_ready
          message:
            type: string
        description: Response for any operation that results in a conflict error.
      description: Response returned when Bulk API job results are not ready yet.
    BulkApiMailboxIdFilter:
      type: object
      required:
      - id
      properties:
        id:
          type: string
        email_address:
          type: string
      description: Filter matching a mailbox by ID.
    GetBulkApiJobResultsFailedResponse:
      type: object
      allOf:
      - type: object
        required:
        - status
        - message
        properties:
          status:
            type: string
            enum:
            - results_failed
          message:
            type: string
        description: Response for any operation that results in a conflict error.
      description: Response returned when a Bulk API job failed and has no results.
    SequenceCompany:
      type: object
      required:
      - id
      - name
      - domain
      - linkedin_url
      properties:
        id:
          type: string
        name:
          type:
          - string
          - 'null'
        domain:
          type: string
        description:
          type:
          - string
          - 'null'
          description: Present in enrollment results and omitted in step results.
        linkedin_url:
          type:
          - string
          - 'null'
      description: Company details embedded in sequence Bulk API results.
    GetBulkApiJobSuccessResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/BulkApiJob'
      description: Response returned when fetching a Bulk API job.
    GetBulkApiJobResultsCanceledResponse:
      type: object
      allOf:
      - type: object
        required:
        - status
        - message
        properties:
          status:
            type: string
            enum:
            - results_canceled
          message:
            type: string
        description: Response for any operation that results in a conflict error.
      description: Response returned when a Bulk API job was canceled and has no results.
    SequenceEnrollmentSummary:
      type: object
      required:
      - id
      - mailbox
      - person
      properties:
        id:
          type: string
        mailbox:
          $ref: '#/components/schemas/SequenceMailbox'
        person:
          $ref: '#/components/schemas/SequencePerson'
      description: Enrollment details embedded in sequence enrollment step Bulk API results.
    SequencePerson:
      type: object
      required:
      - id
      - email
      - first_name
      - last_name
      - linkedin_url
      - company
      properties:
        id:
          type: string
        email:
          type: string
        first_name:
          type:
          - string
          - 'null'
        last_name:
          type:
          - string
          - 'null'
        linkedin_url:
          type:
          - string
          - 'null'
        company:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/SequenceCompany'
      description: Person details embedded in sequence Bulk API results.
    SequenceMailbox:
      type: object
      required:
      - id
      - email_address
      - forward_to_email_address
      - secondary_forward_to_email_address
      - user
      - secondary_forward_to_user
      properties:
        id:
          type: string
        email_address:
          type:
          - string
          - 'null'
        forward_to_email_address:
          type:
          - string
          - 'null'
        secondary_forward_to_email_address:
          type:
          - string
          - 'null'
        user:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/SequenceUser'
        secondary_forward_to_user:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/SequenceUser'
      description: Mailbox details embedded in sequence Bulk API results.
    BulkApiDatetimeRangeFilter:
      type: object
      properties:
        gt:
          type: string
        gte:
          type: string
        lt:
          type: string
        lte:
          type: string
      description: 'Datetime range filter. At least one bound must be provided. `gt` is mutually

        exclusive with `gte`, and `lt` is mutually exclusive with `lte`.'
    GetBulkApiJobResultsExpiredResponse:
      type: object
      required:
      - status
      - message
      properties:
        status:
          type: string
          enum:
          - results_expired
        message:
          type: string
      description: Response returned when Bulk API job results have expired.
    GetBulkApiJobResultsPayloadTooLargeResponse:
      type: object
      required:
      - status
      - message
      properties:
        status:
          type: string
          enum:
          - results_page_too_large
        message:
          type: string
      description: Response returned when a requested Bulk API results page is too large.
    GetBulkApiJobNotFoundResponse:
      type: object
      allOf:
      - type: object
        required:
        - status
        - message
        properties:
          status:
            type: string
            enum:
            - not_found
          message:
            type: string
        description: Response for any operation that results in a not found error.
      description: Response returned when a Bulk API job cannot be found.
    ReplyEmailClassificationCategory:
      type: string
      enum:
      - AUTOMATED
      - NEGATIVE
      - NEUTRAL
      - POSITIVE
      description: Reply classification category.
    BulkApiUuidFilter:
      type: object
      required:
      - id
      properties:
        id:
          type: string
      description: Filter matching a resource by ID.
    SequenceEnrollmentStep:
      type: object
      required:
      - id
      - updated_at
      - type
      - status
      - is_blocked
      - is_bounced
      - is_canceled
      - is_opted_out
      - is_paused
      - is_replied
      - sequence
      - step_number
      - started_at
      - ended_at
      - enrollment
      - email_message
      - reply_email_message
      properties:
        id:
          type: string
        updated_at:
          type: string
        type:
          allOf:
          - $ref: '#/components/schemas/SequenceEnrollmentStepType'
        status:
          $ref: '#/components/schemas/SequenceEnrollmentStepStatus'
        is_blocked:
          type: boolean
        is_bounced:
          type: boolean
        is_canceled:
          type: boolean
        is_opted_out:
          type: boolean
        is_paused:
          type: boolean
        is_replied:
          type: boolean
        sequence:
          type: object
          properties:
            id:
              type: string
            name:
              type:
              - string
              - 'null'
            version:
              type:
              - integer
              - 'null'
          required:
          - id
          - name
          - version
        step_number:
          type:
          - integer
          - 'null'
          minimum: 1
          description: '1-indexed position of this step within the sequence enrollment. Null while

            a step execution exists but has not yet been assigned a position — for

            sequences with branching, the position is only fixed once a step is

            expected to run or has finished.'
        started_at:
          type:
          - string
          - 'null'
        ended_at:
          type:
          - string
          - 'null'
        enrollment:
          $ref: '#/components/schemas/SequenceEnrollmentSummary'
        email_message:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/SequenceEnrollmentStepEmailMessage'
        reply_email_message:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/ReplyEmailMessage'
      description: Sequence enrollment step row returned by the sequence enrollment steps Bulk API.
    BulkApiCommonQueryFilter:
      type: object
      properties:
        updated_at:
          $ref: '#/components/schemas/BulkApiDat

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