Skip to main content
All Vision API operations run asynchronously. When you start an operation, you receive a job ID. Poll the job or subscribe to webhooks for results.

What are Jobs?

Many operations in Bedrock take time to complete—processing a large drawing PDF, comparing hundreds of sheets, or running AI analysis. These operations create Jobs that you can monitor.

Job Lifecycle

Job Created (Queued)

  ├─→ Started (processing)

  ├─→ Completed (success)
  │     └─→ Results available

  └─→ Failed (error)
        └─→ Error details in response

Job Object

FieldTypeDescription
job_idstringUnique identifier (e.g., job_01JABCD123)
organization_idstringParent Organization
project_idstringParent Project
typestringJob type (e.g., overlay.change.detect). See Job Types.
statusstringCurrent status
targetobject{ type, id } of the resource being processed
parent_idstringParent job ID (for child jobs)
resultsobjectJob output data (when completed)
errorobjectError details (when failed)
eventsarrayStatus change history
created_atdatetimeCreation timestamp
completed_atdatetimeCompletion timestamp (when completed)

Job Statuses

StatusDescription
QueuedJob is waiting to be processed
StartedJob is currently running
CompletedJob finished successfully
FailedJob encountered an error
CanceledJob was canceled

Job Hierarchy

Some jobs create child jobs for parallel processing:
drawing.preprocess (parent)
  ├─→ sheet.preprocess (child 1)
  ├─→ sheet.preprocess (child 2)
  └─→ sheet.preprocess (child 3)
The parent job completes when all child jobs finish.
Jobs are created automatically by other operations (uploading files, comparing drawings, etc.). You cannot create jobs directly.