---
title: "Create a Certificate"
method: POST
path: "/v1/certificate/"
tags: ["Certificates"]
---

# Create a Certificate

`POST /v1/certificate/`

Create a new certificate.

## Request body

- CertificateCreateModel — Required data elements for creating and updating certificates.
  - `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.
  - `companyCertificationTypeId` integer, required — The identifier of the type of certificate, this field is company specific.

## 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)
