Book a document
This is the Docbooks core. Product-wise: the customer hands you a receipt; you want a posting proposal, not a pile of OCR fields. You POST the file to Docbooks only. Architecturally Docbooks calls Docpier extraction behind the scenes (forwards your Bearer token — must include capture) and then books.
You get 202 with a bookingJobId in QUEUED status. Wait for BOOKING_FINALISED, then GET. Do not POST the file to Docmind first.
/api/docbooks/v1/workspaces/{workspace_id}/bookingsUse the Docbooks workspace id from onboarding, not the Docmind
workspaceId from capture. Unprovisioned → 409. Enable
capture and booking.
Keep the original file bytes. Booking is always a multipart file POST to Docbooks — never a Docmind documentId.
Authentication
AuthorizationstringheaderrequiredBearer token with scopes docbooks.bookings and capture (docmind.capture /
deprecated idp.capture).
Path
workspace_idstring (ULID)pathrequiredDocbooks workspace.
Multipart
filefilebodyrequiredPDF or image to book.
metadatastring (JSON)bodyrequiredJSON object: required actor.extRef; optional extRef; optional
processingInstruction (split.enabled, capture forwarded to Docmind as
options, optional settings override).
After 202
Wait for BOOKING_FINALISED, then:
/api/docbooks/v1/bookings/{booking_job_id}Optional query include=extraction embeds extraction data when available.
List bookings:
GET /api/docbooks/v1/workspaces/{workspace_id}/bookings (pagination
envelope).
If split is enabled on the booking metadata, only the parent job fires the webhook. Children appear on the GET report.