Saltar al contenido principal

API de certificados

Lista los certificados de cursos emitidos en la organización o el grupo del cliente de API. La lista incluye certificados válidos, caducados y revocados para que la integración pueda evaluar su estado actual.

Listar certificados​

GET /api/v1/certificates

Ámbito requerido: training.read. Consulta Autenticación para obtener un token de acceso.

curl --request GET \
--url "https://courses.e-learningcourses.com/api/v1/certificates?page=1&pageSize=1000" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Accept: application/json"

Parámetros de consulta​

ParámetroTipoPredeterminadoDescripción
pageentero1Número de página, a partir de 1.
pageSizeentero1000Certificados por página, entre 1 y 5000.

Respuesta​

{
"data": [
{
"certificateId": "89254050-dfc4-467a-a7ea-745f81a77b63",
"certificateNumber": "CERT-2026-001042",
"email": "alex.morgan@example.com",
"learnerName": "Alex Morgan",
"courseId": "38f595b7-2ff4-4da6-bf24-91316399ec9a",
"courseName": "Código de conducta para proveedores",
"groupId": "fbc74870-3995-4f2c-b129-c2812b3e56c7",
"completedUtc": "2026-09-05T14:12:08Z",
"issuedUtc": "2026-09-05T14:13:00Z",
"expiresUtc": "2027-09-05T14:13:00Z",
"status": "valid",
"verificationUrl": "https://courses.e-learningcourses.com/certificates/verify/11be8ddd-b51c-4dbf-b48d-727159cf215b"
}
],
"pagination": {
"page": 1,
"pageSize": 1000,
"totalRecords": 1,
"totalPages": 1
}
}
CampoTipoDescripción
certificateIdUUIDIdentificador para descargar el PDF.
certificateNumbercadenaNúmero impreso en el certificado.
emailcadena o nullCorreo electrónico del alumno; si existe, puede relacionarse con la API de usuarios.
learnerNamecadenaNombre impreso en el certificado al emitirse.
courseIdUUIDIdentificador del curso; coincide con courseId en los registros de formación y los paquetes.
courseNamecadenaNombre del curso impreso en el certificado.
groupIdUUID o nullIdentificador del grupo asociado; coincide con groupId en la API de grupos.
completedUtcfecha-horaFecha y hora UTC de finalización del curso.
issuedUtcfecha-horaFecha y hora UTC de emisión del certificado.
expiresUtcfecha-hora o nullFecha y hora UTC de caducidad; null si no tiene caducidad.
statuscadenavalid, expired o revoked. La revocación prevalece sobre la caducidad; el certificado caduca al llegar a expiresUtc.
verificationUrlURLPágina pública para comprobar la autenticidad y vigencia del certificado. La dirección devuelta puede diferir del ejemplo.

Los certificados se ordenan por issuedUtc, del más antiguo al más reciente, y después por certificateId. Si no hay resultados, data está vacío y totalPages vale 0.

Descargar el PDF de un certificado​

GET /api/v1/certificates/{certificateId}/pdf

Utiliza un certificateId de la lista y envía el mismo token de acceso. La respuesta es application/pdf para un certificado emitido, aunque después haya caducado o se haya revocado.

curl --request GET \
--url "https://courses.e-learningcourses.com/api/v1/certificates/$CERTIFICATE_ID/pdf" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Accept: application/pdf" \
--output certificate.pdf

El endpoint devuelve 404 si el certificado no existe, está fuera del ámbito del cliente o falta el PDF almacenado. verificationUrl lleva a una página pública de verificación, no a la descarga del PDF.

Errores​

Una paginación no válida en la lista devuelve 400 en formato Problem Details. Si falta el token o ha caducado, se devuelve 401; si falta el ámbito o el cliente ha perdido el acceso, se devuelve 403. El límite compartido puede devolver 429. Consulta Autenticación para conocer los límites y cómo reintentar.

OpenAPI​

https://courses.e-learningcourses.com/api/v1/openapi.json