Unify Sequence Enrollment Steps API

The Sequence Enrollment Steps API from Unify — 4 operation(s) for sequence enrollment steps.

OpenAPI Specification

unify-sequence-enrollment-steps-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Unify Analytics Events Sequence Enrollment Steps API
  summary: Send website and product analytics data into 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.unifyintent.com/analytics/v1
  variables: {}
security:
- BasicAuth: []
tags:
- name: Sequence Enrollment Steps
paths:
  /enrollment-steps/query-jobs:
    post:
      operationId: create_sequence_enrollment_step_query_job
      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
      parameters:
      - name: cursor
        in: query
        required: false
        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
        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
  /enrollment-steps/query-jobs/{job_id}:
    get:
      operationId: get_sequence_enrollment_step_query_job
      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
  /enrollment-steps/query-jobs/{job_id}/cancel:
    post:
      operationId: cancel_sequence_enrollment_step_query_job
      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
  /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:
    SequenceEnrollmentStepStatus:
      type: string
      enum:
      - NOT_STARTED
      - SCHEDULED
      - PENDING
      - FINISHED
      - CANCELED
      - ERRORED
      - UNREACHABLE
      description: Status of an individual sequence enrollment step.
    UResponses.BadRequestError:
      type: object
      required:
      - code
      properties:
        code:
          type: string
        path:
          type: array
          items:
            anyOf:
            - type: string
            - type: integer
        object_api_name:
          type: string
        attribute_api_name:
          type: string
      allOf:
      - type: object
        additionalProperties: {}
      description: Validation error detail returned for bad request responses.
    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.
    BulkApiUuidFilter:
      type: object
      required:
      - id
      properties:
        id:
          type: string
      description: Filter matching a resource by ID.
    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.
    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'
          nullable: true
        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
              nullable: true
            version:
              type: integer
              nullable: true
          required:
          - id
          - name
          - version
        step_number:
          type: integer
          nullable: true
          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
          nullable: true
        ended_at:
          type: string
          nullable: true
        enrollment:
          $ref: '#/components/schemas/SequenceEnrollmentSummary'
        email_message:
          type: object
          allOf:
          - $ref: '#/components/schemas/SequenceEnrollmentStepEmailMessage'
          nullable: true
        reply_email_message:
          type: object
          allOf:
          - $ref: '#/components/schemas/ReplyEmailMessage'
          nullable: true
      description: Sequence enrollment step row returned by the sequence enrollment steps Bulk API.
    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.
    uuid:
      type: string
      format: uuid
      description: String UUID value.
    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.
    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.
    SequencePerson:
      type: object
      required:
      - id
      - email
      - first_name
      - last_name
      - linkedin_url
      - company
      properties:
        id:
          type: string
        email:
          type: string
        first_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        linkedin_url:
          type: string
          nullable: true
        company:
          type: object
          allOf:
          - $ref: '#/components/schemas/SequenceCompany'
          nullable: true
      description: Person details embedded in sequence Bulk API results.
    ReplyEmailClassificationCategory:
      type: string
      enum:
      - AUTOMATED
      - NEGATIVE
      - NEUTRAL
      - POSITIVE
      description: Reply classification category.
    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.
    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
          nullable: true
        forward_to_email_address:
          type: string
          nullable: true
        secondary_forward_to_email_address:
          type: string
          nullable: true
        user:
          type: object
          allOf:
          - $ref: '#/components/schemas/SequenceUser'
          nullable: true
        secondary_forward_to_user:
          type: object
          allOf:
          - $ref: '#/components/schemas/SequenceUser'
          nullable: true
      description: Mailbox details embedded in sequence Bulk API results.
    BulkApiJobStatus:
      type: string
      enum:
      - IN_PROGRESS
      - FINISHED
      - FAILED
      - EXPIRED
      - CANCELED
      description: Status of an asynchronous Bulk API job.
    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.
    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.
    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.
    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/ReplyEmailClassificat

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