Saltar al contenido
Notificado

Errores

Cómo leer una negativa de Notificado (código, causa y solución) y los códigos que encontrará con más frecuencia.

Actualizado:

Toda negativa tiene las mismas tres partes:

Parte Qué es
code Estable, X_MAYUSCULAS. Decida con él, nunca con el texto.
cause Qué estaba mal, en palabras.
fix El siguiente paso que lo resuelve; normalmente literal.

En HTTP llegan como application/problem+json con status; en MCP, como resultado de herramienta con isError, o como respuesta HTTP (401, 413, 429) con el mismo cuerpo.

{
  "type": "urn:ultimate:error:X_CASE_RADICADO_TAKEN",
  "title": "case radicado taken",
  "status": 409,
  "code": "X_CASE_RADICADO_TAKEN",
  "cause": "this org already has open case <caseId> for radicado 05001310300320260012300",
  "fix": "use the existing case — getCase({ orgId, caseId: '<caseId>' }) — instead of opening a second one; to replace it with corrected data, createCase({ …, correctionOf: '<caseId>' }) archives it and opens the corrected case",
  "requestId": "<requestId>"
}

Cite el requestId cuando escriba a admin@notificado.co.

cause y fix vienen en inglés: son el texto que declara el propio sistema, el mismo que leen los asistentes de IA.

Las respuestas propias de la API (/v1)

Estado Código Qué hacer
401 X_UNAUTHENTICATED Sin token, o con uno desconocido, vencido o revocado. Emita uno nuevo en /cuenta/api.
404 X_ROUTE_NOT_FOUND La operación no existe o está fuera de los alcances del token. Revise la ruta y luego los alcances.
404 X_NOT_FOUND Una lectura de un objeto (get-case, get-notification, get-send-confirmation, get-import) no encontró ese identificador en su firma: no existe, es de otra firma o se borró. La operación sí existe y el token sí la alcanza. No reintente con el mismo identificador; búsquelo en el listado.
400 X_INPUT_INVALID También cuando un limit o un _first supera el máximo del listado: se rechaza, nunca se recorta. cause nombra el campo y el máximo; los máximos están en Límites. Pida menos filas y siga con nextCursor.
400 X_CURSOR_INVALID El cursor no es de este listado: viene de otro listado, de otros filtros u otro orden, se modificó, o la clave que lo firma cambió. También el cursor de exportNotifications con filtros distintos a los de la primera llamada. Pida de nuevo la primera página, sin cursor.
422 X_PAGE_LIMIT_INVALID Un tamaño de página fuera de sus límites llegó a la lectura misma. El esquema de cada operación suele detenerlo antes, con 400 X_INPUT_INVALID; las dos negativas significan lo mismo: nunca se recorta. Pida como máximo el tope que nombra cause y siga con el cursor.
422 X_DEADLINE_CURSOR_CONFLICT listDeadlines recibió cursor y after con valores distintos. after es el nombre anterior de cursor: envíe solo cursor.
409 X_IDEMPOTENCY_CONFLICT Ese Idempotency-Key nombra otro cuerpo, o su primer intento sigue en curso. Vea Reintentos idempotentes.
400 X_IDEMPOTENCY_KEY_INVALID Una clave vacía o de más de 255 caracteres.
429 X_RATE_LIMITED Superó el límite por token; espere Retry-After segundos.

Los dos 404 se distinguen por el código: X_ROUTE_NOT_FOUND habla de la operación, X_NOT_FOUND del objeto que pidió.

Cada código que la API puede responder, con su estado HTTP, qué significa y qué hacer, está en el catálogo de errores, cada uno con su ancla: /docs/api/errores#x-case-radicado-taken.

Códigos frecuentes

Código Qué hacer
X_INPUT_INVALID / X_BODY_INVALID Un campo no cumple el esquema; la lista de problemas nombra cada uno.
X_FORBIDDEN Su rol no permite la acción, o el orgId no es de su firma.
X_CSRF_BLOCKED Una escritura a las rutas del panel con cookie y sin origin. Nunca en /v1, que no recibe cookies; vea Autenticación.
X_KYC_REQUIRED Su verificación de abogado no está aprobada; complétela en el panel.
X_CASE_RADICADO_TAKEN El proceso ya existe; búsquelo en vez de crear otro.
X_CASE_RADICADO_INVALID El radicado no es un número de 23 dígitos válido.
X_NOTIFICATION_NOT_DRAFT La notificación ya se envió; no se puede editar ni reenviar.
X_NOTIFICATION_NO_RECIPIENTS Faltan destinatarios; agréguelos en el panel.
X_NOTIFICATION_NO_ATTACHMENTS Adjunte al menos un documento.
X_JURAMENTO_REQUIRED / X_PROVENANCE_REQUIRED Falta el juramento o la procedencia de una dirección.
X_ATTACHMENTS_TOO_LARGE Los adjuntos superan 6 MB en total. Comprima los PDF o repártalos en más de una notificación.
X_ATTACHMENT_DUPLICATE Ese documento ya está adjunto; puede continuar.
X_CREDITS_INSUFFICIENT No hay créditos suficientes. Con meta.mode = paid (la venta está habilitada desde el 30 de septiembre de 2026), compre un paquete en /creditos. Con meta.mode = free, la instalación no vende créditos: ya usó sus envíos gratuitos y puede escribir a admin@notificado.co (el equipo de Notificado puede asignarle créditos).
X_PAYMENT_CHECKOUT_DISABLED El pago en línea aún no está habilitado (modo gratuito); por ahora no se puede comprar. No reintente.
X_SEND_CONFIRMATION_EXPIRED Nadie confirmó el envío en 24 horas; no se envió nada.
X_SEND_CONFIRMATION_TOKEN_REVOKED El token o la conexión con que el agente pidió el envío se revocó antes de la confirmación; no se envió nada. Envíelo usted desde el borrador o pida al agente una nueva solicitud con una conexión vigente.
X_CONSTANCIA_NOT_FOUND Aún no hay constancia: se emite cuando llegan los eventos de entrega.
X_EVIDENCE_ZIP_NOT_READY El paquete se está armando; reintente una vez en 30 segundos.
X_MCP_SCOPE_DENIED El token no tiene el alcance de esa herramienta.
X_MCP_RATE_LIMITED Demasiadas llamadas; espere lo que indica retry-after.

Reintentos

No repita una llamada rechazada sin cambiarla. Solo se reintentan los *_NOT_READY, los límites de frecuencia y las fallas de red, después de esperar; una creación, con el mismo Idempotency-Key (Reintentos idempotentes).

Los asistentes tienen la misma lista, en inglés, en la guía docs://guides/errors del servidor MCP.