# Retrieve a certificate

`GET https://api.cademi.com.br/api/v3/users/{user_id}/certificates/{certificate_id}`

Operation ID: `certificates.get` · API v3

Revoked certificates remain retrievable, with `status` set to `revoked`. Template previews are not certificates and cannot be retrieved through this operation.

The response includes an `ETag` representing the current revision. Send this value in the `If-Match` header when revoking the certificate to avoid acting on an outdated version.

Required permissions: `certificates.read`.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `user_id` | path | string | yes |  |
| `certificate_id` | path | string | yes |  |

## Responses

### 200

Returns the requested certificate.

Body: `data`: Certificate.

Fields of Certificate:

| Field | Type | Required | Description |
|---|---|---|---|
| `code` | string | yes | Code printed on the certificate and used by public certificate validation. |
| `deleted` | boolean | yes |  |
| `fields` | object or null | no | Data captured at issuance, which does not change afterward. Requires the users.read_personal permission. |
| `id` | string | yes | Public ID of the certificate, prefixed with cer_. |
| `issued_at` | string (date-time) | yes |  |
| `number` | object | yes | Certificate numbering: the account-wide sequence and the per-product sequence. |
| `object` | string, one of `certificate` | yes |  |
| `pdf_url` | string | yes | URL of the certificate PDF, rendered from the certificate code. |
| `product_id` | string | yes | Public ID of the product, prefixed with prd_. |
| `reissue` | boolean | yes | Whether this certificate was produced by a reissue. |
| `revision` | string | yes |  |
| `revoked` | object or null | yes | Present only when the certificate has been revoked. |
| `status` | string, one of `valid`, `revoked` | yes |  |
| `superseded_by_certificate_id` | string or null | yes | Public ID of the certificate that replaced this one. |
| `supersedes_certificate_id` | string or null | yes | Public ID of the certificate that this one replaced. |
| `user_id` | string | yes | Public ID of the user, prefixed with usr_. |
| `validation_url` | string | yes | URL of the public validation page for the certificate code. |

### 401

The credential is missing, malformed, expired, or revoked.

Body: Error.

### 403

The current credentials do not have the permission required by this operation.

Body: Error.

### 404

The certificate was not found, does not belong to the specified user, or is not accessible with the current credentials.

Body: Error.

Full schema: https://cademi.dev/openapi/v3.json
