---
title: "INVIMA Medicine"
method: POST
path: "/co/invima/medicine/v1"
tags: ["Colombia", "INVIMA"]
---

# INVIMA Medicine

`POST /co/invima/medicine/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/invima/medicine/v1`
- Auth: HTTP bearer

Retrieve one presentation of a medicine registered with INVIMA (Colombia) by its CUM code (Código Único de Medicamento), the `id` of a search result, e.g. `20042480-41`: the registration and its status, holder, ATC code, pharmaceutical form, every active ingredient with its concentration, routes of administration, pack, whether the presentation is active and since when, and the manufacturers and importers. Find a CUM with `invima_medicines_search`.

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `cum` string, required: The CUM code of the presentation: the file number and the sequence joined by a hyphen, e.g. `20042480-41`.

## Response `200`

Successful response

- InvimaMedicineResponse
  - `data` InvimaMedicineData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `found` boolean, required: False when INVIMA lists no presentation under that CUM code.
    - `cum` string, required
    - `medicine` object, nullable, required
      - `id` string, required: The CUM code: the file number and the presentation's sequence, e.g. `20042480-41`.
      - `file_number` string, required: The INVIMA file number (expediente) of the registration, e.g. `20042480`; every presentation of one medicine shares it.
      - `cum_sequence` number, required: The presentation's sequence within the file, the second half of the CUM.
      - `registration_number` string, nullable, required: The registro sanitario as INVIMA prints it, e.g. `INVIMA 2023M-0013598-R2`.
      - `product` string, nullable, required: The medicine's name as registered, e.g. `CARDIK ® 3 160/5/12.5`.
      - `holder` string, nullable, required: The holder (titular) of the registration.
      - `status` string, required: The registration's status as INVIMA states it: `Vigente`, `Vencido`, `Perdida Fuerza Ejec`, `Cancelado`, `Negado`, `Suspendido`, `En tramite renov`, `Temp. no comerc - Vigente` and others.
      - `cum_status` 'activo' | 'inactivo', nullable, required: Whether this presentation is active in the CUM: `activo` or `inactivo`.
      - `issued_at` string, nullable, required: `yyyy-mm-dd` the registration was issued.
      - `expires_at` string, nullable, required: `yyyy-mm-dd` the registration expires or expired. Null when INVIMA records none.
      - `cum_active_since` string, nullable, required: `yyyy-mm-dd` the presentation became active in the CUM.
      - `cum_inactive_since` string, nullable, required: `yyyy-mm-dd` the presentation became inactive, when it did.
      - `commercial_description` string, nullable, required: The commercial presentation as registered, e.g. `CAJA POR 30 TABLETAS RECUBIERTAS EN BLISTER`.
      - `pack_quantity` number, nullable, required: Units in the pack, e.g. 30.
      - `pack_unit` string, nullable, required: The unit those are counted in, e.g. `U`, `ml` or `g`.
      - `medical_sample` boolean, nullable, required: True when the presentation is a medical sample (muestra médica).
      - `atc_code` string, nullable, required: The WHO ATC code, e.g. `N02BE01`; the `atc_code` filter matches it from the start.
      - `atc_description` string, nullable, required: What the ATC code stands for, as INVIMA writes it.
      - `pharmaceutical_form` string, nullable, required: The pharmaceutical form, e.g. `TABLETA RECUBIERTA`, `SOLUCION INYECTABLE`.
      - `administration_routes` string[], required: Every route of administration, e.g. `ORAL`, `INTRAVENOSA`.
      - `active_ingredients` object[], required: Every active ingredient with its quantity per reference unit.
        - `name` string, required: The active ingredient as INVIMA names it, e.g. `ACETAMINOFEN`.
        - `quantity` number, nullable, required: How much of it per reference unit, e.g. 500.
        - `unit` string, nullable, required: The unit of that quantity, e.g. `mg`.
        - `reference_unit` string, nullable, required: What the quantity is per, e.g. `TABLETA RECUBIERTA` or `ML`.
      - `parties` object[], required: Every company in a role on the registration: manufacturers and importers.
        - `role` string, required: The role as INVIMA names it, e.g. `FABRICANTE`, `IMPORTADOR`, `ACONDICIONADOR`, `APODERADO`, `REPRESENTANTE LEGAL`, `QUIMICO FARMACEUTICO`.
        - `name` string, required: The company or person in that role, as registered.
      - `modality` string, nullable, required: How the medicine reaches the market, e.g. `FABRICAR Y VENDER`.
      - `ium` string, nullable, required: The Identificador Único de Medicamento, where INVIMA has assigned one.
      - `entries` number, required: How many rows INVIMA's lists carry for this presentation (one per active ingredient, role holder and route).

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
