List Assignable Certificates

GET /v1/certificates/assignable

List the certificates your active account can attach to its endpoints with PUT /v1/endpoints/{uuid}/certificate. Use it to fill a certificate picker. Two kinds of certificate are listed:

  • Your own certificates: the same ones as GET /v1/certificates/self.
  • Certificates provided by ngris: a platform certificate that ngris has made available to your account. You can attach it to your endpoints, and that is all. It is not in your certificate list, it does not count toward your custom_ssl quota, and you cannot download it, delete it or read its private key. These entries have provided_by_platform: true.

Only certificates you can attach right now are listed. Each one is active, not expired, not paused by the custom-certificate quota, and bound to a domain. An endpoint takes a certificate of its own domain, so match domain_uuid to the endpoint's domain_uuid. Private keys are never returned.

Requires the custom_ssl entitlement on your plan and permission to read certificates in the account.

Response (200 OK)

An object with an items array, sorted by name:

uuid string (uuid)
The certificate's uuid. Pass it as certificate_uuid to PUT /v1/endpoints/{uuid}/certificate. For your own certificates it is also the id in their download and delete URLs.
name string
The certificate's label.
domain_uuid, domain_name string (uuid), string
The domain the certificate belongs to. Only endpoints on this domain can use it.
cn, sans string, string[]
The certificate's Subject Common Name and Subject Alternative Names.
not_after datetime
The expiry date. Omitted when it is not known.
status string
active, or expiring when the certificate expires within 30 days.
provided_by_platform boolean
true for a certificate provided by ngris. You can attach it, but you cannot download or delete it.

Deprecated: until the sunset each item also carries the legacy integer id and domain_id fields. Don't use them; read uuid and domain_uuid.

Errors

401 Unauthorized
Missing auth.
403 Forbidden
Your plan doesn't include the custom_ssl entitlement, or your role can't read certificates.
Request
curl "https://api.ngris.com/v1/certificates/assignable" \ -H "X-API-KEY: <your_api_key>"
Response — 200 OK
{ "items": [ { "uuid": "019be5a6-db98-7631-bfc9-174d0cbb8bfe", "name": "shop.example.com", "domain_uuid": "019bd08f-98db-71b2-8e54-f518d319f111", "domain_name": "example.com", "cn": "shop.example.com", "sans": ["shop.example.com"], "not_after": "2027-01-01T00:00:00Z", "status": "active", "provided_by_platform": true }, { "uuid": "019be236-c4fb-72c2-b153-1eefef23705b", "name": "wildcard.example.com", "domain_uuid": "019bd08f-98db-71b2-8e54-f518d319f111", "domain_name": "example.com", "cn": "*.example.com", "sans": ["example.com", "*.example.com"], "not_after": "2027-01-01T00:00:00Z", "status": "active", "provided_by_platform": false } ] }