API de Certificados
Lista os certificados de cursos emitidos na organização ou no grupo do cliente de API. A lista inclui certificados válidos, expirados e revogados para que a integração possa avaliar o status atual de cada um.
Listar certificados
GET /api/v1/certificates
Escopo obrigatório: training.read. Consulte Autenticação para obter um token de acesso.
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âmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
page | inteiro | 1 | Número da página, a partir de 1. |
pageSize | inteiro | 1000 | Certificados por página, de 1 a 5000. |
Resposta
{
"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 conduta para fornecedores",
"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
}
}
| Campo | Tipo | Descrição |
|---|---|---|
certificateId | UUID | Identificador usado para baixar o PDF. |
certificateNumber | string | Número impresso no certificado. |
email | string ou null | E-mail do aluno; quando disponível, pode ser associado à API de Usuários. |
learnerName | string | Nome impresso no certificado no momento da emissão. |
courseId | UUID | Identificador do curso; corresponde ao courseId dos registros de treinamento e dos pacotes. |
courseName | string | Nome do curso impresso no certificado. |
groupId | UUID ou null | Identificador do grupo associado; corresponde ao groupId da API de Grupos. |
completedUtc | data-hora | Data e hora UTC da conclusão do curso. |
issuedUtc | data-hora | Data e hora UTC da emissão do certificado. |
expiresUtc | data-hora ou null | Data e hora UTC da expiração; null quando não há prazo de validade. |
status | string | valid, expired ou revoked. A revogação prevalece sobre a expiração; o certificado expira ao chegar a expiresUtc. |
verificationUrl | URL | Página pública para verificar a autenticidade e a validade do certificado. O endereço retornado pode ser diferente do exemplo. |
Os certificados são ordenados por issuedUtc, do mais antigo para o mais recente, e depois por certificateId. Quando não há resultados, data está vazio e totalPages é 0.
Baixar o PDF de um certificado
GET /api/v1/certificates/{certificateId}/pdf
Use um certificateId da lista e envie o mesmo token de acesso. A resposta é application/pdf para um certificado emitido, mesmo que ele tenha expirado ou sido revogado depois.
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
O endpoint retorna 404 se o certificado não existir, estiver fora do escopo do cliente ou se o PDF armazenado não estiver disponível. verificationUrl leva a uma página pública de verificação, não à URL de download do PDF.
Erros
Paginação inválida na lista retorna 400 no formato Problem Details. Token ausente ou expirado retorna 401; escopo insuficiente ou perda de acesso do cliente retorna 403. O limite compartilhado pode retornar 429. Consulte Autenticação para conhecer os limites e as orientações de nova tentativa.
OpenAPI
https://courses.e-learningcourses.com/api/v1/openapi.json