API / Referencia

Referencia de la API

Generada del mismo OpenAPI que usa la API. Todas las rutas necesitan una clave: Authorization: Bearer dl_live_….

GET /api/public/v1/contracts

Buscar licitaciones

Licitaciones públicas de España, de la más reciente a la más antigua por fecha de publicación. Todos los filtros son opcionales y se combinan (Y). Pagina con `cursor`: la respuesta trae `meta.siguiente_cursor` mientras queden resultados. Las licitaciones sin fecha de publicación (un 0,1 %) no aparecen en este listado; sí en `/contracts/{id}`.

ParámetroEnTipoDescripción
q query string | null Texto libre sobre título y objeto.
solo_abiertas query boolean Solo las que admiten ofertas ahora.
estado query string | null Código de estado: OPEN, EVALUATION, AWARDED...
cpv query string | null Código CPV o su prefijo (2 dígitos = división).
provincia query string | null
comunidad_autonoma query string | null
tipo_contrato query string | null OBRAS, SERVICIOS, SUMINISTROS...
procedimiento query string | null ABIERTO, RESTRINGIDO...
presupuesto_min query number | null Euros, sin IVA.
presupuesto_max query number | null
publicada_desde query date | null AAAA-MM-DD, incluido.
publicada_hasta query date | null AAAA-MM-DD, excluido.
cursor query string | null
page_size query integer

Respuesta: ListaLicitaciones

GET /api/public/v1/changes

Licitaciones cambiadas desde una fecha

Para mantener una copia sincronizada: devuelve las licitaciones cuyo contenido cambió después de `since`, de la más antigua a la más reciente. Guarda el `siguiente_cursor` y vuelve a llamar con él hasta que venga vacío; la próxima vez, empieza con el `actualizado` de la última que recibiste.

ParámetroEnTipoDescripción
since * query date-time Fecha y hora ISO 8601 con zona.
cursor query string | null
page_size query integer

Respuesta: ListaLicitaciones

GET /api/public/v1/contracts/{ref}

Una licitación, con adjudicaciones, documentos y cronología

ParámetroEnTipoDescripción
ref * path string UUID de la licitación o su `slug`.

Respuesta: LicitacionDetalle

GET /api/public/v1/contracts/{ref}/documents

Documentos de una licitación (pliegos, anuncios, actas)

ParámetroEnTipoDescripción
ref * path string UUID de la licitación o su `slug`.

Respuesta: lista de Documento

GET /api/public/v1/organizations/{identificador}

Un organismo contratante, por NIF o por id

ParámetroEnTipoDescripción
identificador * path string NIF del organismo o su id (UUID).

Respuesta: OrganismoDetalle

GET /api/public/v1/alerts

List Alerts

List current user's alert subscriptions. Sobre estándar `{total, page, page_size, results}`, y en cada alerta la frecuencia EFECTIVA (`frecuencia: inmediato|diario`) derivada del plan — nunca la columna, que puede mentir en los dos sentidos.

ParámetroEnTipoDescripción
page query integer Page number
page_size query integer Items per page

Respuesta: objeto

POST /api/public/v1/alerts

Create Alert

Create a new alert subscription.

Cuerpo: AlertCreate

Respuesta: objeto

GET /api/public/v1/alerts/{alert_id}

Get Alert

Get alert detail. La frecuencia que viaja es la efectiva.

ParámetroEnTipoDescripción
alert_id * path uuid

Respuesta: objeto

PUT /api/public/v1/alerts/{alert_id}

Update Alert

Update an alert subscription.

ParámetroEnTipoDescripción
alert_id * path uuid

Cuerpo: AlertUpdate

Respuesta: objeto

DELETE /api/public/v1/alerts/{alert_id}

Delete Alert

Delete an alert subscription.

ParámetroEnTipoDescripción
alert_id * path uuid

Respuesta: objeto

GET /api/public/v1/alerts/{alert_id}/events

List Alert Events

Get event history for an alert.

ParámetroEnTipoDescripción
alert_id * path uuid

Respuesta: objeto

GET /api/public/v1/follows

Listar Seguimientos

Seguimientos activos del perfil, con la ficha resumida de cada uno.

ParámetroEnTipoDescripción
page query integer Page number
page_size query integer Items per page

Respuesta: object

GET /api/public/v1/follows/{contract_id}

Estado Seguimiento

¿Sigue este perfil la licitación? Solo lo activo cuenta.

ParámetroEnTipoDescripción
contract_id * path uuid

Respuesta: object

PUT /api/public/v1/follows/{contract_id}

Seguir

Seguir (o reactivar) una licitación. Idempotente. 403 con motivo cuando no queda capacidad — el cliente nativo decide cómo contarlo; aquí no se disfraza de éxito.

ParámetroEnTipoDescripción
contract_id * path uuid

Respuesta: object

DELETE /api/public/v1/follows/{contract_id}

Dejar De Seguir

Dejar de seguir. Idempotente, y nunca toca las filas pausadas.

ParámetroEnTipoDescripción
contract_id * path uuid

Respuesta: object

Modelos

Adjudicacion

lote string | null
adjudicatario string | null
adjudicatario_nif string | null Solo si es persona jurídica.
importe number | null Importe de adjudicación sin IVA, en euros.
importe_con_iva number | null
ofertas integer | null Número de ofertas recibidas.
fecha date | null

AlertChannel

AlertCreate

name string | null
filter_text string | null
filter_cpv lista de string | null
filter_provincia lista de string | null
filter_ccaa lista de string | null
filter_tipo_contrato lista de string | null
filter_procedimiento lista de string | null
filter_presupuesto_min number | null
filter_presupuesto_max number | null
trigger_new_contract boolean
trigger_deadline_48h boolean
trigger_deadline_24h boolean
channel AlertChannel
frequency AlertFrequency

AlertFrequency

AlertUpdate

name string | null
filter_text string | null
filter_cpv lista de string | null
filter_provincia lista de string | null
filter_ccaa lista de string | null
filter_tipo_contrato lista de string | null
filter_procedimiento lista de string | null
filter_presupuesto_min number | null
filter_presupuesto_max number | null
trigger_new_contract boolean
trigger_deadline_48h boolean
trigger_deadline_24h boolean
channel AlertChannel
frequency AlertFrequency
is_active boolean | null

Codigo

codigo string | null Valor estable, apto para filtrar y comparar.
etiqueta string | null Texto en castellano para mostrar.

Documento

tipo string | null
titulo string | null
url * string
mime_type string | null
tamano_bytes integer | null
publicado date-time | null Cuándo lo vimos por primera vez.

Fuente

titular * string
licencia * string Identificador SPDX o de la licencia pública del titular.
licencia_url * string
atribucion * string Texto que hay que conservar al reutilizar el registro.
no_patrocinio * string

Hito

clave * string
etiqueta * string
alcanzado * boolean
fecha string | null
estado string | null
sin_fecha_publicada boolean

Licitacion

id * string UUID estable de la licitación.
slug * string
url * string Ficha pública en donlicitacion.es.
expediente * string
lote string | null
titulo string | null
objeto string | null
estado * Codigo
abierta * boolean Se puede presentar oferta ahora: estado abierto y plazo sin vencer.
fecha_publicacion date-time | null
fecha_limite date-time | null Último momento para presentarse. En procedimientos en dos fases (restringido, negociado con publicidad, diálogo competitivo), el fin de las solicitudes de participación.
fecha_fin_ofertas date-time | null Fin de presentación de ofertas de los invitados, solo en procedimientos en dos fases y cuando difiere de `fecha_limite`.
fecha_adjudicacion date-time | null
fecha_formalizacion date-time | null
presupuesto_base number | null Sin IVA, en euros.
presupuesto_con_iva number | null
valor_estimado number | null
cpv_principal string | null Código CPV de 8 dígitos.
cpv_secundarios lista de string
tipo_contrato * Codigo
procedimiento * Codigo
provincia string | null
comunidad_autonoma string | null
organismo * Organismo
adjudicacion Adjudicacion | null Resumen; el detalle por lotes está en la ficha.
url_oficial string | null Anuncio en la plataforma oficial.
actualizado date-time | null Último cambio real de contenido.
fuente * Fuente

LicitacionDetalle

id * string UUID estable de la licitación.
slug * string
url * string Ficha pública en donlicitacion.es.
expediente * string
lote string | null
titulo string | null
objeto string | null
estado * Codigo
abierta * boolean Se puede presentar oferta ahora: estado abierto y plazo sin vencer.
fecha_publicacion date-time | null
fecha_limite date-time | null Último momento para presentarse. En procedimientos en dos fases (restringido, negociado con publicidad, diálogo competitivo), el fin de las solicitudes de participación.
fecha_fin_ofertas date-time | null Fin de presentación de ofertas de los invitados, solo en procedimientos en dos fases y cuando difiere de `fecha_limite`.
fecha_adjudicacion date-time | null
fecha_formalizacion date-time | null
presupuesto_base number | null Sin IVA, en euros.
presupuesto_con_iva number | null
valor_estimado number | null
cpv_principal string | null Código CPV de 8 dígitos.
cpv_secundarios lista de string
tipo_contrato * Codigo
procedimiento * Codigo
provincia string | null
comunidad_autonoma string | null
organismo * Organismo
adjudicacion Adjudicacion | null Resumen; el detalle por lotes está en la ficha.
url_oficial string | null Anuncio en la plataforma oficial.
actualizado date-time | null Último cambio real de contenido.
fuente * Fuente
adjudicaciones lista de Adjudicacion
documentos lista de Documento
cronologia lista de Hito Hitos del procedimiento, en orden.

ListaLicitaciones

data * lista de Licitacion
meta * Meta

Meta

siguiente_cursor string | null Pásalo como `cursor` para la página siguiente.
page_size * integer

Organismo

nombre string | null
nif string | null
id string | null Identificador del organismo en Don Licitación, si está vinculado.

OrganismoDetalle

id * string
nombre string | null
nif string | null
nivel string | null
comunidad_autonoma string | null
provincia string | null
municipio string | null
web string | null
licitaciones_total integer | null
licitaciones_abiertas integer | null
url * string