Skip to navigation

Get job status

Retrieves the processing status of one upload. The same answer as the job status read; this one needs documents:read and runs on the upload lane, so poll here during an upload.

Requires the documents:read scope. Rate limit: 1000 requests per minute per key (the upload lane).

Authentication

AuthorizationBearer

Bearer token. Use ss_live_… for live data or ss_test_… for the sandbox (test mode). See Authentication.

Path parameters

job_idstringRequired
The upload's job id.

Headers

SpreadSpace-VersionstringOptionalformat: "^\d{4}-\d{2}-\d{2}$"

Pin the API version, e.g. 2026-10-07. Omit to get the latest. See Versioning.

Response headers

X-Request-IDstringOptional
Correlation ID for this request. Quote it in support tickets.
SpreadSpace-VersionstringOptional

The API surface version the server resolved for this request. Always present, regardless of whether the client supplied the request-side SpreadSpace-Version header. Default: 2026-10-07.

RateLimit-Limitinteger

Request budget of the endpoint’s rate-limit policy per 60-second sliding window. See Rate limits.

RateLimit-Remaininginteger

Requests left in the current window. Suppressed on 429 responses produced outside the rate limiter (for example a usage throttle), where a remaining budget would be misleading.

RateLimit-Resetinteger

Seconds until a guaranteed-fresh window.

RateLimit-PolicystringOptional

The active policy in limit;w=window-seconds form.

Response

OK
job_idstring
statusenum
Allowed values:
total_filesinteger
completed_filesinteger
failed_filesinteger
extracted_document_idslist of strings

Ids of the extracted documents produced by this job, in creation order. A single PDF that splits into N child documents yields N ids; empty when no documents have been ingested yet.

created_atdatetime
updated_atdatetime
borrower_idstring or nullOptional
loan_idstring or nullOptional
processing_started_atdatetime or nullOptional
processing_completed_atdatetime or nullOptional
error_messagestring or nullOptional
unextractable_reasonstring or nullOptional
A sentence you can show the uploader when the job's document could not be extracted for a reason we name, for example a bank statement that did not include all of its pages. Null otherwise.
categorystring or nullOptional

Document category resolved from the extracted document(s) for this job. One category is reported even when a document split into several. Null until extraction results have been ingested.

extraction_sourcestring or nullOptional

Set when the category-determining document came from a Plaid or Finicity response rather than a document file, and names that response kind. Null otherwise.

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error