Jobs

Get a job by id (EP-031-T6)

Per-job status lookup by id, device-signed (same ownership check as the v1 list). Used to re-query a job that has aged out of the recent list.

get/jobs/{jobId}

Request

  • Base URL: https://pdf2md.dev
  • URL: https://pdf2md.dev/jobs/{jobId}
  • Auth: HTTP bearer

Path parameters

jobIdstring uuid required

Job identifier (UUID)

Headers

X-Timestampinteger required
Example:1700000000

Unix time (sec) for the request signature (±300s window, see docs/security.md)

X-Noncestring required
Example:bXlfbm9uY2UtdjE

Random string (base64url), unique per request (TTL 5 minutes, anti-replay)

X-Body-SHA256string required
Example:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

hex sha256 of the request body (for GET/DELETE — sha256 of an empty body)

X-Signaturestring required
Example:MEYCIQCZqlk3E1p5k2y1hZ0ykjW9tzjO4GDBWJ3QYw9UWF2gtwIhAKuQKk8NfZp7uA9u6YzKxHnD7bHkHHRp2tkMZ0QYpQMb

Signature of the canonical string (ES256), see docs/security.md

Response

The job resource

job_idstring uuid required
status'queued' | 'processing' | 'ready' | 'error' | 'canceled' | 'deleted' required

Job status

converter_codestring required
status_sincestring date-time required

Time of entry into the current status (UTC)

priorityinteger required

A lower number — higher priority. v2 (EP-023, §7.7): a band scale, min is no longer 4 — the client treats the value as opaque (timers are computed from status_since/ready_at, not from priority).

priority_assigned_atstring date-time required

When priority was assigned/lowered

error_messagestring nullable
error_codestring nullable

Stable machine error code for a failed job (EP-031). Additive — absent on success and on older records. Clients localize by this code; the human error_message is a fallback.

file_namestring required
output_sizeinteger nullable

Markdown size (bytes), only for ready

download_urlstring uri nullable

Populated for ready

pagesinteger nullable

Number of pages in the source PDF (EP-018). An additive field — absent on the old backend/old jobs; clients should ignore it if missing.

truncatedboolean

true — the result is partial: conversion reached the soft time budget and a disclaimer was appended to the end of the Markdown (EP-018). Additive, backward-compatible: absence/false = full result.

Example response

{
  "converter_code": "pdf_to_md"
}

Changes

No recorded changes to this operation across all 1 revision of this API.