---
title: "De lenguaje natural a código CPV, CNAE o IAE"
method: POST
path: "/codigos"
tags: ["Códigos"]
---

# De lenguaje natural a código CPV, CNAE o IAE

`POST /codigos`

## Request

- Base URL: `https://boletinclaro.es/v1`
- URL: `https://boletinclaro.es/v1/codigos`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Búsqueda de solo lectura con cuerpo JSON, para consultas Unicode largas sin el límite de longitud de URL del proxy. Máximo 32 KiB de cuerpo; no admite parámetros en la URL. CPV para contratación pública, CNAE para actividad económica, IAE para el impuesto de actividades. Es la búsqueda que hace utilizables los demás filtros.

Cada fila lleva su `tipo`. Las filas **no** vienen mezcladas por relevancia entre catálogos, porque sus puntuaciones no son comparables entre sí.

## Request body

- object
  - `consulta` string, required
  - `limite` integer
  - `tipos` string[]

## Response `200`

Códigos que encajan con la descripción.

- RespuestaCodigos: Envoltorio común de las respuestas de lista. No hay paginación: una búsqueda semántica ordena por parecido, y la fila 400 de un ranking así no significa nada.
  - `busqueda` SearchMetadata
    - `candidatos_leidos` integer, required
    - `grupos_consulta` integer, required
    - `limite_candidatos` integer, required
    - `truncada` boolean, required: La selección de candidatos o el resultado se recortó; no es una exportación exhaustiva.
  - `consulta` string: La consulta tal y como se aplicó, ya recortada si venía por encima del máximo.
  - `resultados` Codigo[], required: Códigos encontrados, agrupados por catálogo.
    - `codigo` string, required
    - `descripcion` string, required
    - `division` string: Etiqueta de jerarquía del catálogo (CPV y CNAE).
    - `grupo` string: Etiqueta de jerarquía del catálogo (IAE).
    - `seccion` string: Etiqueta de jerarquía del catálogo (CNAE e IAE).
    - `tipo` 'cpv' | 'cnae' | 'iae', required: Catálogo del que sale el código.
  - `total` integer, required: Cuántas filas trae ESTA respuesta. No es cuántas hay en total.

## Other responses

- `400`: Un parámetro no vale.
- `401`: La clave de API no existe o está revocada.
- `403`: El plan del espacio de trabajo no incluye acceso a la API.
- `405`: La ruta existe pero no admite ese método HTTP.
- `429`: Has superado la ráfaga, el saldo mensual o diario del workspace, el tope por usuario o el máximo de perfiles y fichas.
- `500`: Fallo nuestro.
- `503`: Algo nuestro no está disponible. Incluye el caso en que no se pudo resolver «zona»: preferimos fallar a devolverte resultados sin filtrar.

---

[API](https://skmtc.dev/boletinclaro/apis/api-de-boletin-claro.md) · [All operations](https://skmtc.dev/boletinclaro/apis/api-de-boletin-claro/llms.txt) · [OpenAPI document](https://skmtc.dev/boletinclaro/apis/api-de-boletin-claro/revisions/0a0d93c76a75?raw)
