Saltar al contenido

Referencia de la API

Evidencia

4 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

verifyChain

GET/_x/query/verify-chain

Miembro de la firmaPermiso: evidence:verifyHerramienta MCP: verifyChain

Verify the hash-chained evidence log between two sequence numbers (at most 100000 events) and name the first broken event. Staff only.

Parámetros de verifyChain
NombreDóndeTipoObligatorio
deepConsultabooleanNo
fromSeqConsultainteger 1–9007199254740991Sí
toSeqConsultainteger 1–9007199254740991No
_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-chain?fromSeq=1' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/verify-chain?fromSeq=1', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 403 policy denied

runChainVerification

POST/api/chain-verifications/run

Miembro de la firmaPermiso: evidence:verifyHerramienta MCP: runChainVerification

Staff only. Verify the hash-chained evidence log between two sequence numbers. Up to 50000 events are verified in the call and answer { ok, checked, firstBroken? }; a longer range (up to 10000000) is queued and answers { enqueued: true, jobId }. deep also re-hashes the raw provider objects. Read-only; every call is audited.

Parámetros de runChainVerification
NombreDóndeTipoObligatorio
confirmTokenCuerpostring 1–200No
deepCuerpobooleanNo
fromSeqCuerpointeger 1–9007199254740991Sí
toSeqCuerpointeger 1–9007199254740991Sí
curl
curl -X POST 'https://www.notificado.co/api/chain-verifications/run' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"fromSeq":1,"toSeq":1}'
TypeScript
const response = await fetch('https://www.notificado.co/api/chain-verifications/run', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "fromSeq": 1,
    "toSeq": 1
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "checked": -9007199254740991,
  "deep": true,
  "firstBroken": {
    "id": "<id>",
    "reason": "<reason>",
    "seq": -9007199254740991
  },
  "fromSeq": -9007199254740991,
  "ok": true,
  "toSeq": -9007199254740991
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

reissueConstancia

POST/api/constancias/reissue

Miembro de la firmaPermiso: evidence:read

reissueConstancia

Parámetros de reissueConstancia
NombreDóndeTipoObligatorio
notificationIdCuerpostring (uuid)Sí
orgIdCuerpostring (uuid)Sí
curl
curl -X POST 'https://www.notificado.co/api/constancias/reissue' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"notificationId":"<notificationId>","orgId":"<orgId>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/constancias/reissue', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "notificationId": "<notificationId>",
    "orgId": "<orgId>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "queued": true,
  "version": 2
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID

downloadEvidence

POST/api/evidences/download

Miembro de la firmaPermiso: evidence:readHerramienta MCP: downloadEvidence

Returns the bytes (base64, with filename, content type and SHA-256) of the signed constancia PDF (kind "constancia") or the offline-verifiable evidence zip (kind "zip") of one notification in your organization; newest version unless "version" is given. Every call is recorded in the audit log and as an evidence.viewed event. Fails X_CONSTANCIA_NOT_FOUND before the first constancia is issued and X_EVIDENCE_ZIP_NOT_READY while the zip is still being built.

Parámetros de downloadEvidence
NombreDóndeTipoObligatorio
kindCuerpo"constancia" | "zip"Sí
notificationIdCuerpostring (uuid)Sí
orgIdCuerpostring (uuid)Sí
versionCuerpointeger 1–9007199254740991No
curl
curl -X POST 'https://www.notificado.co/api/evidences/download' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{
  "kind": "constancia",
  "notificationId": "<notificationId>",
  "orgId": "<orgId>"
}'
TypeScript
const response = await fetch('https://www.notificado.co/api/evidences/download', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "kind": "constancia",
    "notificationId": "<notificationId>",
    "orgId": "<orgId>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "bytes": 0,
  "constanciaId": "<constanciaId>",
  "contentBase64": "<contentBase64>",
  "contentType": "<contentType>",
  "filename": "<filename>",
  "kind": "constancia",
  "sha256": "<sha256>",
  "version": 1
}

Errores

  • 400 X_INPUT_INVALID
  • 403 policy denied
  • 422 X_BODY_INVALID