Unstructured jobs API

The jobs API from Unstructured — 6 operation(s) for jobs.

OpenAPI Specification

unstructured-jobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Unstructured Partition channels jobs API
  version: 1.5.58
servers:
- url: https://api.unstructuredapp.io
  description: Serverless SaaS API
  x-speakeasy-server-id: saas-api
- url: http://localhost:8000
  description: Development server
  x-speakeasy-server-id: development
security:
- ApiKeyAuth: []
- {}
tags:
- name: jobs
paths:
  /api/v1/jobs/:
    get:
      tags:
      - jobs
      summary: List Jobs
      description: Retrieve a list of jobs with optional filtering by workflow ID or job status.
      operationId: list_jobs
      parameters:
      - name: workflow_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Workflow Id
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Status
      - name: unstructured-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Unstructured-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobInformation'
                title: Response List Jobs
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - jobs
      summary: Create Job
      description: Create a new on-demand job using either a template (with persistent job optimization) or custom DAG.
      operationId: create_job
      parameters:
      - name: unstructured-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Unstructured-Api-Key
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_create_job'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobInformation'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jobs/{job_id}:
    get:
      tags:
      - jobs
      summary: Get Job
      description: Retrieve detailed information for a specific job by its ID.
      operationId: get_job
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      - name: unstructured-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Unstructured-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobInformation'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jobs/{job_id}/cancel:
    post:
      tags:
      - jobs
      summary: Cancel Job
      description: Cancel the specified job.
      operationId: cancel_job
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      - name: unstructured-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Unstructured-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jobs/{job_id}/download:
    get:
      tags:
      - jobs
      summary: Download Job output
      description: Download the output of a job from a workflow where the input file was provided at runtime.
      operationId: download_job_output
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      - name: file_id
        in: query
        required: true
        schema:
          type: string
          description: ID of the file to download
          title: File Id
        description: ID of the file to download
      - name: node_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          description: Node ID to retrieve the corresponding output file.If not provided, uses the terminal processing node in the workflow.
          title: Node Id
        description: Node ID to retrieve the corresponding output file.If not provided, uses the terminal processing node in the workflow.
      - name: unstructured-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Unstructured-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jobs/{job_id}/details:
    get:
      tags:
      - jobs
      summary: Get Job processing details
      description: Retrieve processing details for a specific job by its ID.
      operationId: get_job_details
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      - name: unstructured-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Unstructured-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobDetails'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/jobs/{job_id}/failed-files:
    get:
      tags:
      - jobs
      summary: Get Job Failed Files
      description: Retrieve failed files for a specific job by its ID.
      operationId: get_job_failed_files
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Job Id
      - name: unstructured-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Unstructured-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobFailedFiles'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    JobStatus:
      type: string
      enum:
      - SCHEDULED
      - IN_PROGRESS
      - COMPLETED
      - STOPPED
      - FAILED
      title: JobStatus
    JobFailedFiles:
      properties:
        failed_files:
          items:
            $ref: '#/components/schemas/FailedFile'
          type: array
          title: Failed Files
      type: object
      required:
      - failed_files
      title: JobFailedFiles
    JobAggregations:
      properties:
        total_docs:
          type: integer
          title: Total Docs
          default: 0
        total_docs_succeeded:
          type: integer
          title: Total Docs Succeeded
          default: 0
        total_docs_failed:
          type: integer
          title: Total Docs Failed
          default: 0
      type: object
      title: JobAggregations
    JobProcessingStatus:
      type: string
      enum:
      - SCHEDULED
      - IN_PROGRESS
      - SUCCESS
      - COMPLETED_WITH_ERRORS
      - STOPPED
      - FAILED
      title: JobProcessingStatus
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    Body_create_job:
      properties:
        input_files:
          anyOf:
          - items:
              type: string
              contentMediaType: application/octet-stream
            type: array
          - type: 'null'
          title: Input Files
        request_data:
          type: string
          title: Request Data
      type: object
      required:
      - request_data
      title: Body_create_job
    FailedFile:
      properties:
        document:
          type: string
          title: Document
        error:
          type: string
          title: Error
      type: object
      required:
      - document
      - error
      title: FailedFile
    JobDetails:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        processing_status:
          $ref: '#/components/schemas/JobProcessingStatus'
        node_stats:
          items:
            $ref: '#/components/schemas/JobNodeDetails'
          type: array
          title: Node Stats
        summary:
          anyOf:
          - $ref: '#/components/schemas/JobAggregations'
          - type: 'null'
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
      type: object
      required:
      - id
      - processing_status
      - node_stats
      title: JobDetails
    JobInformation:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        workflow_id:
          type: string
          format: uuid
          title: Workflow Id
        workflow_name:
          type: string
          title: Workflow Name
        status:
          $ref: '#/components/schemas/JobStatus'
        created_at:
          type: string
          format: date-time
          title: Created At
        runtime:
          anyOf:
          - type: string
            format: duration
          - type: 'null'
          title: Runtime
        input_file_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Input File Ids
        output_node_files:
          anyOf:
          - items:
              $ref: '#/components/schemas/NodeFileMetadata'
            type: array
          - type: 'null'
          title: Output Node Files
        job_type:
          $ref: '#/components/schemas/WorkflowJobType'
          default: ephemeral
      type: object
      required:
      - id
      - workflow_id
      - workflow_name
      - status
      - created_at
      title: JobInformation
    NodeFileMetadata:
      properties:
        node_id:
          type: string
          format: uuid
          title: Node Id
        file_id:
          type: string
          title: File Id
        node_type:
          type: string
          title: Node Type
        node_subtype:
          type: string
          title: Node Subtype
      type: object
      required:
      - node_id
      - file_id
      - node_type
      - node_subtype
      title: NodeFileMetadata
    WorkflowJobType:
      type: string
      enum:
      - ephemeral
      - persistent
      - scheduled
      - template
      title: WorkflowJobType
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    JobNodeDetails:
      properties:
        node_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Node Name
        node_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Node Type
        node_subtype:
          anyOf:
          - type: string
          - type: 'null'
          title: Node Subtype
        ready:
          type: integer
          title: Ready
        in_progress:
          type: integer
          title: In Progress
        success:
          type: integer
          title: Success
        failure:
          type: integer
          title: Failure
      type: object
      required:
      - ready
      - in_progress
      - success
      - failure
      title: JobNodeDetails
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: unstructured-api-key
      in: header
      x-speakeasy-example: YOUR_API_KEY
x-speakeasy-retries:
  strategy: backoff
  backoff:
    initialInterval: 3000
    maxInterval: 720000
    maxElapsedTime: 1800000
    exponent: 1.88
  statusCodes:
  - 5xx
  retryConnectionErrors: true