> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.emtelligent.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.emtelligent.com/_mcp/server.

# Overview

The Summarization API writes a summary of clinical documents, following your
instructions. Send a document's text — or several documents about one patient —
and a **prompt** saying what the summary is for: who will read it, what to cover,
how long it should be. You get back one summary, as Markdown.

The summary takes negation ("no evidence of metastasis"), uncertainty and history into
account. With several documents, the summary **cites** them, so your users can see where
each statement came from.

## How a request works

The API is asynchronous. You submit a job, wait for it to finish, then download
the result once.

```
POST   /v1/jobs              → 202, the job: {"id": "job_…", "status": "queued", …}
GET    /v1/jobs/{id}         → status: queued → running → succeeded | failed | canceled
GET    /v1/jobs/{id}/result  → the result, once; a second request returns 410
DELETE /v1/jobs/{id}         → cancel the job, or delete its unread result
```

A single document usually takes a few seconds; a dozen documents take about
half a minute. Poll the status every two seconds or so.

|                    |                                                                                                                                                                      |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Authentication** | `Authorization: Bearer <key>`, using an [API key](/platform/api-keys) or an [OAuth 2.0 access token](/platform/oauth-clients) with the `summarization:process` scope |
| **Format**         | JSON in; Markdown summary in a JSON result                                                                                                                           |
| **Input**          | UTF-8 text: one document, or up to 50 documents about one patient                                                                                                    |
| **Results**        | Downloadable once; a job expires 24 hours after submission                                                                                                           |
| **Billing**        | By the amount of text: one page per 2,048 bytes in (documents and prompt) and out (summary). See [Limits and billing](/summarization/reference/limits)               |

## What you can send

|                       | Send                                                                                     | Guide                                                                |
| --------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| **One document**      | `document`: its text                                                                     | [Quickstart](/summarization/quickstart-code-example)                 |
| **Several documents** | `documents`: up to 50, each with an optional id, date and patient details                | [Several documents](/summarization/guides/several-documents)         |
| **Prep API output**   | `prep_documents`: the lines of the JSONL file the Prep API produces                      | [Prep and NLP API output](/summarization/guides/prep-and-nlp-output) |
| **NLP API results**   | `nlp_results`: result files you already have                                             | [Prep and NLP API output](/summarization/guides/prep-and-nlp-output) |
| **FHIR R4 bundles**   | `fhir_bundles`: a patient's notes and structured record (problems, medications, labs, …) | [FHIR bundles](/summarization/guides/fhir-bundles)                   |

The last four can be combined in one job. However the documents arrive, you get
one summary.

How well the summary serves its reader depends mostly on the prompt: see
[Writing prompts](/summarization/guides/writing-prompts).

## Versioning

The API is versioned in the path (`/v1`). Changes within `v1` are additive: new
optional fields, new error codes, new kinds of input. Ignore fields you do not
recognise. A breaking change will come as a new version, with advance notice.

Every result carries a `pipeline_version`, which identifies the release that
produced it.

## Support

Email [support@emtelligent.com](mailto:support@emtelligent.com), quoting the
`request_id` from an error response or the job `id`.