Skip to content

Issue a certificate with server-side key generation

POST
/api/certificates
curl --request POST \
--url https://gateway.example.com/api/certificates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "caId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "templateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "type": "tls-server", "commonName": "example", "sans": [], "keyAlgorithm": "rsa-2048", "validityDays": 1, "subjectDnFields": { "o": "example", "ou": "example", "l": "example", "st": "example", "c": "example" } }'

JSON request body

Media typeapplication/json
object
caId
required
string format: uuid
templateId
string format: uuid
type
required
string
Allowed values: tls-server tls-client code-signing email
commonName
required
string
>= 1 characters <= 255 characters
sans
Array<string>
default:
keyAlgorithm
required
string
Allowed values: rsa-2048 rsa-4096 ecdsa-p256 ecdsa-p384
validityDays
required
integer
>= 1 <= 3650
subjectDnFields
object
o
string
<= 255 characters
ou
string
<= 255 characters
l
string
<= 255 characters
st
string
<= 255 characters
c
string
<= 2 characters

Created

Media typeapplication/json
object
data
required

Resource object. Exact fields depend on the endpoint.

object
id
string
name
string
key
additional properties
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"commonName": "app.example.com",
"type": "tls-server",
"status": "active",
"notAfter": "2025-01-01T00:00:00.000Z"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}