Saltar al contenido

Referencia de la API

Públicas y webhooks

11 operaciones, cada una con sus parámetros, ejemplos en curl y TypeScript listos para copiar y sus errores.

Cada ejemplo supone una sesión iniciada; cómo obtenerla está en Autenticación

publicStatus

GET/_x/query/public-status

Sin sesiónPermiso: publicHerramienta MCP: publicStatus

Public status of notificado.co: status (operational | maintenance | degraded | partial_outage | major_outage), the incidents still open, one entry per America/Bogota day for the last 30 days with the worst impact that day, and every incident in that window with its public updates (Spanish, optional English). Instants are UTC.

Parámetros de publicStatus
NombreDóndeTipoObligatorio
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/public-status'
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/public-status');
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

recipientPage

GET/_x/query/recipient-page

Sin sesiónPermiso: public

recipientPage

Parámetros de recipientPage
NombreDóndeTipoObligatorio
recipientTokenConsultastring 1–64Sí
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/recipient-page?recipientToken=<recipientToken>'
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/recipient-page?recipientToken=<recipientToken>');
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

verifyConstancia

GET/_x/query/verify-constancia

Sin sesiónPermiso: publicHerramienta MCP: verifyConstancia

Public check of a Notificado constancia: pass the verification code printed under its QR ("code") or the SHA-256 of the PDF file ("pdfSha256"). Returns one row: authentic, issuedAt (UTC and Bogotá), delivery status, the signed PDF's SHA-256, version, latestVersion and superseded. Never returns message content or recipient data; an unknown code or hash returns authentic=false with every other field null.

Parámetros de verifyConstancia
NombreDóndeTipoObligatorio
codeConsultastring 1–32No
pdfSha256ConsultastringNo
_firstConsultainteger 1–10000page size; present, the response is the page envelope rather than the bare rows (1 to 10000)No
_afterConsultastringthe endCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/verify-constancia'
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/verify-constancia');
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

fileDataSubjectRequest

POST/api/data-subject-requests/file

Sin sesiónPermiso: public

fileDataSubjectRequest

Parámetros de fileDataSubjectRequest
NombreDóndeTipoObligatorio
captchaTokenCuerpostring 0–4096No
cf-turnstile-responseCuerpostring 0–4096No
documentNumberCuerpostring 3–40Sí
documentTypeCuerpo"cc" | "ce" | "pasaporte" | "nit" | "otro"Sí
emailCuerpostring (email)Sí
fullNameCuerpostring 2–200Sí
h-captcha-responseCuerpostring 0–4096No
kindCuerpo"consulta" | "reclamo" | "actualizacion" | "supresion"Sí
localeCuerpostring 0–16No
messageCuerpostring 10–5000Sí
phoneCuerpostring 0–40No
relatedToCuerpostring 0–300No
subjectCuerpo"recipient" | "account"Sí
websiteCuerpostring 0–500No
curl
curl -X POST 'https://www.notificado.co/api/data-subject-requests/file' \
  -H 'content-type: application/json' \
  -d '{
  "documentNumber": "<documentNumber>",
  "documentType": "cc",
  "email": "<email>",
  "fullName": "<fullName>",
  "kind": "consulta",
  "message": "<message>",
  "subject": "recipient"
}'
TypeScript
const response = await fetch('https://www.notificado.co/api/data-subject-requests/file', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    "documentNumber": "<documentNumber>",
    "documentType": "cc",
    "email": "<email>",
    "fullName": "<fullName>",
    "kind": "consulta",
    "message": "<message>",
    "subject": "recipient"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "dueAt": "2026-09-25T15:00:00Z",
  "reference": "<reference>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

recordDownload

POST/api/downloads/record

Sin sesiónPermiso: public

recordDownload

Parámetros de recordDownload
NombreDóndeTipoObligatorio
linkTokenCuerpostringSí
recipientTokenCuerpostringSí
curl
curl -X POST 'https://www.notificado.co/api/downloads/record' \
  -H 'content-type: application/json' \
  -d '{"linkToken":"<linkToken>","recipientToken":"<recipientToken>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/downloads/record', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    "linkToken": "<linkToken>",
    "recipientToken": "<recipientToken>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "bytes": 0,
  "contentBase64": "<contentBase64>",
  "contentType": "<contentType>",
  "eventId": "<eventId>",
  "filename": "<filename>",
  "sha256": "<sha256>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

health

POST/api/healths/invoke

Sin sesiónPermiso: publicHerramienta MCP: health

Readiness of this process

curl
curl -X POST 'https://www.notificado.co/api/healths/invoke' \
  -H 'content-type: application/json' \
  -d '{}'
TypeScript
const response = await fetch('https://www.notificado.co/api/healths/invoke', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({}),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "ok": true,
  "role": "<role>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

ingestInboundReply

POST/api/inbound-replies/ingest

Sin sesiónPermiso: public

ingestInboundReply

curl
curl -X POST 'https://www.notificado.co/api/inbound-replies/ingest' \
  -H 'content-type: application/json' \
  -d '"<body>"'
TypeScript
const response = await fetch('https://www.notificado.co/api/inbound-replies/ingest', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify("<body>"),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "messageId": "<messageId>",
  "outcome": "<outcome>",
  "type": "<type>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

recordPixel

POST/api/pixels/record

Sin sesiónPermiso: public

recordPixel

Parámetros de recordPixel
NombreDóndeTipoObligatorio
recipientTokenCuerpostringSí
curl
curl -X POST 'https://www.notificado.co/api/pixels/record' \
  -H 'content-type: application/json' \
  -d '{"recipientToken":"<recipientToken>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/pixels/record', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    "recipientToken": "<recipientToken>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "eventId": "<eventId>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

acknowledgeReceipt

POST/api/receipts/acknowledge

Sin sesiónPermiso: public

acknowledgeReceipt

Parámetros de acknowledgeReceipt
NombreDóndeTipoObligatorio
recipientTokenCuerpostring 1–64Sí
curl
curl -X POST 'https://www.notificado.co/api/receipts/acknowledge' \
  -H 'content-type: application/json' \
  -d '{"recipientToken":"<recipientToken>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/receipts/acknowledge', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    "recipientToken": "<recipientToken>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "acknowledgedAt": "<acknowledgedAt>",
  "created": true,
  "eventId": "<eventId>",
  "ok": true
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

ingestSesEvent

POST/api/ses-events/ingest

Sin sesiónPermiso: public

ingestSesEvent

curl
curl -X POST 'https://www.notificado.co/api/ses-events/ingest' \
  -H 'content-type: application/json' \
  -d '"<body>"'
TypeScript
const response = await fetch('https://www.notificado.co/api/ses-events/ingest', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify("<body>"),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "messageId": "<messageId>",
  "outcome": "<outcome>",
  "type": "<type>"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

wompiWebhook

POST/api/webhooks/wompi

Sin sesiónPermiso: public

wompiWebhook

Parámetros de wompiWebhook
NombreDóndeTipoObligatorio
environmentCuerpostring 1–20No
eventCuerpostring 1–80Sí
sent_atCuerpostring 1–40No
curl
curl -X POST 'https://www.notificado.co/api/webhooks/wompi' \
  -H 'content-type: application/json' \
  -d '{"event":"<event>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/webhooks/wompi', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    "event": "<event>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "eventKey": "<eventKey>",
  "outcome": "queued"
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID