DocuTray

listSteps

List the organization's steps

GET/api/steps

Retrieve the paginated list of steps belonging to the API key's organization, including the execution counters shown in the steps dashboard.

Requires membership in that organization; any role (owner, admin, member) can read.

Steps are always scoped to the organization the API key belongs to, never to the other organizations its owner may be a member of.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

Bearer token for API authentication

In: header

Query Parameters

search?string

Search by step name or description

page?integer

Page number (starts at 1)

Default1
Range1 <= value
limit?integer

Number of results per page (maximum 100)

Default20
Range1 <= value <= 100

Response Body

application/json

getStepExecutionStatus GET

Retrieves the current status and results of a step execution with standardized response format. **Status values:** - `ENQUEUED`: Request received, waiting to be processed - `PROCESSING`: Currently being processed - `SUCCESS`: Processing completed successfully - `ERROR`: Processing failed **Polling recommendation:** - Poll every 1-2 seconds for small documents - Poll every 3-5 seconds for large documents or PDFs

updateStep PATCH

Partially update a step of the API key's organization. Fields absent from the body keep their current value. Requires the `owner` or `admin` organization role; a `member` receives 403. `identification.types` replaces the whole list, it is not merged. Sending a non-empty list also switches the step to automatic identification, replacing any fixed document type it was configured with. On a step that does not use automatic identification an empty list is rejected with 409 instead of applied: such a step reads back as `types: []`, so echoing the object returned by `GET` would otherwise erase its fixed type or turn identification on against every accessible document type. Document type codes the step already has configured are accepted even if the organization can no longer access them (a public type that was unpublished), so re-sending what `GET` returned always works. Adding an inaccessible code is still rejected with 400. The internal processing configuration managed by Docutray (conversion options, result caching, RAG configs, AI model) is preserved untouched.