getMonthlyUsage
Get monthly usage for your organization
Returns how many pages and operations your organization has successfully processed in a given month. Use it to surface consumption in your own admin UI, build usage alerts before hitting your plan's quota, or reconcile invoices.
The organization is identified by the API key in the request — there is
no organizationId parameter and you cannot query other organizations.
Behavior:
- When
yearandmonthare omitted, the endpoint returns counters for the current month. - When the organization has no recorded usage for the requested month
(e.g. the month is in the future, or the organization didn't process
anything), both counters return
0— this is not an error. - This endpoint is not subject to quota enforcement. Calling it does not count toward your usage and is never blocked by 429/402.
What successful_conversions counts: any operation that completed
successfully — both document conversions and document identifications.
The name is kept singular for backwards compatibility.
Authorization
ApiKeyAuth Bearer token for API authentication
In: header
Query Parameters
Year (must be sent together with month). Defaults to the current year.
2020 <= value <= 2100Month 1–12 (must be sent together with year). Defaults to the current month.
1 <= value <= 12Response Body
application/json
application/json
application/json
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.
Node.js SDK
Official Node.js SDK for the DocuTray API — typed OCR conversion, document identification, data extraction, and knowledge bases for Node 20+.