# OkraPDF ## Docs - [Authentication](https://docs.okrapdf.com/api-reference/authentication.md): Authenticate API requests with your OkraPDF API key. - [Add Documents to Collection](https://docs.okrapdf.com/api-reference/collections/add-documents.md): Add one or more documents to an existing collection. - [Clear Collection Cache](https://docs.okrapdf.com/api-reference/collections/clear-cache.md): Purge cached query results for a collection. - [Create Collection](https://docs.okrapdf.com/api-reference/collections/create-collection.md): Create a new named collection, optionally seeded with documents. - [Delete Collection](https://docs.okrapdf.com/api-reference/collections/delete-collection.md): Delete a collection. Documents are preserved. - [Export Collection](https://docs.okrapdf.com/api-reference/collections/export-collection.md): Export pre-computed markdown for every document in a collection. - [Get Collection](https://docs.okrapdf.com/api-reference/collections/get-collection.md): Retrieve a collection and its document list. - [List Collections](https://docs.okrapdf.com/api-reference/collections/list-collections.md): Retrieve all collections owned by the authenticated API key. - [Query Collection](https://docs.okrapdf.com/api-reference/collections/query-collection.md): Run a natural-language query across all documents in a collection. - [Remove Documents from Collection](https://docs.okrapdf.com/api-reference/collections/remove-documents.md): Remove one or more documents from a collection. - [Update Collection](https://docs.okrapdf.com/api-reference/collections/update-collection.md): Update a collection's name, description, or visibility. - [Get Company](https://docs.okrapdf.com/api-reference/companies/get-company.md): Retrieve details for a specific company. - [List Companies](https://docs.okrapdf.com/api-reference/companies/list-companies.md): List all companies with available filings, optionally filtered by exchange. - [Access Policy](https://docs.okrapdf.com/api-reference/documents/access-policy.md): Control who can query, read, and manage a document. - [Verify Export Audit](https://docs.okrapdf.com/api-reference/documents/audit-verify.md): Verify the integrity of a document's audit trail. - [Delete Document](https://docs.okrapdf.com/api-reference/documents/delete-document.md): Permanently delete a document and all associated data. - [Download Original PDF](https://docs.okrapdf.com/api-reference/documents/download.md): Download the original uploaded PDF. - [Export Document](https://docs.okrapdf.com/api-reference/documents/export.md): Download a pre-formatted export of a document. - [Get Full JSON](https://docs.okrapdf.com/api-reference/documents/full-json.md): Retrieve the entire document content as structured JSON. - [Get Full Markdown](https://docs.okrapdf.com/api-reference/documents/full-markdown.md): Retrieve the entire document content as markdown. - [Get Document Config](https://docs.okrapdf.com/api-reference/documents/get-config.md): Retrieve the workflow configuration for a document. - [Get Figure](https://docs.okrapdf.com/api-reference/documents/get-figure.md): Retrieve a specific figure by index. - [Get Page Content](https://docs.okrapdf.com/api-reference/documents/get-page.md): Retrieve extracted content for a single page. - [Get Page Markdown](https://docs.okrapdf.com/api-reference/documents/get-page-markdown.md): Retrieve a single page as raw markdown text. - [Get Document Status](https://docs.okrapdf.com/api-reference/documents/get-status.md): Retrieve the current status and metadata for a document. - [Get Table](https://docs.okrapdf.com/api-reference/documents/get-table.md): Retrieve a specific table by index in multiple formats. - [Ingest Vendor Output](https://docs.okrapdf.com/api-reference/documents/ingest.md): Push raw vendor extraction output into a document. - [List Documents](https://docs.okrapdf.com/api-reference/documents/list-documents.md): List documents owned by the authenticated API key. - [List Figures](https://docs.okrapdf.com/api-reference/documents/list-figures.md): List all figures extracted from a document. - [List Tables](https://docs.okrapdf.com/api-reference/documents/list-tables.md): List all tables extracted from a document. - [Get Page Image](https://docs.okrapdf.com/api-reference/documents/page-image.md): Retrieve a rendered PNG image of a document page. - [Re-extract Document](https://docs.okrapdf.com/api-reference/documents/reparse.md): Trigger a fresh extraction run on an existing document. - [Upload PDF (Binary)](https://docs.okrapdf.com/api-reference/documents/upload-binary.md): Stream a raw PDF binary in the request body. - [Upload from URL](https://docs.okrapdf.com/api-reference/documents/upload-from-url.md): Upload a PDF by providing a public URL. - [Upload PDF (Multipart)](https://docs.okrapdf.com/api-reference/documents/upload-multipart.md): Upload a PDF file using multipart form data. - [Verify Pages](https://docs.okrapdf.com/api-reference/documents/verify.md): Page-level verification status and actions. - [Errors](https://docs.okrapdf.com/api-reference/errors.md): Standard error codes and how to handle them. - [Get Filing](https://docs.okrapdf.com/api-reference/filings/get-filing.md): Retrieve details for a specific SEC filing. - [Get Filing Audit Trail](https://docs.okrapdf.com/api-reference/filings/get-filing-audit.md): Retrieve the processing audit trail for a filing. - [List Filing Nodes](https://docs.okrapdf.com/api-reference/filings/get-filing-nodes.md): List extracted nodes (tables, text blocks, etc.) in a filing. - [Get Filing Page](https://docs.okrapdf.com/api-reference/filings/get-filing-page.md): Retrieve content for a specific page in a filing. - [List Filing Pages](https://docs.okrapdf.com/api-reference/filings/get-filing-pages.md): List all pages in a filing. - [Get Filing Status](https://docs.okrapdf.com/api-reference/filings/get-filing-status.md): Check the processing status of a filing. - [List Filings](https://docs.okrapdf.com/api-reference/filings/list-filings.md): List all available SEC filings, optionally filtered by exchange, ticker, or type. - [Search Filing](https://docs.okrapdf.com/api-reference/filings/search-filing.md): Full-text search within a specific filing. - [Introduction](https://docs.okrapdf.com/api-reference/introduction.md): Upload, extract, and query PDF documents via the Okra API. - [Quickstart](https://docs.okrapdf.com/api-reference/quickstart.md): Upload and query your first PDF in under 2 minutes. - [Rate Limits](https://docs.okrapdf.com/api-reference/rate-limits.md): API rate limits for OkraPDF. - [Security Model](https://docs.okrapdf.com/api-reference/security-model.md): How authentication and access control work across the API. - [Webhooks](https://docs.okrapdf.com/api-reference/webhooks.md): Get notified when document processing completes. - [How It Works](https://docs.okrapdf.com/architecture.md): A workbench that helps you understand, verify, and manage PDF data - [Chat](https://docs.okrapdf.com/cli/chat.md): Ask questions about documents — or anything — from the command line. - [Collections](https://docs.okrapdf.com/cli/collections.md): Create and manage document collections from the CLI. - [Elements](https://docs.okrapdf.com/cli/entities.md): List, count, and export extracted elements. - [Extract](https://docs.okrapdf.com/cli/extract.md): Upload and extract text, tables, and figures from PDFs. - [Jobs](https://docs.okrapdf.com/cli/jobs.md): Create, monitor, and export extraction jobs. - [Quickstart](https://docs.okrapdf.com/cli/quickstart.md): Install the CLI and extract your first PDF in under a minute. - [Reference](https://docs.okrapdf.com/cli/reference.md): Auth, output formats, environment variables, and global options. - [Verify](https://docs.okrapdf.com/cli/verify.md): Page-level verification status and actions. - [Batch Processing](https://docs.okrapdf.com/cookbook/batch-processing.md): Extract, process, and export PDFs at scale from the command line - [Branch + Replace](https://docs.okrapdf.com/cookbook/branch-and-replace.md): Fork a document, replace bad OCR with corrected data, and verify improved completions — without touching the original. - [Bring Your Own API Key](https://docs.okrapdf.com/cookbook/bring-your-own-key.md): Use your own Anthropic, OpenAI, or Google key to call providers directly — bypassing OpenRouter. - [Build a ChatPDF App](https://docs.okrapdf.com/cookbook/build-chatpdf-clone.md): Ship a ChatPDF-style app using Okra runtime primitives and a deployable starter - [Chat with Any PDF by URL](https://docs.okrapdf.com/cookbook/chat-with-any-url.md): One API call to ask questions about any PDF — no upload step, no parsing pipeline, no vector store. - [Open-source Codex Redaction Skill](https://docs.okrapdf.com/cookbook/codex-redact-skill.md): Use the OkraPDF OSS skill to detect visible PII, emit normalized bbox JSON, and produce a redacted PDF copy. - [Filter Jobs with --jq](https://docs.okrapdf.com/cookbook/filter-jobs-with-jq.md): Use jq expressions to filter, transform, and pipe CLI output - [Local Agent with Document Tools](https://docs.okrapdf.com/cookbook/local-agent-tools.md): Use OkraPDF sessions as callable tools inside Claude/GPT agent loops. - [Local Extraction + Redaction (Docling)](https://docs.okrapdf.com/cookbook/local-redact-docling.md): Parse PDFs locally with Docling — your PDF never touches a third-party cloud. Redaction happens at serve-time on the edge. - [Multi-Document Analysis](https://docs.okrapdf.com/cookbook/multi-doc-analysis.md): Compare, aggregate, and analyze across multiple PDFs with okra chat - [Multi-Doc Agent Deploy](https://docs.okrapdf.com/cookbook/multi-doc-deploy.md): Deploy a completion endpoint over multiple extracted PDFs. - [Output Schema](https://docs.okrapdf.com/cookbook/output-schema.md): Step-by-step: register a profile, materialize extraction data, and read it publicly from R2. - [PII Redaction in Completion Context (curl-first)](https://docs.okrapdf.com/cookbook/pii-redaction-completion-context.md): Prove admin vs viewer completion answers differ because redaction is applied before LLM context. - [Presign Upload (Fast Path)](https://docs.okrapdf.com/cookbook/presign-upload.md): Upload PDFs via stateless presigned URLs for lowest latency. Compare with standard upload. - [Public Completion API](https://docs.okrapdf.com/cookbook/public-completion.md): Create scoped public completion links from a document session. - [Redact & Deploy](https://docs.okrapdf.com/cookbook/redact-deploy.md): Parse a PDF, apply server-side redaction, and get 3 URLs with different permission levels. - [Sandbox Transforms](https://docs.okrapdf.com/cookbook/sandbox-transforms.md): Run custom JavaScript against your documents in a secure V8 sandbox. No network access, no source mutation, read-only by design. - [Multi-Turn Sessions](https://docs.okrapdf.com/cookbook/sessions.md): Stateful conversations across multiple requests — the server remembers context so you don't have to. - [Structured Extraction](https://docs.okrapdf.com/cookbook/structured-extraction.md): Extract typed data from PDFs using session.prompt + Zod or JSON Schema. - [Tool Calling](https://docs.okrapdf.com/cookbook/tool-calling.md): Give your document agent custom tools — standard OpenAI function calling, works with any SDK. - [Upload, Extract, Publish](https://docs.okrapdf.com/cookbook/upload-extract-publish.md): Session-first workflow: create session, wait, publish, and use deterministic URLs. - [URL Builder](https://docs.okrapdf.com/cookbook/url-builder.md): Cloudinary-style URLs for every document property — zero API calls - [Document + Run Model](https://docs.okrapdf.com/developers/document-run-model.md): Durable document identity with explicit processing runs, terminology, and implementation task list. - [React Hooks](https://docs.okrapdf.com/developers/react.md): Drop-in React hooks for document viewing, chat, and structured extraction. - [Document DO Lifecycle HTTP API Design](https://docs.okrapdf.com/developers/room-http-api-design.md): Document-per-DO HTTP shape with explicit runs and completion endpoints, grounded in current agent-session schema. - [TypeScript SDK](https://docs.okrapdf.com/developers/sdk.md): Session-first SDK + curl-first contract for document chat and extraction. - [FAQ](https://docs.okrapdf.com/faq.md): Common questions about OkraPDF - [Agent Colocation Principle](https://docs.okrapdf.com/features/agent-ready-documents.md): Why agents must run where your data lives - [Beyond RAG](https://docs.okrapdf.com/features/beyond-rag.md): Why retrieval-augmented generation was a 2023 solution—and what comes next - [Branching](https://docs.okrapdf.com/features/branching.md): Create independent forks of documents for safe experimentation, A/B testing, and correction workflows. - [Okra Agent](https://docs.okrapdf.com/features/chat.md): Your AI assistant for document tasks—search, select, and export with natural language - [Collections](https://docs.okrapdf.com/features/collections.md): Group documents together for organized analysis and multi-document workflows - [Deployments](https://docs.okrapdf.com/features/deployments.md): Turn any document or collection into a shareable, access-controlled completion endpoint - [Eval Agent](https://docs.okrapdf.com/features/eval-agent.md): Async LLM-as-judge that evaluates every document chat response. Catches hallucinations, enforces compliance, and logs alerts — without blocking the response. - [Ingest API](https://docs.okrapdf.com/features/ingest-api.md): Send pre-parsed vendor results and let OkraPDF hydrate, index, and serve the document lifecycle. - [Output Schema](https://docs.okrapdf.com/features/output-schema.md): Define extraction recipes, materialize outputs with audit trails, and serve results publicly — all without waking the Durable Object. - [Public Completion API](https://docs.okrapdf.com/features/public-completion.md): Turn any document into a shareable Q&A endpoint with a clean URL -- no auth needed for consumers - [Redaction](https://docs.okrapdf.com/features/redaction.md): Server-side PII redaction with role-based access. Same document, different views. - [Sandbox Transforms](https://docs.okrapdf.com/features/sandbox-transforms.md): Run custom JavaScript against your documents in a secure V8 sandbox. No network access, no source mutation, read-only by design. - [Search by Tags](https://docs.okrapdf.com/features/search.md): Find documents instantly using tags and content - [Chat Widget](https://docs.okrapdf.com/integrations/chat-widget.md): Embed a PDF chatbot on any website with one script tag - [Chrome Extension](https://docs.okrapdf.com/integrations/chrome-extension.md): Capture and process PDFs directly from your browser - [Docling](https://docs.okrapdf.com/integrations/docling.md): Parse PDFs locally with IBM's Docling, deploy to OkraPDF for chat, extraction, and page rendering. Your PDF bytes never leave your machine. - [Email Import](https://docs.okrapdf.com/integrations/email-import.md): Forward PDFs to OkraPDF via email for automatic processing - [Use OkraPDF with Claude](https://docs.okrapdf.com/integrations/mcp-server.md): Extract financial data from PDFs inside Claude Desktop or Claude Code — no coding required - [Pricing](https://docs.okrapdf.com/pricing.md): Pay for what you use. No subscriptions, no commitments. - [Quickstart](https://docs.okrapdf.com/quickstart.md): Extract data from your first PDF in minutes - [Deterministic Delivery](https://docs.okrapdf.com/showcase/deterministic-delivery.md): Cloudinary-style PDF asset delivery with immutable URLs and cache-safe variants - [Edge ChatPDF](https://docs.okrapdf.com/showcase/edge-chatpdf.md): Ship PDF chat on edge runtimes without Node-only parsing dependencies - [Secure Invoice Reviewer](https://docs.okrapdf.com/showcase/secure-invoice-reviewer.md): Role-based invoice views with redaction and structured extraction workflows - [Package Versions](https://docs.okrapdf.com/versions.md): Latest published versions of OkraPDF packages ## OpenAPI Specs - [openapi](https://docs.okrapdf.com/openapi.yaml) ## Optional - [App](https://app.okrapdf.com/dashboard)