---
title: "Get policy-gated GLEIF LEI record"
method: GET
path: "/api/v1/company/{slug}/lei"
tags: ["Companies"]
---

# Get policy-gated GLEIF LEI record

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

## Request

- Base URL: `https://openmercantil.es`
- URL: `https://openmercantil.es/api/v1/company/{slug}/lei`
- Auth: none declared
- TypeScript: <https://skmtc.dev/openmercantil/apis/openmercantil-public-api/docs/api/v1/company/:slug/lei/get.ts> (a function with typed inputs; its response is checked against the schema)

Fail-closed route. GLEIF license declarations conflict in repository evidence and the dataset remains in review; the route returns 503 until a future catalog version records an exact validated public decision.

## Path parameters

- `slug` string, required

## Response `200`

LEI record when GLEIF is authorized

- CompanyLeiResponse: Current GLEIF helper shape. The source-policy gate may make this operation unavailable; has_lei=false is the runtime empty shape, not independent proof of non-registration.
  - `projection_status` 'available', required
  - `projection` 'gleif_lei_v1', required
  - `slug` string, required
  - `has_lei` boolean, required
  - `cif` string, nullable
  - `lei` string, nullable
  - `legal_name` string, nullable
  - `legal_form` string, nullable
  - `registration_status` string, nullable
  - `registered_at` string, nullable
  - `legal_form_code` string, nullable
  - `status` string, nullable
  - `validated_as` string, nullable
  - `validated_as_is_nif` 0 | 1 | null, nullable
  - `legal_city` string, nullable
  - `legal_region` string, nullable
  - `legal_postal` string, nullable
  - `hq_city` string, nullable
  - `hq_region` string, nullable
  - `hq_postal` string, nullable
  - `successor_lei` string, nullable
  - `next_renewal_date` string, nullable
  - `jurisdiction` string, nullable
  - `category` string, nullable
  - `creation_date` string, nullable
  - `registered_at_id` string, nullable
  - `managing_lou` string, nullable
  - `hq_differs` boolean
  - `_source_catalog` SourceCatalogEnvelope, required
    - `catalog_version` string, required
    - `policy_fingerprint` string, required
    - `policy_effective_date` string, date
    - `sources` object, required
  - `_data_sources_used` PublicSourcePolicyMetadata[], required
    - `slug` string, required
    - `name` string, required
    - `license` string, required
    - `license_url` string, uri, nullable
    - `attribution_required` boolean, required
    - `attribution_text` string, nullable
    - `official_url` string, uri, nullable
    - `reuse_conditions` string, required: Condiciones de reutilizacion que el consumidor debe conservar al presentar o transformar el dato.
    - `policy_effective_date` string, date, required
    - `reviewed_at` string, date, required
    - `data_updated_at` string, date-time, nullable
    - `catalog_version` string, required
  - `_attributions` object

## Other responses

- `404`: Resource not found
- `429`: Rate limit exceeded
- `503`: The public read failed closed because its legal source catalog, subject classification, bounded projection, database helper or required artifact is unavailable. Clients must not infer an empty result.

## Changes

- **2026-07-26** `996f96a11758`: 35 info
  - api operation id `getCompanyBySlugLei` was added
  - added the non-success response with the status `404`
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
  - …31 more

[Operation history](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/changes/api/v1/company/:slug/lei/get.md)

---

[API](https://skmtc.dev/openmercantil/apis/openmercantil-public-api.md) - [All operations](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/revisions/601ff6123c86?raw)
