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 Event Gateway TLS Trust Bundles 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: - name: Event Gateway TLS Trust Bundles description: 'A TLS trust bundle defines a set of trusted certificate authorities (CAs) used for client certificate verification during mutual TLS (mTLS). Trust bundles are referenced by TLS listener policies to determine which client certificates are accepted. ' paths: /v1/event-gateways/{gatewayId}/tls-trust-bundles: parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-tls-trust-bundles summary: List TLS Trust Bundles description: 'Returns a list of TLS trust bundles associated with the specified Event Gateway. **Requires a minimum runtime version of `1.1`**.' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListTLSTrustBundlesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#create terraform-datasource: null operationId: create-event-gateway-tls-trust-bundle summary: Create TLS Trust Bundle description: 'Creates a new TLS trust bundle containing trusted CA certificates for client certificate verification. **Requires a minimum runtime version of `1.1`**.' requestBody: $ref: '#/components/requestBodies/CreateTLSTrustBundleRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' /v1/event-gateways/{gatewayId}/tls-trust-bundles/{tlsTrustBundleId}: parameters: - $ref: '#/components/parameters/gatewayId' - name: tlsTrustBundleId in: path description: The ID of the TLS trust bundle. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#read terraform-datasource: null operationId: get-event-gateway-tls-trust-bundle summary: Get a TLS Trust Bundle description: 'Returns information about a specific TLS trust bundle. **Requires a minimum runtime version of `1.1`**.' responses: '200': description: A single TLS trust bundle object. content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' put: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#update terraform-datasource: null operationId: update-event-gateway-tls-trust-bundle summary: Update TLS Trust Bundle description: 'Updates an existing TLS trust bundle. **Requires a minimum runtime version of `1.1`**.' requestBody: $ref: '#/components/requestBodies/UpdateTLSTrustBundleRequest' responses: '200': description: Updated TLS trust bundle object. content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#delete terraform-datasource: null operationId: delete-event-gateway-tls-trust-bundle summary: Delete TLS Trust Bundle description: 'Deletes a specific TLS trust bundle associated with the Event Gateway. **Requires a minimum runtime version of `1.1`**.' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' components: schemas: InvalidParameterMinimumLength: type: object properties: field: type: string example: name readOnly: true rule: description: invalid parameters rules type: string enum: - min_length - min_digits - min_lowercase - min_uppercase - min_symbols - min_items - min nullable: false readOnly: true x-speakeasy-unknown-values: allow minimum: type: integer example: 8 source: type: string example: body reason: type: string example: must have at least 8 characters readOnly: true additionalProperties: false required: - field - reason - rule - minimum UpdatedAt: description: An ISO-8601 timestamp representation of entity update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true InvalidParameterChoiceItem: type: object properties: field: type: string example: name readOnly: true rule: description: invalid parameters rules type: string enum: - enum nullable: false readOnly: true reason: type: string example: is a required field readOnly: true choices: type: array items: {} minItems: 1 nullable: false readOnly: true uniqueItems: true source: type: string example: body additionalProperties: false required: - field - reason - rule - choices InvalidParameterMaximumLength: type: object properties: field: type: string example: name readOnly: true rule: description: invalid parameters rules type: string enum: - max_length - max_items - max nullable: false readOnly: true x-speakeasy-unknown-values: allow maximum: type: integer example: 8 source: type: string example: body reason: type: string example: must not have more than 8 characters readOnly: true additionalProperties: false required: - field - reason - rule - maximum Labels: description: "Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. \n\nKeys must be of length 1-63 characters, and cannot start with \"kong\", \"konnect\", \"mesh\", \"kic\", or \"_\".\n" type: object example: env: test additionalProperties: type: string pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$ minLength: 1 maxLength: 63 maxProperties: 50 title: Labels ForbiddenError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 403 title: example: Forbidden type: example: https://httpstatuses.com/403 instance: example: kong:trace:1234567890 detail: example: Forbidden UnauthorizedError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 401 title: example: Unauthorized type: example: https://httpstatuses.com/401 instance: example: kong:trace:1234567890 detail: example: Invalid credentials TLSTrustBundleName: description: The unique name of the TLS trust bundle. type: string maxLength: 255 minLength: 1 x-unicode-pattern: ^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+']*[\p{L}\p{N}]$ CursorMetaPage: type: object properties: first: description: URI to the first page type: string format: path last: description: URI to the last page type: string format: path next: description: URI to the next page type: string format: path nullable: true previous: description: URI to the previous page type: string format: path nullable: true size: description: Requested page size type: number example: 10 required: - size - next - previous CursorMeta: description: Pagination metadata. type: object properties: page: $ref: '#/components/schemas/CursorMetaPage' required: - page CreatedAt: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true BaseError: description: standard error type: object properties: status: description: 'The HTTP status code of the error. Useful when passing the response body to child properties in a frontend UI. Must be returned as an integer. ' type: integer readOnly: true title: description: 'A short, human-readable summary of the problem. It should not change between occurences of a problem, except for localization. Should be provided as "Sentence case" for direct use in the UI. ' type: string readOnly: true type: description: The error type. type: string readOnly: true instance: description: 'Used to return the correlation ID back to the user, in the format kong:trace:. This helps us find the relevant logs when a customer reports an issue. ' type: string readOnly: true detail: description: 'A human readable explanation specific to this occurence of the problem. This field may contain request/entity data to help the user understand what went wrong. Enclose variable values in square brackets. Should be provided as "Sentence case" for direct use in the UI. ' type: string readOnly: true required: - status - title - instance - detail title: Error InvalidParameterDependentItem: type: object properties: field: type: string example: name readOnly: true rule: description: invalid parameters rules type: string enum: - dependent_fields nullable: true readOnly: true reason: type: string example: is a required field readOnly: true dependents: type: array items: {} nullable: true readOnly: true uniqueItems: true source: type: string example: body additionalProperties: false required: - field - rule - reason - dependents InvalidRules: description: invalid parameters rules type: string enum: - required - is_array - is_base64 - is_boolean - is_date_time - is_integer - is_null - is_number - is_object - is_string - is_uuid - is_fqdn - is_arn - unknown_property - missing_reference - is_label - matches_regex - invalid - is_supported_network_availability_zone_list - is_supported_network_cidr_block - is_supported_provider_region - type nullable: true readOnly: true x-speakeasy-unknown-values: allow InvalidParameters: description: invalid parameters type: array items: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 nullable: false uniqueItems: true BadRequestError: allOf: - $ref: '#/components/schemas/BaseError' - type: object required: - invalid_parameters properties: invalid_parameters: $ref: '#/components/schemas/InvalidParameters' TLSTrustBundle: description: 'A TLS trust bundle defines a set of trusted certificate authorities (CAs) used for client certificate verification during mutual TLS (mTLS). Trust bundles are referenced by TLS listener policies to determine which client certificates are accepted. **Requires a minimum runtime version of `1.1`**.' type: object properties: id: description: The unique identifier of the TLS trust bundle. type: string format: uuid readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - config - created_at - updated_at x-min-runtime-version: '1.1' InvalidParameterStandard: type: object properties: field: type: string example: name readOnly: true rule: $ref: '#/components/schemas/InvalidRules' source: type: string example: body reason: type: string example: is a required field readOnly: true additionalProperties: false required: - field - reason TLSTrustBundleConfig: type: object properties: trusted_ca: description: 'PEM-encoded list of trusted CA certificates used to verify client certificates. Can be a literal PEM string or a vault reference. ' type: string minLength: 1 x-expression: type: string fields: - vault required: - trusted_ca NotFoundError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 404 title: example: Not Found type: example: https://httpstatuses.com/404 instance: example: kong:trace:1234567890 detail: example: Not found StringFieldContainsFilter: description: Filters on the given string field value by fuzzy match. type: object properties: contains: type: string additionalProperties: false required: - contains title: StringFieldContainsFilter requestBodies: UpdateTLSTrustBundleRequest: description: The request schema for updating a TLS trust bundle. required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' additionalProperties: false CreateTLSTrustBundleRequest: description: The request schema for creating a TLS trust bundle. required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - config parameters: EventGatewayCommonFilter: schema: type: object properties: name: $ref: '#/components/schemas/StringFieldContainsFilter' in: query name: filter description: Filter documents returned in the response. required: false style: deepObject PageAfter: name: page[after] description: Request the next page of data, starting with the item after this parameter. required: false in: query allowEmptyValue: true schema: type: string example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ gatewayId: name: gatewayId in: path required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 description: The UUID of your Gateway. PageSize: name: page[size] description: The maximum number of items to include per page. The last page of a collection may include fewer items. required: false in: query allowEmptyValue: true schema: type: integer example: 10 x-speakeasy-terraform-ignore: true responses: BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ListTLSTrustBundlesResponse: description: A paginated list response for a collection of TLS trust bundles. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/TLSTrustBundle' Unauthorized: description: Unauthorized content: application/problem+json: schema: description: The error response object. type: object properties: status: description: The HTTP status code. type: integer example: 403 title: description: The Error Response. type: string example: Unauthorized instance: description: The Konnect traceback code. type: string example: konnect:trace:952172606039454040 detail: description: Details about the error response. type: string example: You do not have permission to perform this action $ref: '#/components/schemas/UnauthorizedError' title: Unauthorized Response Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' securitySchemes: adminToken: in: header name: Kong-Admin-Token type: apiKey externalDocs: description: Documentation for Kong Gateway and its APIs url: https://developer.konghq.com