---
title: "IGAC Folio History"
method: POST
path: "/co/igac-transactions/folio-history/v1"
tags: ["Colombia", "IGAC Property Transactions"]
---

# IGAC Folio History

`POST /co/igac-transactions/folio-history/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/igac-transactions/folio-history/v1`
- Auth: HTTP bearer

Retrieve every act registered on one Colombian property folio filed 2015-2023, by its matrícula inmobiliaria (`<registry office>-<folio>`, e.g. `002-8032`), in the folio's order: sales with their declared price, mortgages, embargoes, cancellations, subdivisions. `found: false` when the folio had no act in those years or does not exist. No names of parties. Served by Croma (`as_of` says how current the data is).

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

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `registration_number` string, required: The matrícula inmobiliaria as `<registry office>-<folio>`, e.g. `001-1234567` or `50C-123456`. A numeric office may be written without its leading zeros (`1-1234567`).

## Response `200`

Successful response

- IgacFolioHistoryResponse
  - `data` IgacFolioHistoryData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `registration_number` string, required
    - `found` boolean, required: False when the registry recorded no act on the folio between 2015 and 2023, or the folio does not exist; the two cannot be told apart.
    - `municipality_code` string, nullable, required
    - `municipality` string, nullable, required
    - `department` string, nullable, required
    - `zone` 'urban' | 'rural', nullable, required
    - `count` number, required
    - `annotations` object[], required: Every annotation of the folio filed 2015-2023, in the folio's order.
      - `id` string, required: Stable identifier of the annotation: municipality, registry office, folio, annotation number, act code and year, e.g. `05002-002-008032-00012-00125-2021`.
      - `registration_number` string, required: The matrícula inmobiliaria, `<registry office>-<folio>`, e.g. `002-8032`.
      - `registry_office_code` string, required: The registry office (oficina de registro de instrumentos públicos) that keeps the folio, e.g. `002`, `50C`.
      - `folio_number` string, required: The folio's number within its office.
      - `annotation_number` number, required: The annotation's place in the folio's history, 1 for the first.
      - `municipality_code` string, required: Five-digit DANE code of the municipality the property is in.
      - `municipality` string, nullable, required
      - `department` string, nullable, required
      - `zone` 'urban' | 'rural', nullable, required: Whether the property is urban or rural.
      - `rurality_category` string, nullable, required: The municipality's rurality category (2024): `Ciudades y aglomeraciones`, `Intermedio`, `Rural`, `Rural disperso`.
      - `filed_on` string, nullable, required: `yyyy-mm-dd` the act was filed (radicado) at the registry.
      - `filed_year` number, required: The year the act was filed.
      - `act_code` number, required: The registry's code for the act (naturaleza jurídica), e.g. `125` compraventa, `219` hipoteca abierta.
      - `act` string, nullable, required: The act as the registry names it, e.g. `COMPRAVENTA`, `HIPOTECA ABIERTA SIN LIMITE DE CUANTIA`.
      - `instrument` string, nullable, required: The instrument the act rests on and who issued it, as the registry records it, e.g. `00-ESCRITURA 537 DE 28/11/2016; NOTARIA UNICA - ABEJORRAL`.
      - `value_cop` number, nullable, required: The value the act declares, in Colombian pesos; null when it declares none. For a sale it is the price written in the deed, which can sit below the price agreed.
      - `has_value` boolean, required: Whether the act declares a value.
      - `has_several_values` boolean, required: Whether the act declares more than one value; `value_cop` is then the one the registry kept.
      - `parties_from` number, nullable, required: How many parties the act is from (e.g. the sellers).
      - `parties_to` number, nullable, required: How many parties the act is to (e.g. the buyers).
      - `new_folio` boolean, required: Whether the act opened new folios (a subdivision, a horizontal property).
      - `market_activity` boolean, required: Whether the registry counts the act as a sign of real-estate market activity.
      - `folio_status` string, nullable, required: The folio's status: `ACTIVO`, `CERRADO`, `CUSTODIA`; often unreported.
      - `folio_opened_on` string, nullable, required: `yyyy-mm-dd` the folio was opened, when reported.
      - `derived_folios` string[], required: Matrículas opened from this folio by the act, when it opened any.

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