# Ezel > Ezel is an AI legal platform for drafting documents, researching U.S. case law, and managing legal matters. Ezel.ai also hosts a free public legal library: document templates plus plain-English summaries of attorney general opinions, tax rulings, agency decisions, ethics opinions, 50-state surveys, statute annotations, a case citator, and judge analytics. Every library page links to the official source. The Ezel REST API and MCP server give programmatic, authenticated access to a user's matters, documents, cited Q&A grounded in their own files, real U.S. case law search, and review tables (document-by-question extraction grids). Library pages are free to read, cite, and link. Each collection below is a browsable index; every document in it is also listed in the sitemap at https://ezel.ai/sitemap.xml. ## Free legal library - [Legal templates](https://ezel.ai/browse-templates): Free, editable legal document templates (contracts, agreements, letters, and forms) by category and state. - [50-state surveys](https://ezel.ai/surveys): One legal question answered for every U.S. state in plain English, checked against the current statute with verbatim citations. - [Statute annotations](https://ezel.ai/annotations): For each statute section, the court cases that interpreted it, as one-sentence holdings with verbatim quotes and links to the full opinions. - [Case citator](https://ezel.ai/citator): What later courts did with a case (followed, distinguished, criticized, overruled), each treatment quoted from the citing opinion. - [Judge analytics](https://ezel.ai/judges): How individual U.S. judges tend to rule on motions, based on their own signed orders. - [State attorney general opinions](https://ezel.ai/ag-opinions): State AG opinions with plain-English summaries, citations, and the full original text. - [State tax rulings](https://ezel.ai/tax-rulings): State tax letter rulings and advisory opinions with plain-English summaries and the original source. - [IRS written determinations](https://ezel.ai/irs-rulings): IRS private letter rulings, technical advice memoranda, and Chief Counsel advice with plain-English summaries. - [Federal agency decisions](https://ezel.ai/agency-decisions): OSHRC, FMSHRC, FLRA, BIA, EPA EAB, and DOL ARB decisions with plain-English summaries, searchable by agency, outcome, judge, and cited standard. - [State labor guidance](https://ezel.ai/labor-guidance): State labor-agency opinion letters, policies, and interpretive notices with current status. - [Legal ethics opinions](https://ezel.ai/ethics-opinions): State and local bar ethics opinions with plain-English summaries and source links. - [Blog](https://ezel.ai/blog): Plain-English guides to legal documents, research, and using AI on legal work. ## Product - [Ezel home](https://ezel.ai/): What Ezel does: drafting, case law research, matters, and document review. - [Pricing](https://ezel.ai/pricing): Plans, from a single document to a subscription. ## Developer API Base URL for the API: https://app.ezel.ai/api/v1 Authentication: send a personal API key as the header `Authorization: Bearer ezel_live_...` (the header `X-API-Key` is also accepted). Keys carry `read` and/or `write` scopes and are created in the Ezel app under Settings > Connector. The same key works for both the REST API and the MCP server. Key facts for agents: - Everything is organized around "matters" (cases/projects) and the documents inside them. All responses are JSON. - Beyond a typical assistant API, Ezel exposes real citable U.S. case law (via CourtListener, not a model's memory) and keyword/regex search across the user's own uploaded documents. - The `/ask` endpoints accept a `stream` flag for Server-Sent Events. - Errors are `{"error":{"type","message"}}` with standard HTTP status codes (401 unauthorized, 403 forbidden/insufficient_scope, 404 not_found, 429 usage_limit/rate_limited). ## Documentation - [API reference, full markdown](https://ezel.ai/llms-full.txt): The complete REST API + MCP reference as a single plain-markdown file. Best starting point for an LLM, one fetch gives you every endpoint, parameter, and example. - [API reference, web](https://ezel.ai/docs): The human-readable, three-column API reference. - [OpenAPI 3.0 specification](https://app.ezel.ai/api/v1/openapi.json): Machine-readable OpenAPI document for codegen and tooling. ## Getting started - [Authentication](https://ezel.ai/docs#authentication): How to send your API key as a bearer token. - [Scopes](https://ezel.ai/docs#scopes): The `read` and `write` permission scopes on a key. - [Rate limits](https://ezel.ai/docs#rate-limits): Per-key, per-category request limits and the `RateLimit-*` headers. - [Errors](https://ezel.ai/docs#errors): The error envelope and status codes. ## REST API endpoints - [GET /whoami](https://ezel.ai/docs#whoami): Verify a key; returns the account, plan, the key's scopes, and enabled features. - [GET /usage](https://ezel.ai/docs#usage): Storage usage and current message-limit status. - [GET /matters](https://ezel.ai/docs#list-matters): List the user's matters, each with a document count. - [POST /matters](https://ezel.ai/docs#create-matter): Create a matter (scope: write). - [GET /matters/{matter_id}](https://ezel.ai/docs#get-matter): Get one matter. - [DELETE /matters/{matter_id}](https://ezel.ai/docs#delete-matter): Delete a matter; its files/chats are released, not deleted (scope: write). - [GET /matters/{matter_id}/files](https://ezel.ai/docs#list-files): List a matter's documents. - [POST /matters/{matter_id}/files](https://ezel.ai/docs#upload-file): Upload a document (multipart, indexed for search, OCR for scans; scope: write). - [DELETE /matters/{matter_id}/files/{file_id}](https://ezel.ai/docs#delete-file): Delete a document (scope: write). - [POST /ask](https://ezel.ai/docs#ask): General U.S. legal question with research mode; optional SSE streaming. - [POST /matters/{matter_id}/ask](https://ezel.ai/docs#ask-matter): Cited answer grounded only in a matter's documents; optional SSE streaming. - [POST /matters/{matter_id}/search](https://ezel.ai/docs#search-matter): Keyword or regex search across a matter's documents (AND/OR, count-only). - [GET /caselaw/search](https://ezel.ai/docs#caselaw-search): Search real U.S. case law (CourtListener), ranked by relevance. - [GET /cases/{cluster_id}](https://ezel.ai/docs#get-case): Fetch the full opinion text for a case. - [POST /matters/{matter_id}/review-tables](https://ezel.ai/docs#create-review-table): Create and run a document-by-question extraction grid (scope: write). - [GET /review-tables/{table_id}](https://ezel.ai/docs#get-review-table): Read a review table's columns, rows, and extracted cells. - [POST /review-tables/{table_id}/run](https://ezel.ai/docs#run-review-table): Re-run a review table (scope: write). ## MCP - [Connect over MCP](https://ezel.ai/docs#mcp): Use Ezel from Claude (claude.ai/Desktop), Cursor, Claude Code, and ChatGPT. Server URL: https://app.ezel.ai/mcp. Claude connects via OAuth; other clients use the same API key as a bearer token. Read-only tools: ezel_list_matters, ezel_ask_matter, ezel_ask, ezel_search_caselaw, ezel_get_case.