---
title: "Get unified multi-source company timeline"
method: GET
path: "/api/v1/company/{slug}/timeline"
tags: ["Companies", "BORME"]
---

# Get unified multi-source company timeline

`GET /api/v1/company/{slug}/timeline`

Fail-closed derived route. Return chronological events from the exact hash-attested BORME company report and the generation/company-bound PLACSP projection. BDNS coverage is explicitly unavailable_generation_bound_projection_missing and no BDNS row, empty-list claim or fallback is emitted. If either available authority cannot be verified, the route returns 503 without reading or caching raw source data.

## Path parameters

- `slug` string, required

## Response `200`

Multi-source timeline

- object
  - `slug` string, required
  - `count` integer, required
  - `sources` string[], required
  - `events` object[], required
    - `date` string, date
    - `category` 'borme' | 'contratos'
    - `type` string
    - `title` string
    - `amount_eur` number, nullable
    - `source_slug` 'borme' | 'placsp'
    - `source_url` string
    - `confidence` 'high' | 'medium' | 'low'
    - `amount_semantics` string
  - `coverage` object, required
    - `borme` string, required
    - `placsp` string, required
    - `bdns` 'unavailable_generation_bound_projection_missing', required
  - `_disclaimer` string

## Other responses

- `404` — Resource not found
- `429` — Rate limit exceeded
- `503` — Controlled fail-closed denial: the required dataset or legal layer is absent, invalid, unsupported or not authorized for this public surface.

---

[API](https://skmtc.net/openmercantil/apis/openmercantil-public-api.md) · [All operations](https://skmtc.net/openmercantil/apis/openmercantil-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmercantil/openmercantil-public-api/revisions/996f96a11758/schema)
