---
title: "Upload a custom SSL certificate for domains of this site"
method: POST
path: "/v1/sites/{id}/ssl/certificates"
tags: ["Custom SSL"]
---

# Upload a custom SSL certificate for domains of this site

`POST /v1/sites/{id}/ssl/certificates`

Your site SSL is initially managed by Cloudflare. This endpoint allows you to instead manage your SSL by uploading your own certificate.

## Path parameters

- `id` integer, required — ID of the Site you are interacting with

## Request body

- CustomSSLRequest
  - `domains` string[], required — a list of domains belonging to this site that this certificate will support
  - `certificate` string, required — the ssl certificate to use for each domain
  - `key` string, required — the certificate private key

## Response `200`

OK

- CustomSSLResponse
  - `id` string, uuid — custom ssl record identifier
  - `site_id` integer — id of the site associated with custom ssl record
  - `serial_number` string — the serial number of this custom ssl certificate
  - `fingerprint` string — the SHA256 fingerprint of this custom ssl certificate
  - `issuer` string — the issuer of this custom ssl certificate
  - `uploaded_on` string, date-time — the date this custom ssl certificate was uploaded
  - `issued_on` string, date-time — the date this custom ssl certificate was issued
  - `expires_on` string, date-time — the date this custom ssl certificate will expire
  - `domains` string[] — the Rocket.net domains that are associated with this custom ssl certificate

## Other responses

- `400` — Bad Request
- `401` — Authentication failed
- `403` — Not authorized to access endpoint
- `404` — Given site not found for user
- `405` — Invalid input
- `500` — Internal error

---

[API](https://skmtc.net/rocket/apis/rocket-net-api.md) · [All operations](https://skmtc.net/rocket/apis/rocket-net-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rocket/rocket-net-api/revisions/db0dcbbc5764/schema)
