# Retrieve a certificate template

`GET https://api.cademi.com.br/api/v3/products/{product_id}/certificate-template`

Operation ID: `certificates.template.get` · API v3

The certificate template has no ID of its own and is addressed through its product.

The response includes an `ETag` representing the current revision of the product. Send this value in the `If-Match` header when replacing the template to avoid overwriting a newer version. Because the revision covers the whole product, other changes to the product also produce a new `ETag`.

Required permissions: `certificates.read`.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `product_id` | path | string | yes |  |

## Responses

### 200

Returns the product's certificate template.

Body: `data`: CertificateTemplate.

Fields of CertificateTemplate:

| Field | Type | Required | Description |
|---|---|---|---|
| `criteria` | object | yes | Condition under which the certificate becomes available to the user. |
| `defaults` | object | yes | Font and color used for fields that do not specify their own. |
| `enabled` | boolean | yes | Whether the product issues certificates. |
| `fields` | array of object | yes | User custom fields printed on the certificate, in display order. |
| `layout` | object | yes |  |
| `object` | string, one of `certificate_template` | yes |  |
| `product_id` | string | yes | Public ID of the product, prefixed with prd_. |
| `revision` | string | yes |  |
| `single_issue` | boolean | yes | Whether each user can receive at most one certificate for the product. |
| `texts` | object | yes |  |

### 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 product was not found or is not accessible with the current credentials.

Body: Error.

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