# Documesh API — OpenAPI specification

Federated developer documentation search across 47 sources (documentation origins). Every result carries source, version, license, and canonical source URL.

Version: 1.0.0

## Endpoints

- `GET /stats` — **Per-source coverage statistics**: Live chunk counts per documentation source plus coverage vs. each source's own published catalog (llms.txt / docs index). coverage = ingested pages / catalog pages; null when the source has no measurable published catalog.
- `GET /health` — **Health check**: 
- `GET /search` — **Federated documentation search**: Search developer documentation across 47 documentation sources. Every result carries a 'source' field (legacy name 'vendor'), version, license, and canonical source URL.
- `GET /explain` — **Error-to-documentation matching**: Given a log excerpt, find the closest matching documentation sections. Returns top-3 diversified results with an honest disclaimer.
- `GET /vendors` — **Vendor registry**: List all documentation sources in the mesh with license and attribution requirements.
- `POST /ask` — **NLWeb natural-language query (supports async + idempotent retries)**: Accepts a natural-language query. Long-running executions return 202 with a job reference to poll; supply Idempotency-Key to make retries safe.
- `GET /jobs/{job_id}` — **Poll an async job**: 
- `POST /batch` — **Batch multiple searches in one request**: Accepts an array of search operations and returns results per operation. Requires Idempotency-Key so agent retries never duplicate a batch.