Unify Sequence Enrollment Steps API

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

OpenAPI Specification

unify-sequence-enrollment-steps-api-openapi.yml Raw ↑
openapi: 3.0.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:
    BulkApiCommonQueryFilter:
      type: object
      properties:
        updated_at:
          $ref: '#/components/schemas/BulkApiDatetimeRangeFilter'
        sequence:
          $ref: '#/components/schemas/BulkApiUuidFilter'
        person:
          $ref: '#/components/schemas/BulkApiUuidFilter'
        company:
          $ref: '#/components/schemas/BulkApiUuidFilter'
        mailbox:
          anyOf:
          - $ref: '#/components/schemas/BulkApiMailboxIdFilter'
          - $ref: '#/components/schemas/BulkApiMailboxEmailAddressFilter'
        started_at:
          $ref: '#/components/schemas/BulkApiDatetimeRangeFilter'
        ended_at:
          $ref: '#/components/schemas/BulkApiDatetimeRangeFilter'
        id:
          anyOf:
          - type: object
            required:
            - in
            properties:
              in:
                type: array
                items:
                  type: string
                minItems: 1
              not_in:
                type: array
                items:
                  type: string
                minItems: 1
            description: Filter matching values included in a set.
          - type: object
            required:
            - not_in
            properties:
              in:
                type: array
                items:
                  type: string
                minItems: 1
              not_in:
                type: array
                items:
                  type: string
                minItems: 1
            description: Filter matching values excluded from a set.
        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
      description: Filters shared by sequence enrollment and enrollment step Bulk API query jobs.
    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`.'
    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
          nullable: true
        error_code:
          type: string
          nullable: true
        created_at:
          type: string
        expires_at:
          type: string
        canceled_at:
          type: string
          nullable: true
      description: Bulk API job representation.
    BulkApiJobStatus:
      type: string
      enum:
      - IN_PROGRESS
      - FINISHED
      - FAILED
      - EXPIRED
      - CANCELED
      description: Status of an asynchronous Bulk API job.
    BulkApiMailboxEmailAddressFilter:
      type: object
      required:
      - email_address
      properties:
        id:
          type: string
        email_address:
          type: string
      description: Filter matching a mailbox by email address.
    BulkApiMailboxIdFilter:
      type: object
      required:
      - id
      properties:
        id:
          type: string
        email_address:
          type: string
      description: Filter matching a mailbox by ID.
    BulkApiUuidFilter:
      type: object
      required:
      - id
      properties:
        id:
          type: string
      description: Filter matching a resource by ID.
    CancelBulkApiJobNotCancelableResponse:
      type: object
      allOf:
      - type: object
        required:
        - status
        - message
        properties:
          status:
            type: string
            enum:
            - job_not_cancelable
          message:
            type: string
        description: Response for any operation that results in a conflict error.
      description: Response returned when a Bulk API job is not cancelable.
    CancelBulkApiJobSuccessResponse:
      type: object
      required:
      - job_id
      - status
      properties:
        job_id:
          type: string
        status:
          type: string
          enum:
          - CANCELED
      description: Response returned when canceling a Bulk API job.
    CreateBulkApiJobSuccessResponse:
      type: object
      required:
      - job_id
      - status
      - expires_at
      properties:
        job_id:
          type: string
        status:
          type: string
          enum:
          - IN_PROGRESS
        expires_at:
          type: string
      description: Response returned when creating a Bulk API query job.
    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.
    CreateBulkApiSequenceEnrollmentStepsJobRequest:
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/CreateBulkApiSequenceEnrollmentStepsJobFilter'
      description: Request body for creating a sequence enrollment steps Bulk API query job.
    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.
    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.
    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.
    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.
    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.
    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.
    GetBulkApiJobSuccessResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/BulkApiJob'
      description: Response returned when fetching a Bulk API job.
    ListBulkApiJobsSuccessResponse:
      type: object
      required:
      - jobs
      - next_cursor
      properties:
        jobs:
          type: array
          items:
            $ref: '#/components/schemas/BulkApiJob'
        next_cursor:
          type: string
          nullable: true
      description: Response returned when listing Bulk API jobs.
    ReplyEmailClassification:
      type: object
      required:
      - id
      - category
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        category:
          $ref: '#/components/schemas/ReplyEmailClassificationCategory'
      description: Reply email classification details embedded in sequence API results.
    ReplyEmailClassificationCategory:
      type: string
      enum:
      - AUTOMATED
      - NEGATIVE
      - NEUTRAL
      - POSITIVE
      description: Reply classification category.
    ReplyEmailMessage:
      type: object
      required:
      - id
      - subject
      - classifications
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        subject:
          type: string
          nullable: true
        classifications:
          type: array
          items:
            $ref: '#/components/schemas/ReplyEmailClassification'
      description: Reply email message details embedded in sequence API results.
    SequenceCompany:
      type: object
      required:
      - id
      - name
      - domain
      - linkedin_url
      properties:
        id:
          type: string
        name:
          type: string
          nullable: true
        domain:
          type: string
        description:
          type: string
          nullable: true
          description: Present in enrollment results and omitted in step results.
        linkedin_url:
          type: string
          nullable: true
      description: Company details embedded in sequence Bulk API results.
    SequenceEnrollmentStep:

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