---
title: "Upload a cert"
method: PUT
path: "/v8/certs"
tags: ["certs"]
---

# Upload a cert

`PUT /v8/certs`

Upload a cert

## Query parameters

- `teamId` string
- `slug` string

## Request body

- object
  - `ca` string, required — The certificate authority
  - `key` string, required — The certificate key
  - `cert` string, required — The certificate
  - `skipValidation` boolean — Skip validation of the certificate

## Response `200`

- object
  - `id` string, required
  - `createdAt` number, required
  - `expiresAt` number, required
  - `autoRenew` false | true, required
  - `cns` string[], required

## Other responses

- `400` — One of the provided values in the request body is invalid.
- `401` — The request is not authorized.
- `402` — This feature is only available for Enterprise customers.
- `403` — You do not have permission to access this resource.
- `410`

## Changes

- **2026-07-21** `2ae10ee9d21c` — 1 info
  - added the non-success response with the status `410`

[Change history](https://skmtc.dev/vercel/apis/api/changes/v8/certs/put.md)

---

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