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 Config Stores 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: Config Stores name: Config Stores paths: /v2/control-planes/{controlPlaneId}/config-stores: get: operationId: list-config-stores summary: List all config stores for a control plane parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/ListConfigStoresResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Config Stores post: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#create terraform-datasource: null operationId: create-config-store summary: Create Config Store description: Create a Config Store parameters: - $ref: '#/components/parameters/controlPlaneId' requestBody: $ref: '#/components/requestBodies/CreateConfigStoreRequest' responses: '201': $ref: '#/components/responses/ConfigStoreResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - Config Stores /v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}: parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/configStoreId' get: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#read terraform-datasource: null operationId: get-config-store summary: Get a Config Store description: Returns a Config Store responses: '200': $ref: '#/components/responses/ConfigStoreResponse' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Config Stores put: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#update terraform-datasource: null operationId: update-config-store summary: Update an individual Config Store description: Updates a Config Store requestBody: $ref: '#/components/requestBodies/UpdateConfigStoreRequest' responses: '200': $ref: '#/components/responses/ConfigStoreResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/ConfigStoreNotFound' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - Config Stores delete: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#delete terraform-datasource: null operationId: delete-config-store summary: Delete Config Store description: Removes a config store parameters: - name: force in: query description: If true, delete specified config store and all secrets, even if there are secrets linked to the config store If false, do not allow deletion if there are secrets linked to the config store schema: type: string default: 'false' enum: - 'true' - 'false' responses: '204': description: Config Store was deleted successfully. '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Config Stores 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 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 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 ConfigStore: type: object properties: id: description: The Config Store ID. type: string format: uuid example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 readOnly: true name: description: The name of the Config Store type: string example: My Name created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' 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 UpdateConfigStore: description: The request schema to update a Config Store. type: object properties: name: type: string example: Config Store maxLength: 100 minLength: 1 additionalProperties: false title: Update Config Store Request 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' 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 CreateConfigStore: description: The request schema to create a Config Store. type: object properties: name: type: string example: Config Store maxLength: 100 minLength: 1 additionalProperties: false title: Create Config Store Request UnsupportedMediaTypeError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 415 title: example: UnsupportedMediaType type: example: https://httpstatuses.com/415 instance: example: kong:trace:1234567890 detail: example: UnsupportedMediaType 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 requestBodies: CreateConfigStoreRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateConfigStore' UpdateConfigStoreRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateConfigStore' parameters: 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 configStoreId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: configStoreId in: path required: true description: Config Store identifier x-speakeasy-match: id 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 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 responses: ConfigStoreNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ListConfigStoresResponse: description: List of Config Stores content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/ConfigStore' required: - data - meta title: ListConfigStoresResponse UnsupportedMediaType: description: Unsupported Media Type content: application/problem+json: schema: $ref: '#/components/schemas/UnsupportedMediaTypeError' ConfigStoreResponse: description: Config Store content: application/json: schema: $ref: '#/components/schemas/ConfigStore' ConfigStoreUnauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' 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