Skip to main content
POST
Create certificate
Requires the IAM action certificate:CreateCertificate. See CERTIFICATE permissions for the full list, what each one covers, and an example policy.

Authorizations

Authorization
string
header
required

An OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. This is the recommended way to authenticate.

Get one by exchanging a service account's access key pair at POST /v1/oauth/token with grant_type=client_credentials. It is the standard client-credentials grant, so any OAuth-aware library will obtain and refresh it for you.

Tokens last an hour by default. The same access key pair is separately your AWS SigV4 credential for the S3-compatible object endpoint, which speaks nothing else.

Headers

Idempotency-Key
string

Optional client-generated key that makes a create replay-safe. Retrying a request with the same key returns the original outcome verbatim instead of creating a duplicate resource. Reusing a key with a different request body is rejected (422); a request whose key is still being processed returns 409. Records are honored for 24 hours. Use a UUID or similarly unique token.

Maximum string length: 255

Body

application/json
name
string
required

Unique per account. Surfaces in the CRN (crn:certificate::<account>:certificate/<name>), so it must be URL-safe — letters, digits, dot, dash, underscore. Resource names must not start with the literal crn: prefix or be UUIDs (canonical, compact, braced, or urn:uuid: forms, in either case).

Pattern: ^[a-zA-Z0-9][a-zA-Z0-9._-]{0,253}$
Example:

"prod-frontend"

domains
string[]
required

Capped at 100 to stay inside the certificate authority's per-order limits.

Required array length: 1 - 100 elements
Example:
key_algorithm
enum<string>
default:ecdsa-p256
Available options:
ecdsa-p256,
ecdsa-p384,
rsa-2048,
rsa-4096
source
enum<string>

Defaults to "acme" — issued by the platform CA. Set to "uploaded" to store customer-supplied PEM material instead; certificate_pem + private_key_pem must then be provided.

Available options:
acme,
uploaded
Example:

"acme"

certificate_pem
string

PEM-encoded leaf certificate. Required when source=uploaded.

Example:

"-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIEAaH...\n-----END CERTIFICATE-----\n"

chain_pem
string

PEM-encoded intermediate chain (optional when source=uploaded).

Example:

"-----BEGIN CERTIFICATE-----\nMIIEFzCCAv+gAwIBAgIEBb2...\n-----END CERTIFICATE-----\n"

private_key_pem
string

PEM-encoded private key. Required when source=uploaded.

Example:

"-----BEGIN PRIVATE KEY-----\nMIGHAgEAMBMGByqGSM49AgEG...\n-----END PRIVATE KEY-----\n"

tags
object
Example:

Response

Uploaded certificate stored (source=uploaded)

certificate
object