Report Job Progress
Worker progress update for a Job the caller created.
Single endpoint covering the lifecycle hooks an inbound-feed worker
needs: stage transitions, total_items updates, metadata cross-links
(e.g. import_job_id), error/warning appends, and mark-started /
mark-completed / mark-failed transitions. Designed so customer-side
workers don’t need a database connection — they call this with their
ServerApiKey authentication.
Authorization: Requires job:create permission (the same
permission needed to create the Job in the first place — the
creator owns follow-up updates). Multi-tenancy is enforced: the
request 404s if the Job’s organization_id doesn’t match the
caller’s.
Path Parameters
Cookies
Body
Worker progress update — single endpoint for the lifecycle of a Job that the worker itself created.
Designed for inbound-feed workers (e.g. rrs-oracle-import-worker) that don't have a database connection — they create the Job via POST /api/jobs/ and then call this endpoint at each phase transition. All fields are optional; only provided fields take effect.
Append an error to the Job's errors[] array
If true, mark the Job complete (auto-derives COMPLETED / COMPLETED_WITH_WARNINGS / PARTIAL_SUCCESS)
If set, mark the Job failed with this message as error_message
If true, transition status to in_progress
Optional log line stamped on metadata.last_message
Arbitrary metadata fields to merge under metadata.* — e.g. {'import_job_id': 'enrichment-...'} to cross-link the downstream job.
Set processed_items directly. Useful for inbound-feed workers that dispatch a batch downstream (e.g. via /import-json-async) and need the parent Job to reflect progress without a per-item NATS bus.
x >= 0Sets metadata.stage (e.g. 'downloading', 'transforming', 'uploading', 'dispatched').
Update total_items (e.g. set after the worker counts the rows in a downloaded file).
x >= 0Append a warning to the Job's warnings[] array
Response
Successful Response
Response model for a single Job.
Items that failed
Unique job identifier
Type of job (enrichment or crawl)
Items successfully processed
Progress percentage (0-100)
Current job status
Success rate percentage (0-100)
Total items to process
Job completion timestamp
Job creation timestamp
Job duration in seconds
DEPRECATED: Use 'errors' array. Legacy error message
Array of errors that occurred
Job metadata
Job start timestamp
User who triggered the job
Items processed with warnings (e.g., expected target gaps)
Array of non-blocking warnings (same shape as errors)