> ## Documentation Index
> Fetch the complete documentation index at: https://docs.locusmedical.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# drugs

> GET /v2/drugs/* — the full text of an SmPC, when an answer truncated it.

The drug cards in [`/v2/retrieve`](/en/capabilities/retrieve) carry their
sections **truncated at 1,200 characters**: all eight sections in full run about
35 KB per drug, which has no place in an answer payload.

That truncation is only honest if the full text stays reachable. These two routes
are it — **read only**, and never a summary: a summarized contraindication is a
rewritten contraindication.

## A full section

```
GET /v2/drugs/rubrics/{rubric_id}
```

`rubric_id` is the sha256 of the normalized text, as returned by `/v2/retrieve`
in `drugs[].reference.rubrics[].id`.

```bash theme={null}
curl https://core.locusmedical.fr/v2/drugs/rubrics/$RUBRIC_ID \
  -H "Authorization: Bearer $LOCUS_API_KEY"
```

The response carries the ENTIRE text, with `truncated: false`.

| Status | Code                |
| ------ | ------------------- |
| 404    | `RUBRIC_NOT_FOUND`  |
| 503    | `GRAPH_UNAVAILABLE` |

## Another specialty

```
GET /v2/drugs/specialites/{cis}
```

Cards list a molecule's other specialties **without** their sections: generics'
SmPCs are very largely identical, and loading them all would pay a cost for a
repetition. This route loads one of them, on expand.

```bash theme={null}
curl https://core.locusmedical.fr/v2/drugs/specialites/$CIS \
  -H "Authorization: Bearer $LOCUS_API_KEY"
```

| Status | Code                   |
| ------ | ---------------------- |
| 404    | `SPECIALITE_NOT_FOUND` |
| 503    | `GRAPH_UNAVAILABLE`    |
