Endpoint: afiliación en salud (EPS) de la BDUA
Con el documento de una persona devuelve su afiliación en salud según la Base de Datos Única de Afiliados de la ADRES: la EPS, el régimen (contributivo o subsidiado), el estado y el tipo de afiliado, con las fechas de afiliación y finalización. `afiliaciones` trae el historial completo —una fila por traslado de EPS o cambio de régimen— y la fila ACTIVA es la vigente. Responde en segundos y no pide la fecha de expedición del documento.
La afiliación en salud de una persona por documento, de la Base de Datos Única de Afiliados (BDUA) que administra la ADRES: la EPS, el régimen (contributivo o subsidiado), el estado (activo/retirado), el tipo de afiliado (cotizante, beneficiario, cabeza de familia) y las fechas de afiliación y finalización, junto con los datos básicos de la persona y su ciudad. Responde en segundos y no pide fecha de expedición del documento. afiliaciones trae el historial completo —una fila por traslado de EPS o cambio de régimen— y la fila ACTIVA es la afiliación vigente. Es la misma sección salud de /api/ruaf en versión puntual: aquella exige la fecha de expedición y cuesta 2 créditos con decenas de segundos de espera; esta responde "¿qué EPS tiene hoy?" por 1. ⚠️ La fuente enmascara la fecha de nacimiento (**/**/**), así que sale null. Una persona no registrada en BDUA responde 404 y NO cobra. Cuesta 1 crédito.
Cuerpo de la solicitud
{
"docType": "CC",
"docNumber": "1020304050"
}| Campo | Tipo | Qué es |
|---|---|---|
| docType | string | Tipo de documento. Por defecto `CC`. Son los códigos del registro de salud: PE = Permiso Especial de Permanencia, PT = Permiso por Protección Temporal, PC = PEP-Tutor, NU = NUIP. Se aceptan también los nombres del resto del catálogo: `PEP` se traduce a PE y `PPT` a PT. Con NIT responde 400 `bad_request` sin cobrar (lo rechaza la validación de entrada, sin ir a la fuente): es un registro de personas naturales.Valores: CC · TI · CE · PA · RC · NU · AS · MS · CD · CN · SC · PE · PT · PC |
| docNumberobligatorio | string | Número de documento: de 1 a 14 dígitos, o de 8 a 10 caracteres alfanuméricos para pasaportes y permisos (es la forma que acepta el registro). Alias aceptados: `doc`, `documento`. |
| refresh | boolean | Ignora la caché y vuelve a consultar la fuente oficial. Ojo: una consulta refrescada con datos siempre cobra (el hit de caché no). |
Ejemplos por lenguaje
curl -X POST 'https://placapi.com/api/eps' \
-H 'x-api-key: pk_live_TU_CLAVE' \
-H 'content-type: application/json' \
-d '{"docType":"CC","docNumber":"1020304050"}'const res = await fetch("https://placapi.com/api/eps", {
method: "POST",
headers: {
"x-api-key": "pk_live_TU_CLAVE",
"content-type": "application/json",
},
body: JSON.stringify({"docType":"CC","docNumber":"1020304050"}),
});
const data = await res.json();import requests
res = requests.post(
"https://placapi.com/api/eps",
headers={"x-api-key": "pk_live_TU_CLAVE"},
json={"docType":"CC","docNumber":"1020304050"},
)
data = res.json()Respuesta exitosa
{
"source": "afiliacion-salud-adres",
"status": "info",
"data": {
"documento": "1020304050",
"tipoDocumento": "CC",
"persona": {
"nombres": "MARIA FERNANDA",
"apellidos": "GOMEZ RUIZ",
"fechaNacimiento": null,
"departamento": "VALLE",
"municipio": "SANTIAGO DE CALI"
},
"afiliaciones": [
{
"estado": "ACTIVO",
"entidad": "NUEVA EPS S.A.",
"regimen": "CONTRIBUTIVO",
"fechaAfiliacion": "01/09/2018",
"fechaFinalizacion": null,
"tipoAfiliado": "COTIZANTE"
}
],
"fechaImpresion": "09/07/2026 12:26:07"
},
"mode": "live",
"fetchedAt": "2026-07-24T15:04:05.000Z",
"cost": 1
}Errores y cobro
Cuesta 1 crédito cuando devuelve datos. Códigos posibles: 400 401 402 404 429 500 502 — qué significa cada uno, cuál reintentar y cuál cobra, en errores y rate limits. Autenticación por x-api-key: cómo generar la clave.
Última revisión: 7 de septiembre de 2026 · PlacApi opera desde Colombia. PlacApi no es una entidad oficial del Gobierno.