---
title: "Upload Certificate"
method: PUT
path: "/v1/certificate/{certificate_id}/upload/"
tags: ["Certificates"]
---

# Upload Certificate

`PUT /v1/certificate/{certificate_id}/upload/`

Upload an image of the certificate front and/or back to an existing certificate.

Supported filetypes are: `.jpeg`, `.jpg`, `.png`, `.pdf`, `.docx`, `.mp4`, `.mov` and `.m4v`.

This endpoint supports uploading the front and back of the certificate at the same time. If `certificate_back` is omitted, the back will not be modified. To remove the back of the certificate, you must also set  `certificate_back_remove=true`

If both the `certificate_back` and `certificate_back_remove` are specified, then `certificate_back` will take priority and `certificate_back_remove` will be ignored.

## Path parameters

- `certificate_id` integer, required

## Response `200`

Successful Response

- ApiGenericResponseCertificateModel
  - `error` boolean — A boolean error indicator.
  - `message` string, nullable — Optional message.
  - `data` CertificateModel — A model representing a certificate.
    - `type` string, required — The name of the certificate
    - `userId` integer, required — The identifier of the user this certificate belongs to
    - `expiryDate` string, date-time, nullable — The certificate's expiry date
    - `trainingCompanyId` integer, nullable — The identifier of the company that provided the training for the certificate
    - `approved` boolean, nullable — Determines if the certificate has been approved
    - `approvedByUserId` integer, nullable — The identifier of the user who approved the certificate.
    - `offline` boolean, nullable — Determines if offline mode is enabled
    - `providerId` integer, nullable — The identifier of the provider of the certification, this field is company specific.
    - `id` integer, required — The certification identifier
    - `url` string, nullable — The certification url
    - `urlBack` string, nullable — The url of the backside of the certificate

## Other responses

- `400` — Business Logic Error
- `403` — Permission Error
- `409` — Integrity Error or Data Conflict
- `422` — Validation Error

---

[API](https://skmtc.dev/salussafety/apis/salus-developer-api.md) · [All operations](https://skmtc.dev/salussafety/apis/salus-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/salussafety/salus-developer-api/revisions/ef065f44da25/schema)
