Saltar al contenido
Notificado

Plazos

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

Las operaciones marcadas /v1 se autentican con un token de agente; las demás, con una sesión del panel. Cómo funcionan ambas está en Autenticación

closureImpact

GET/_x/query/closure-impact

Miembro de la firmaPermiso: deadline:write

closureImpact

Parámetros de closureImpact
NombreDóndeTipoObligatorio
courtIdConsultastringNo
endsOnConsultastringSí
startsOnConsultastringSí
_firstConsultainteger 1–500page size; present, the response is the page envelope rather than the bare rows (1 to 500)No
_afterConsultastringthe nextCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/closure-impact?endsOn=<endsOn>&startsOn=<startsOn>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/closure-impact?endsOn=<endsOn>&startsOn=<startsOn>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 429 X_RATE_LIMITED — retry after Retry-After seconds

listClosureCourts

GET/_x/query/list-closure-courts

Miembro de la firmaPermiso: deadline:read

listClosureCourts

Parámetros de listClosureCourts
NombreDóndeTipoObligatorio
limitConsultainteger 1–500No
orgIdConsultastring (uuid)Sí
_firstConsultainteger 1–500page size; present, the response is the page envelope rather than the bare rows (1 to 500)No
_afterConsultastringthe nextCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/list-closure-courts?orgId=<orgId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/list-closure-courts?orgId=<orgId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 429 X_RATE_LIMITED — retry after Retry-After seconds

listCourtClosures

GET/v1/list-court-closures

Miembro de la firmaPermiso: deadline:read/v1 · token BearerHerramienta MCP: listCourtClosures

The firm's recorded court closures that terms skip. Recording one is a person's act in the panel.

Parámetros de listCourtClosures
NombreDóndeTipoObligatorio
limitConsultainteger 1–500No
orgIdConsultastring (uuid)Sí
_firstConsultainteger 1–500page size; present, the response is the page envelope rather than the bare rows (1 to 500)No
_afterConsultastringthe nextCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/v1/list-court-closures?orgId=<orgId>' \
  -H "authorization: Bearer $NOTIFICADO_TOKEN"
TypeScript
const response = await fetch('https://www.notificado.co/v1/list-court-closures?orgId=<orgId>', {
  headers: { authorization: `Bearer ${token}` },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 429 X_RATE_LIMITED — retry after Retry-After seconds

listDeadlines

GET/v1/list-deadlines

Miembro de la firmaPermiso: deadline:read/v1 · token BearerHerramienta MCP: listDeadlines

Computed terms per recipient (Bogotá dates). An ESTIMATE: the judge decides. blocked_bounce = not notified.

Parámetros de listDeadlines
NombreDóndeTipoObligatorio
afterConsultastring (uuid)No
caseIdConsultastring (uuid)No
cursorConsultastring (uuid)No
fromConsultastringNo
limitConsultainteger 1–500No
notificationIdConsultastring (uuid)No
orgIdConsultastring (uuid)Sí
statusConsulta"computed" | "blocked_bounce"No
toConsultastringNo
_firstConsultainteger 1–500page size; present, the response is the page envelope rather than the bare rows (1 to 500)No
_afterConsultastringthe nextCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/v1/list-deadlines?orgId=<orgId>' \
  -H "authorization: Bearer $NOTIFICADO_TOKEN"
TypeScript
const response = await fetch('https://www.notificado.co/v1/list-deadlines?orgId=<orgId>', {
  headers: { authorization: `Bearer ${token}` },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  {
    "calendarVersion": "<calendarVersion>",
    "caseId": "<caseId>",
    "computedAt": "<computedAt>",
    "conservative": {
      "sendWindowVersion": "<sendWindowVersion>",
      "surtidaAt": "<surtidaAt>",
      "surtidaOn": "<surtidaOn>",
      "termEndsAt": "<termEndsAt>",
      "termEndsOn": "<termEndsOn>",
      "termStartsAt": "<termStartsAt>",
      "termStartsOn": "<termStartsOn>"
    },
    "disclaimerKey": "<disclaimerKey>",
    "id": "<id>",
    "inputsSha256": "<inputsSha256>",
    "notificationId": "<notificationId>",
    "orgId": "<orgId>",
    "radicado": "<radicado>",
    "recipientId": "<recipientId>",
    "recipientName": "<recipientName>",
    "sentAt": "<sentAt>",
    "status": "computed",
    "surtidaAt": "<surtidaAt>",
    "surtidaOn": "<surtidaOn>",
    "termDays": 1,
    "termDaysAssumed": true,
    "termEndsAt": "<termEndsAt>",
    "termEndsOn": "<termEndsOn>",
    "termStartsAt": "<termStartsAt>",
    "termStartsOn": "<termStartsOn>",
    "vacanciaCountsForSurtida": true
  }
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 429 X_RATE_LIMITED — retry after Retry-After seconds

upcomingDeadlines

GET/_x/query/upcoming-deadlines

Miembro de la firmaPermiso: deadline:readHerramienta MCP: upcomingDeadlines

The caller's firm's next vencimientos (Ley 2213 art. 8), from today in America/Bogota on, soonest first — ONE row per case and recipient address (the soonest; laterTerms counts the other upcoming terms of the same pair). Each row carries notificationId, caseId, radicado, recipientName and surtidaOn / termStartsOn / termEndsOn (YYYY-MM-DD, Bogotá). For every term use listDeadlines. The dates are an ESTIMATE — always tell the user the judge decides. Read-only.

Parámetros de upcomingDeadlines
NombreDóndeTipoObligatorio
limitConsultainteger 1–100No
orgIdConsultastring (uuid)Sí
_firstConsultainteger 1–500page size; present, the response is the page envelope rather than the bare rows (1 to 500)No
_afterConsultastringthe nextCursor a previous page answered; needs _firstNo
curl
curl 'https://www.notificado.co/_x/query/upcoming-deadlines?orgId=<orgId>' \
  -b cookies.txt
TypeScript
const response = await fetch('https://www.notificado.co/_x/query/upcoming-deadlines?orgId=<orgId>', {
  headers: { cookie: sessionCookie },
});
const result = await response.json();
Ejemplo de respuesta
200
[
  null
]

Errores

  • 400 X_INPUT_INVALID or X_CURSOR_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 429 X_RATE_LIMITED — retry after Retry-After seconds

listGlobalClosures

POST/api/list-global-closures

Miembro de la firmaPermiso: deadline:write

listGlobalClosures

Parámetros de listGlobalClosures
NombreDóndeTipoObligatorio
limitCuerpointeger 1–500No
yearCuerpointeger 2000–2100No
curl
curl -X POST 'https://www.notificado.co/api/list-global-closures' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{}'
TypeScript
const response = await fetch('https://www.notificado.co/api/list-global-closures', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({}),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "rows": [
    {
      "courtId": "<courtId>",
      "createdAt": "2026-09-25T15:00:00Z",
      "createdBy": "<createdBy>",
      "createdByEmail": "<createdByEmail>",
      "endsOn": "<endsOn>",
      "id": "<id>",
      "kind": "<kind>",
      "reason": "<reason>",
      "seeded": true,
      "sourceUrl": "<sourceUrl>",
      "startsOn": "<startsOn>",
      "withdrawReason": "<withdrawReason>",
      "withdrawnAt": "2026-09-25T15:00:00Z",
      "withdrawnBy": "<withdrawnBy>",
      "withdrawnByEmail": "<withdrawnByEmail>"
    }
  ]
}

Errores

  • 400 X_INPUT_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 422 X_BODY_INVALID
  • 429 X_RATE_LIMITED — retry after Retry-After seconds

setCourtClosure

POST/api/set-court-closure

Miembro de la firmaPermiso: deadline:write

setCourtClosure

Parámetros de setCourtClosure
NombreDóndeTipoObligatorio
codeCuerpostring 1–64No
courtIdCuerpostringNo
endsOnCuerpostringSí
globalCuerpobooleanNo
kindCuerpo"cierre_extraordinario" | "vacancia_colectiva" | "semana_santa"No
reasonCuerpostring 0–500No
sourceUrlCuerpostring 0–2048No
startsOnCuerpostringSí
curl
curl -X POST 'https://www.notificado.co/api/set-court-closure' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"endsOn":"<endsOn>","startsOn":"<startsOn>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/set-court-closure', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "endsOn": "<endsOn>",
    "startsOn": "<startsOn>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "courtId": "<courtId>",
  "endsOn": "<endsOn>",
  "global": true,
  "id": "<id>",
  "kind": "<kind>",
  "recomputing": -9007199254740991,
  "startsOn": "<startsOn>"
}

Errores

  • 400 X_INPUT_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 422 X_BODY_INVALID
  • 429 X_RATE_LIMITED — retry after Retry-After seconds

withdrawGlobalClosure

POST/api/withdraw-global-closure

Miembro de la firmaPermiso: deadline:write

withdrawGlobalClosure

Parámetros de withdrawGlobalClosure
NombreDóndeTipoObligatorio
closureIdCuerpostring (uuid)Sí
codeCuerpostring 1–64No
reasonCuerpostring 0–500Sí
curl
curl -X POST 'https://www.notificado.co/api/withdraw-global-closure' \
  -b cookies.txt \
  -H 'origin: https://www.notificado.co' \
  -H 'content-type: application/json' \
  -d '{"closureId":"<closureId>","reason":"<reason>"}'
TypeScript
const response = await fetch('https://www.notificado.co/api/withdraw-global-closure', {
  method: 'POST',
  headers: { 'content-type': 'application/json', origin: 'https://www.notificado.co', cookie: sessionCookie },
  body: JSON.stringify({
    "closureId": "<closureId>",
    "reason": "<reason>"
  }),
});
const result = await response.json();
Ejemplo de respuesta
200
{
  "courtId": "<courtId>",
  "endsOn": "<endsOn>",
  "id": "<id>",
  "kind": "<kind>",
  "recomputing": -9007199254740991,
  "startsOn": "<startsOn>",
  "withdrawnAt": "2026-09-25T15:00:00Z"
}

Errores

  • 400 X_INPUT_INVALID
  • 401 X_UNAUTHENTICATED — no credential, or one that did not resolve
  • 403 policy denied
  • 422 X_BODY_INVALID
  • 429 X_RATE_LIMITED — retry after Retry-After seconds