---
title: "DIAN Third-Party Reports"
method: POST
path: "/co/dian-muisca/third-party-reports/v1"
tags: ["Colombia", "DIAN"]
---

# DIAN Third-Party Reports

`POST /co/dian-muisca/third-party-reports/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/dian-muisca/third-party-reports/v1`
- Auth: HTTP bearer

Read what third parties reported to DIAN about the connected account holder (the person, or the company the connection signs in for) in one tax year (información exógena, 2018 onward): the reporter, the concept and amount, and from 2023 the suggested use in the tax return, additional detail and the filing-threshold summary. Runs as your organization's own DIAN connection.

Supports async delivery: set `Prefer: wait=N` for an inline result, pass `callback_url` to receive a POST when ready, or poll `GET /jobs/{id}`.

## Headers

- `Idempotency-Key` string
- `Prefer` string

## Request body

- object
  - `year` integer, required: Tax year (año gravable), from 2018 to the last year that has ended.
  - `connection_id` string: Optional. Run as this connection (`conn_…`). Empty lets Croma pick among your organization's connections, moving to the next one when one reaches its daily allowance.
  - `callback_url` string, uri: POST the job result here when it finishes.

## Response `200`

Successful response

- DianMuiscaThirdPartyReportsResponse
  - `data` DianMuiscaThirdPartyReportsData, required
    - `year` number, required: Echoes the tax year.
    - `cutoff_date` string, nullable, required: The date DIAN's figures were cut, `yyyy-mm-dd`.
    - `generated_at` string, nullable, required: When DIAN generated the report, ISO 8601 in Bogotá time (`-05:00`).
    - `taxpayer` object, required
      - `document_type` string, nullable, required: The account holder's document type, as DIAN prints it, e.g. "C. C.".
      - `document_number` string, nullable, required: The account holder's document number, as DIAN prints it.
      - `name` string, nullable, required: The account holder's name, as DIAN prints it.
    - `thresholds` object[], required: DIAN's summary against the filing thresholds (topes); empty in years before 2023.
      - `name` string, required: The threshold as DIAN names it, e.g. "Tope 1 - Ingresos".
      - `amount` number, nullable, required: Its value, in COP.
    - `count` number, required: Number of reports returned.
    - `reports` object[], required
      - `reporter_id` string, nullable, required: NIT of the third party that reported.
      - `reporter_name` string, nullable, required: Name of the third party that reported.
      - `reported_id` string, nullable, required: The document the third party reported it under; null in years before 2023.
      - `reported_name` string, nullable, required: The name the third party reported it under.
      - `concept` string, nullable, required: What was reported, e.g. "Certificado - Pagos por salarios" or "Saldo cuentas bancarias".
      - `amount` number, nullable, required: The amount reported, in COP.
      - `suggested_use` string, nullable, required: Where DIAN suggests it goes in the tax return; null in years before 2023.
      - `additional_info` string, nullable, required: Extra detail DIAN attaches, e.g. an account number or ownership share; null in years before 2023.
    - `checked_at` string, required: When DIAN was read (ISO 8601).

## Other responses

- `202`: Accepted — the result is being computed asynchronously. Poll `job.status_url` (GET /jobs/{id}) or supply `callback_url` to have the result POSTed to you. Returned when `Prefer: wait` elapses before completion, or immediately when `callback_url` is set.
- `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)
