How it works

From upload to answer

your file ──▶ read the text ──▶ extract fields (optional) ──▶ answer
              digital text now,   only if you sent a
              OCR for scans       JSON Schema
  1. You upload a file to POST /v1/convert with your API key. You choose the output format (json, markdown or html) and, optionally, a JSON Schema.
  2. DocSlice reads the document. A PDF with real text is read immediately. A scanned PDF or an image goes through OCR, and the answer says so with ocr_applied: true.
  3. Fields are extracted if you passed a schema (with format=json): the AI layer fills the object you described. The answer reports schema_applied: true.
  4. You get the answer: the content in data, the number of pages, and the flags above.

Synchronous and asynchronous

By default the request waits and the answer comes back in the same response (mode=sync). For long documents, batches or when you do not want to hold a connection open, send mode=async: DocSlice answers at once with a job_id, works in the background, and you either poll GET /v1/jobs/{job_id} or receive a webhook when the job ends.

How pages are counted

Your quota is counted in pages, per calendar month (UTC). Every page of a converted document counts, including scanned pages read with OCR. When the quota is used up, new requests are refused with 402 until the first day of the next month. You can always see what you have used with GET /v1/usage and in the dashboard.

What is deleted, and when

What When it is deleted
The uploaded file Immediately after it has been processed
The result of a background job 24 hours after the job finishes (the job record stays, the content does not)
Usage metadata (file name, pages, time), never the content After 12 months
Your account data Immediately, when you delete your account (backups within 30 days)

Documents are processed in Frankfurt, Germany, and are never used to train models. Read more in Privacy and data retention.