openapi: 3.1.0
info:
contact:
email: support@konghq.com
name: Kong Inc
url: https://konghq.com
description: 'OpenAPI 3.0 spec for Kong Gateway''s Admin API.
You can learn more about Kong Gateway at [developer.konghq.com](https://developer.konghq.com).
Give Kong a star at the [Kong/kong](https://github.com/kong/kong) repository.'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: Kong Enterprise Admin ACLs Certificates API
version: 3.14.0
servers:
- description: Default Admin API URL
url: '{protocol}://{hostname}:{port}{path}'
variables:
hostname:
default: localhost
description: Hostname for Kong's Admin API
path:
default: /
description: Base path for Kong's Admin API
port:
default: '8001'
description: Port for Kong's Admin API
protocol:
default: http
description: Protocol for requests to Kong's Admin API
enum:
- http
- https
security:
- adminToken: []
tags:
- description: 'A certificate object represents a public certificate, and can be optionally paired with the corresponding private key. These objects are used by Kong Gateway to handle SSL/TLS termination for encrypted requests, or for use as a trusted CA store when validating peer certificate of client/service.
Certificates are optionally associated with SNI objects to tie a cert/key pair to one or more hostnames.
If intermediate certificates are required in addition to the main certificate, they should be concatenated together into one string.
'
name: Certificates
paths:
/{workspace}/certificates:
post:
x-speakeasy-entity-operation:
terraform-datasource: null
terraform-resource: Certificate#create
operationId: create-certificate
summary: Create a new Certificate
description: Create a new Certificate
parameters:
- $ref: '#/components/parameters/Workspace'
requestBody:
description: Description of the new Certificate for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
responses:
'201':
description: Successfully created Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
/{workspace}/certificates/{CertificateId}:
parameters:
- $ref: '#/components/parameters/CertificateId'
delete:
x-speakeasy-entity-operation:
terraform-datasource: null
terraform-resource: Certificate#delete
operationId: delete-certificate
summary: Delete a Certificate
description: Delete a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId'
- $ref: '#/components/parameters/Workspace'
responses:
'204':
description: Successfully deleted Certificate or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
get:
x-speakeasy-entity-operation:
terraform-datasource: null
terraform-resource: Certificate#read
operationId: get-certificate
summary: Get a Certificate
description: Get a Certificate using ID.
parameters:
- $ref: '#/components/parameters/Workspace'
responses:
'200':
description: Successfully fetched Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
'404':
description: Resource does not exist
tags:
- Certificates
put:
x-speakeasy-entity-operation:
terraform-datasource: null
terraform-resource: Certificate#update
operationId: upsert-certificate
summary: Upsert a Certificate
description: Create or Update Certificate using ID.
parameters:
- $ref: '#/components/parameters/Workspace'
requestBody:
description: Description of the Certificate
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
responses:
'200':
description: Successfully upserted Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate'
'401':
$ref: '#/components/responses/HTTP401Error'
tags:
- Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates:
parameters:
- $ref: '#/components/parameters/controlPlaneId'
get:
operationId: list-certificate
summary: List all Certificates
description: List all Certificates
parameters:
- $ref: '#/components/parameters/PaginationSize'
- $ref: '#/components/parameters/PaginationOffset'
- $ref: '#/components/parameters/PaginationTagsFilter'
responses:
'200':
description: A successful response listing Certificates
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Certificate_2'
next:
$ref: '#/components/schemas/PaginationNextResponse'
offset:
$ref: '#/components/schemas/PaginationOffsetResponse'
'401':
$ref: '#/components/responses/HTTP401Error_2'
tags:
- Certificates
post:
operationId: create-certificate
summary: Create a new Certificate
description: Create a new Certificate
requestBody:
description: Description of the new Certificate for creation
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate_2'
responses:
'201':
description: Successfully created Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate_2'
'401':
$ref: '#/components/responses/HTTP401Error_2'
tags:
- Certificates
/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}:
parameters:
- $ref: '#/components/parameters/CertificateId_2'
- $ref: '#/components/parameters/controlPlaneId'
delete:
operationId: delete-certificate
summary: Delete a Certificate
description: Delete a Certificate
parameters:
- $ref: '#/components/parameters/CertificateId_2'
responses:
'204':
description: Successfully deleted Certificate or the resource didn't exist
'401':
$ref: '#/components/responses/HTTP401Error_2'
tags:
- Certificates
get:
operationId: get-certificate
summary: Get a Certificate
description: Get a Certificate using ID.
responses:
'200':
description: Successfully fetched Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate_2'
'401':
$ref: '#/components/responses/HTTP401Error_2'
'404':
description: Resource does not exist
tags:
- Certificates
put:
operationId: upsert-certificate
summary: Upsert a Certificate
description: Create or Update Certificate using ID.
requestBody:
description: Description of the Certificate
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate_2'
responses:
'200':
description: Successfully upserted Certificate
content:
application/json:
schema:
$ref: '#/components/schemas/Certificate_2'
'401':
$ref: '#/components/responses/HTTP401Error_2'
tags:
- Certificates
components:
responses:
HTTP401Error_2:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayUnauthorizedError'
HTTP401Error:
description: Unauthorized
content:
application/json:
examples:
DuplicateApiKey:
summary: Duplicate API key found
value:
message: Duplicate API key found
status: 401
InvalidAuthCred:
summary: Invalid authentication credentials
value:
message: Unauthorized
status: 401
NoAPIKey:
summary: No API key found
value:
message: No API key found in request
status: 401
schema:
$ref: '#/components/schemas/GatewayUnauthorizedError'
parameters:
PaginationSize:
description: Number of resources to be returned.
in: query
name: size
schema:
type: integer
default: 100
maximum: 1000
minimum: 1
Workspace:
description: The name of the workspace
in: path
name: workspace
required: true
schema:
type: string
example: team-payments
default: default
CertificateId_2:
description: ID of the Certificate to lookup
example: ddf3cdaa-3329-4961-822a-ce6dbd38eff7
in: path
name: CertificateId
required: true
schema:
type: string
PaginationOffset:
allowEmptyValue: true
description: Offset from which to return the next set of resources. Use the value of the 'offset' field from the response of a list operation as input here to paginate through all the resources
in: query
name: offset
schema:
type: string
CertificateId:
description: ID of the Certificate to lookup
example: ddf3cdaa-3329-4961-822a-ce6dbd38eff7
in: path
name: CertificateId
required: true
schema:
type: string
x-speakeasy-match: id
controlPlaneId:
name: controlPlaneId
in: path
required: true
schema:
type: string
format: uuid
example: 9524ec7d-36d9-465d-a8c5-83a3c9390458
description: The UUID of your control plane. This variable is available in the Konnect manager.
x-speakeasy-param-force-new: true
PaginationTagsFilter:
allowEmptyValue: true
description: A list of tags to filter the list of resources on. Multiple tags can be concatenated using ',' to mean AND or using '/' to mean OR.
example: tag1,tag2
in: query
name: tags
schema:
type: string
schemas:
PaginationOffsetResponse:
description: Offset is used to paginate through the API. Provide this value to the next list operation to fetch the next page
type: string
GatewayUnauthorizedError:
type: object
properties:
message:
type: string
status:
type: integer
required:
- message
- status
Certificate_2:
description: 'A certificate object represents a public certificate, and can be optionally paired with the corresponding private key. These objects are used by Kong to handle SSL/TLS termination for encrypted requests, or for use as a trusted CA store when validating peer certificate of client/service. Certificates are optionally associated with SNI objects to tie a cert/key pair to one or more hostnames. If intermediate certificates are required in addition to the main certificate, they should be concatenated together into one string according to the following order: main certificate on the top, followed by any intermediates.'
type: object
properties:
cert:
description: PEM-encoded public certificate chain of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
x-referenceable: true
cert_alt:
description: PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
nullable: true
x-referenceable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
key:
description: PEM-encoded private key of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
x-encrypted: true
x-referenceable: true
key_alt:
description: PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
nullable: true
x-encrypted: true
x-referenceable: true
snis:
type: array
items:
description: A string representing a wildcard host name, such as *.example.com.
type: string
nullable: true
tags:
description: An optional set of strings associated with the Certificate for grouping and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
cert: '-----BEGIN CERTIFICATE-----
certificate-content
-----END CERTIFICATE-----'
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: '-----BEGIN PRIVATE KEY-----
private-key-content
-----END PRIVATE KEY-----'
additionalProperties: false
required:
- cert
- key
Certificate:
x-speakeasy-entity: Certificate
description: 'A certificate object represents a public certificate, and can be optionally paired with the corresponding private key. These objects are used by Kong to handle SSL/TLS termination for encrypted requests, or for use as a trusted CA store when validating peer certificate of client/service. Certificates are optionally associated with SNI objects to tie a cert/key pair to one or more hostnames. If intermediate certificates are required in addition to the main certificate, they should be concatenated together into one string according to the following order: main certificate on the top, followed by any intermediates.'
type: object
properties:
cert:
description: PEM-encoded public certificate chain of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
x-referenceable: true
cert_alt:
description: PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
nullable: true
x-referenceable: true
created_at:
description: Unix epoch when the resource was created.
type: integer
nullable: true
id:
description: A string representing a UUID (universally unique identifier).
type: string
nullable: true
key:
description: PEM-encoded private key of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
x-encrypted: true
x-referenceable: true
key_alt:
description: PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).
type: string
nullable: true
x-encrypted: true
x-referenceable: true
snis:
type: array
items:
description: A string representing a wildcard host name, such as *.example.com.
type: string
nullable: true
tags:
description: An optional set of strings associated with the Certificate for grouping and filtering.
type: array
items:
description: A string representing a tag.
type: string
nullable: true
updated_at:
description: Unix epoch when the resource was last updated.
type: integer
nullable: true
example:
cert: '-----BEGIN CERTIFICATE-----
certificate-content
-----END CERTIFICATE-----'
id: b2f34145-0343-41a4-9602-4c69dec2f269
key: '-----BEGIN PRIVATE KEY-----
private-key-content
-----END PRIVATE KEY-----'
additionalProperties: false
required:
- cert
- key
PaginationNextResponse:
description: URI to the next page (may be null)
type: string
securitySchemes:
adminToken:
in: header
name: Kong-Admin-Token
type: apiKey
externalDocs:
description: Documentation for Kong Gateway and its APIs
url: https://developer.konghq.com