Jobs
Create worker jobs and track them through completion.
Jobs expose status, progress, retry count, deadline, output metadata, retention, and failure reason. Use /jobs for tools whose catalog entry marks API job creation as available.
States
queued
running
succeeded
failed
canceled
Create and inspect
POST https://api.arconath.com/boringkit/v1/jobs
GET https://api.arconath.com/boringkit/v1/jobs/{id}
GET https://api.arconath.com/boringkit/v1/jobs?status=running
GET https://api.arconath.com/boringkit/v1/jobs/{id}/download-intent
POST https://api.arconath.com/boringkit/v1/jobs/{id}/cancel
POST https://api.arconath.com/boringkit/v1/jobs/{id}/closeCreate request
{
"toolSlug": "image-compress-api",
"input": {
"kind": "file",
"name": "source.png",
"contentType": "image/png",
"sizeBytes": 2048000,
"options": {
"quality": 82
}
}
}Accepted worker tools
html-to-pdf-apiRender basic HTML or a JSON HTML payload into a temporary PDF output. Text input can be supplied directly in the create request.
word-to-pdfConvert DOCX or ODT documents to temporary PDF output.
slides-to-pdfConvert PPTX or ODP slide decks to temporary PDF output.
spreadsheet-to-pdfConvert XLSX, ODS, or CSV files to temporary PDF output.
pdf-to-images-zipRender PDF pages to PNG files and package them as ZIP.
pdf-to-textExtract machine-readable PDF text with scanner/OCR limitations reported in metadata.
pdf-to-markdownExtract machine-readable PDF text into Markdown with quality metadata.
pdf-to-docxGenerate text-only DOCX from machine-readable PDF text.
image-compress-apiCompress PNG, JPEG, or WebP file input into optimized JPEG output. File input uses an upload intent.
trim-videoTrim MP4, QuickTime, or WebM input through the worker lane within size and duration limits.
compress-videoCompress MP4, QuickTime, or WebM input through the worker lane.
video-to-gifRender short clips to GIF output through the worker lane.
mute-videoRemove audio from MP4, QuickTime, or WebM input through the worker lane.
Lifecycle behavior
idempotencySend Idempotency-Key when creating jobs from retrying clients. Reuse the same key for the same intended job.
upload intentFile jobs return a PUT upload intent that expires quickly. Upload the exact content type and size you declared.
pollingPoll /jobs/{id} until status is succeeded, failed, or canceled. Do not create duplicate jobs just because output is not ready.
timeoutsWorker jobs include deadlineAt and maxAttempts. Timed-out jobs move to failed with an error reason.
cancellationPOST /jobs/{id}/cancel cancels queued or running jobs. Queued cancellations are fully refunded; running cancellations may keep one accepted-run credit.
closePOST /jobs/{id}/close hides the workspace row without deleting audit metadata or retained output metadata.
downloadAfter success, call /jobs/{id}/download-intent and fetch the URL before output expiry.
