# FileRouter > Durable document parsing across providers. ## Docs - [How to Authenticate Your FileRouter REST API Requests](https://docs.filerouter.dev/api/authentication.md): How to authenticate FileRouter REST API requests using a Bearer token API key, including the 401 error shape and tips for managing key lifecycle. - [POST /api/v1/jobs — Create a Document Parsing Job](https://docs.filerouter.dev/api/create-job.md): POST /api/v1/jobs creates a hosted parse or compare job. Requires an Idempotency-Key header and a Bearer auth token. Supports URL and binary file inputs. - [GET /api/v1/jobs/{jobId} — Retrieve Job Status and Result](https://docs.filerouter.dev/api/get-job.md): GET /api/v1/jobs/{jobId} polls job status and returns the parsed result when complete. Includes response shapes for all statuses and polling examples. - [FileRouter REST API — Base URL, Versioning, and Endpoints](https://docs.filerouter.dev/api/overview.md): FileRouter REST API base URL, versioning, content types, OpenAPI spec location, and the two core endpoints for creating and retrieving parse jobs. - [Authenticate with FileRouter: API Keys and CLI Login](https://docs.filerouter.dev/authentication.md): Learn how to obtain a FileRouter API key, pass it in SDK and REST requests, and log in through the CLI using browser-based device authorization. - [BYOK Mode: Use Your Own Provider API Keys with the CLI](https://docs.filerouter.dev/cli/byok-mode.md): Use the --local flag to bypass the hosted FileRouter service and call LlamaParse, Mistral OCR, or Datalab directly with your own provider API keys. - [FileRouter CLI Commands: parse, compare, login, providers](https://docs.filerouter.dev/cli/commands.md): Full reference for FileRouter CLI commands: login to authenticate, parse with one provider, compare providers side by side, and list what's available. - [Install the FileRouter CLI and Authenticate Your Account](https://docs.filerouter.dev/cli/installation.md): Install @file_router/cli and authenticate with FileRouter in minutes. Parse and compare documents from the terminal using a hosted API key or BYOK mode. - [Supported Document Input Types and MIME Resolution](https://docs.filerouter.dev/concepts/inputs.md): FileRouter accepts URLs, file paths, Blob, ArrayBuffer, and streams. MIME types resolve by explicit type, filename extension, or octet-stream fallback. - [Hosted Document Jobs: Lifecycle, Status, and Expiry](https://docs.filerouter.dev/concepts/jobs.md): Every hosted parse or compare call creates a durable job. Learn the status lifecycle, idempotency keys, SDK auto-polling, and when results expire. - [Parse Output Formats: Markdown, Pages, Images, and More](https://docs.filerouter.dev/concepts/outputs.md): FileRouter normalizes nine output types into one result shape. Unsupported outputs fail before any provider I/O — request only what you need. - [Parsing Providers: LlamaParse, Mistral OCR, and Datalab](https://docs.filerouter.dev/concepts/providers.md): FileRouter supports llamaparse, mistral-ocr, and datalab, normalizing each provider's results into one consistent output contract for your application. - [File Size Limits and Large Document Uploads with FileRouter](https://docs.filerouter.dev/guides/file-limits.md): Hosted FileRouter accepts uploads up to 100 MB. Learn how to handle larger files with BYOK direct mode, URL inputs, and the CLI's --local flag. - [Safely Retry Parse and Compare Jobs with Idempotency Keys](https://docs.filerouter.dev/guides/idempotency.md): Use idempotency keys to retry hosted parse and compare jobs safely. FileRouter returns the existing result — no double-billing, no duplicate processing. - [Pass Provider-Specific Parse Options to Any Provider](https://docs.filerouter.dev/guides/provider-options.md): Use providerOptions to pass native settings directly to one provider. Each key is namespaced — options never leak between providers. - [FileRouter: Document Parsing Across Any Provider](https://docs.filerouter.dev/introduction.md): FileRouter gives you one API for document parsing across LlamaParse, Mistral OCR, and Datalab — use managed credentials or bring your own provider keys. - [Get Started with FileRouter in Minutes](https://docs.filerouter.dev/quickstart.md): Install the TypeScript SDK, authenticate with your API key, and parse your first document through the hosted FileRouter service in under five minutes. - [Compare Document Parsing Across Multiple Providers](https://docs.filerouter.dev/sdk/compare.md): Run one document through multiple providers at once with compare(). Evaluate output quality side by side across LlamaParse, Mistral OCR, and Datalab. - [Direct BYOK: Use Your Own Provider API Keys](https://docs.filerouter.dev/sdk/direct-byok.md): Use the FileRouter class with your own LlamaParse, Mistral OCR, or Datalab keys. Documents and credentials never leave your environment. - [Handle FileRouter SDK Errors Gracefully](https://docs.filerouter.dev/sdk/errors.md): Every FileRouter SDK error is a FileRouterError instance. Catch it with instanceof and branch on the code field for auth, rate-limit, and timeout errors. - [FileRouterClient: Connect to the Hosted Service](https://docs.filerouter.dev/sdk/hosted-client.md): Connect to the hosted FileRouter API with FileRouterClient. Reads FILEROUTER_API_KEY from your environment and handles async job polling for you. - [Inspect Document MIME Types Before Parsing](https://docs.filerouter.dev/sdk/inspect.md): Use inspectDocument() from @file_router/sdk/inspect to check a file's MIME type and detect binary-signature mismatches — entirely locally, before parsing. - [Install the FileRouter TypeScript SDK](https://docs.filerouter.dev/sdk/installation.md): Install @file_router/sdk with npm, yarn, or pnpm. Requires Node.js ≥ 22.14.0. Optional peer dependencies are only needed for direct BYOK mode. - [Parse Documents with the FileRouter SDK](https://docs.filerouter.dev/sdk/parse.md): Call parse() to process a document with one provider. Choose outputs, select pages, pass provider-specific options, and read the normalized ParseResult.