Cambiar el estado de una solicitud
PUT/certificate-request/:id/status
Cambia el estado de una solicitud de tu empresa y registra el cambio en el historial. Solo actúa sobre tus propias solicitudes (una ajena responde 404, igual que una inexistente) y solo hacia DRAFT, SENT o CANCELLED (otro destino responde 403). Las transiciones que puedes hacer son DRAFT → SENT y REJECTED → DRAFT, SENT o CANCELLED; cualquier otra combinación responde 422. Los demás estados los asigna MATICERTS durante la tramitación; REVOKED, EXPIRED y CANCELLED son finales. Efectos: el actor del historial (user_of_change) lo fija el servidor (USER); cada cambio de estado envía un correo de notificación a tu empresa y a soporte y dispara el webhook de cambio de estado. Pasar a CANCELLED con este endpoint no reintegra el cupo consumido al crear la solicitud, y una solicitud CANCELLED ya no se puede eliminar; para anular una solicitud biométrica en curso con reintegro del cupo use POST /certificate-request/{id}/issuance/reject.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 429
- 500
Estado actualizado. dataRecords trae la solicitud recargada, sin relaciones.
comments omitido, null, vacío o solo con espacios: el cambio no se guarda y el estado no cambia. Mensaje: Falta un dato obligatorio.
No autenticado
La empresa pidió un estado distinto de DRAFT, SENT o CANCELLED (ApiErrorResponse, mensaje: Solo un administrador puede cambiar la solicitud al estado {estado}.), o la empresa del usuario está inactiva. En este último caso el cuerpo es {"message": "La empresa se encuentra inactiva."}, sin success (o una página HTML si la petición no envía Accept: application/json).
Solicitud inexistente o, para una empresa, de otra empresa. Mensaje: Solicitud de certificado con ID {id} no encontrada. Nota: el id se convierte a entero sin validarse: un valor no numérico (p. ej. abc) responde 404 con Solicitud de certificado con ID 0 no encontrada., y uno con prefijo numérico (p. ej. 636abc) actúa sobre la solicitud 636. Envíe siempre solo dígitos.
ISSUANCE_FLOW_ACTION_NOT_ALLOWED (con error_code): ACCEPTED, PROCESSED o REJECTED son acciones manuales de la emisión documental y la solicitud no es DOCUMENTARY (una solicitud BIOMETRIC se rechaza con POST /certificate-request/{id}/issuance/reject). La solicitud no cambia de estado.
Transición no permitida desde el estado actual. Mensaje: Transición de estado no permitida: {actual} → {destino}. Transiciones válidas: {lista} (o ninguna (estado final)).
Límite general de 60 peticiones por minuto excedido.
Error interno. Si se omite request_status, llega vacío o no es texto, si comments llega con un tipo distinto de texto (p. ej. un número o un arreglo JSON), o si el usuario no tiene empresa asociada, el cuerpo es el genérico {"message": "Server Error"}, sin success (o una página HTML si la petición no envía Accept: application/json). Los demás errores internos responden ApiErrorResponse ({"success": false, "message": "Error interno del servidor. ..."}).