---
title: "Colombia Procedure"
method: POST
path: "/co/suit/procedure/v1"
tags: ["Colombia", "Trámites SUIT"]
---

# Colombia Procedure

`POST /co/suit/procedure/v1`

## Request

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

Retrieve one procedure (trámite) of Colombia's national register of procedures (SUIT) by its número único, e.g. `44` or `T44`, or by its gov.co link: its entity, whether it can be done online, and its full information as markdown, with every step, document, condition, channel, form and fee, the time to obtain, exceptions, legal basis and points of service. `modified_at` says when the entity last updated it. The text comes back a character range at a time (`offset`, `limit`); follow `next_offset` until `has_more` is false.

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

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `procedure_id` string, required: The procedure's `id` from a search result, e.g. `44` (also as `T44`), or its `official_url` on gov.co.
  - `offset` integer: First character of the range to return. Pass the previous response's `next_offset` to continue reading.
  - `limit` integer: Maximum characters to return (1000-1000000).

## Response `200`

Successful response

- SuitProcedureResponse
  - `data` SuitProcedureData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `found` boolean, required
    - `procedure_id` string, required
    - `procedure` object, nullable, required
      - `id` string, required: The procedure's número único in the national register, e.g. `44`. gov.co shows it as `T44`.
      - `number` integer, required: The procedure's número único in the national register.
      - `version` integer, nullable, required: The procedure's version number in the register.
      - `state` string, nullable, required: The procedure's state in the register, e.g. "PUBLICADO".
      - `procedure_class` string, nullable, required: The class of procedure, e.g. "UNICO" (one entity's own) or "MODELO" (a standard procedure many entities offer).
      - `name` string, nullable, required: The procedure's name.
      - `purpose` string, nullable, required: What the procedure is for, as the register states it.
      - `result` string, nullable, required: What the person obtains at the end.
      - `time_to_obtain` string, nullable, required: How long it takes, as the register states it, e.g. "35 días".
      - `entity_code` string, nullable, required: The register's code of the entity that offers the procedure.
      - `entity_name` string, nullable, required: The entity that offers the procedure.
      - `entity_order` string, nullable, required: "NACIONAL" or "TERRITORIAL".
      - `entity_level` string, nullable, required: For territorial entities, "MUNICIPAL", "DEPARTAMENTAL" or "DISTRITAL".
      - `department_code` string, nullable, required: DANE code of the entity's department.
      - `municipality_code` string, nullable, required: DANE code of the entity's municipality.
      - `municipality_name` string, nullable, required: The entity's municipality.
      - `online` string, nullable, required: Whether the procedure can be done online: "TOTALMENTE", "PARCIALMENTE" or "NO".
      - `online_url` string, nullable, required: Where the procedure is done online, when it can be.
      - `manual_url` string, nullable, required: The user manual for doing the procedure online, when there is one.
      - `entity_url` string, nullable, required: The website of the entity that offers the procedure.
      - `modified_at` string, nullable, required: When the procedure's information was last updated in the register, ISO 8601.
      - `created_at` string, nullable, required: When this version of the procedure's information was created, ISO 8601.
      - `official_url` string, required: The procedure on gov.co, the state's portal.
      - `content` object, nullable, required: A range of the procedure's information as markdown, or null when there is none.
        - `text` string, required: The requested character range of the procedure's information, as markdown.
        - `offset` number, required: First character of the range.
        - `total_length` number, required: Length of the whole text in characters.
        - `has_more` boolean, required: Whether the text continues past this range.
        - `next_offset` number, nullable, required: Pass this back as `offset` to read the next range. Null at the end of the text.

## 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)
