Create a parse job
API="${PARSEHAWK_API_URL:-http://127.0.0.1:8000}"curl --fail --silent --show-error \ --request POST "$API/v1/parse-jobs" \ --header "Content-Type: application/json" \ --data '{"parser_name":"document-to-markdown","file_id":"file_..."}' | jq .Enqueue page-preserving Markdown parsing for one uploaded PDF, JPG/JPEG, or PNG file. The parser configuration is snapshotted when the job is created.
Request Bodyrequired
Section titled “Request Bodyrequired”Responses
Section titled “Responses”Successful Response
Current state and eventual Markdown result of one parse job.
object
Immutable parse job identifier.
Immutable parser identifier used by the job.
Input file identifier.
Immutable parser configuration captured when the job was created.
object
Immutable parser identifier.
Stable parser name at enqueue time.
Parser label at enqueue time.
Output format at enqueue time.
Parsing instructions at enqueue time.
Explicit reasoning effort for an extractor’s or parser’s model.
The values mirror OpenAI’s reasoning_effort parameter. Extractors store
None by default, which means “send no reasoning parameter and use the
model’s own default” — the only setting that is safe for every model.
Which explicit values a model accepts is the provider’s call; incompatible
pairs surface the provider’s error at extraction time.
The fixed set of model providers ParseHawk ships.
Providers are preconfigured and configurable, not user-creatable, so the name doubles as the stable identifier extractors reference and as the discriminator the engine factory switches on.
The fixed set of model providers ParseHawk ships.
Providers are preconfigured and configurable, not user-creatable, so the name doubles as the stable identifier extractors reference and as the discriminator the engine factory switches on.
Explicit reasoning effort for an extractor’s or parser’s model.
The values mirror OpenAI’s reasoning_effort parameter. Extractors store
None by default, which means “send no reasoning parameter and use the
model’s own default” — the only setting that is safe for every model.
Which explicit values a model accepts is the provider’s call; incompatible
pairs surface the provider’s error at extraction time.
Current job lifecycle state.
Canonical Markdown result for a completed parse job.
object
Result content format.
All page content joined by an HTML page-break comment.
Number of parsed source pages.
Canonical one-based per-page Markdown output.
Markdown output for one source page.
object
One-based source page number.
Markdown transcription for this page.
Terminal parsing error stored with a failed job.
object
Human-readable failure message.
Stable machine-readable failure code.
UTC creation time.
Example
{ "parser_snapshot": { "output_format": "markdown", "reasoning_effort": "none", "provider_name": "openai" }, "provider_name_used": "openai", "reasoning_effort_used": "none", "status": "queued", "result": { "format": "markdown" }}The requested ParseHawk resource does not exist.
Error returned by request validation or a ParseHawk domain service.
object
object
Examplegenerated
{ "code": "example", "detail": [ {} ]}The request or domain input failed validation.
Error returned by request validation or a ParseHawk domain service.
object
object
Examplegenerated
{ "code": "example", "detail": [ {} ]}Unexpected server error.
Error returned by request validation or a ParseHawk domain service.
object
object
Examplegenerated
{ "code": "example", "detail": [ {} ]}Persistence is temporarily busy and the request can be retried.
Error returned by request validation or a ParseHawk domain service.
object
object
Examplegenerated
{ "code": "example", "detail": [ {} ]}