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 Criteria Templates 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: Criteria Templates description: 'Several criteria templates are provided to help ensure your services adhere to industry best practices. A criteria template is a collection of criteria grouped together to target various categories. Criteria may require a specific type of integration be installed and authorized. For example, criteria which evaluates the operation performance across incident management may require a integration related to incident management to be installed and authorized. Learn more about scorecards by visiting our [documentation](https://developer.konghq.com/service-catalog/scorecards/). ' paths: /v1/criteria-templates: get: operationId: list-criteria-templates summary: List Criteria Templates description: Returns a paginated collection of criteria templates. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CriteriaTemplateFilter' - $ref: '#/components/parameters/CriteriaTemplateSort' responses: '200': $ref: '#/components/responses/ListCriteriaTemplatesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Criteria Templates 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 CriteriaTemplate: description: Representation of a criteria template. type: object properties: name: $ref: '#/components/schemas/CriteriaTemplateName' display_name: description: The human-readable display name of the template. type: string category: description: Categorical tag for the functionality the template relates to. type: string example: Source Code Management enum: - Source Code Management - Incident Management - Observability - Code Quality - Issue Tracking - Communications - Feature Management - Security / Vulnerability - Documentation - Catalog Management - Gateway Configuration nullable: true x-speakeasy-unknown-values: allow template_string: description: '[Liquid](https://shopify.github.io/liquid/) template string used to render the criteria interpolated by parameters.' type: string nullable: true integration_name: description: 'The catalog integration who registered the given criteria template. This will be `null` when a template is always available independent of connected integrations. ' type: string nullable: true installed: description: 'Whether the template is available given the current state of the catalog. For example, this will be `false` when the template is provided by an integrastion that is not currently connected. ' type: boolean schema: $ref: '#/components/schemas/CriteriaTemplateSchema' required_integration_capability: description: 'Required capability from connected integrations to use this criteria template. Applicable for templates that are not provided by a given integration (functional across integrations). ' type: string enum: - null - on_call_provider - incident_provider - pull_request_provider - workflow_provider nullable: true x-speakeasy-unknown-values: allow required: - name - display_name - category - template_string - integration_name - installed - schema - required_integration_capability 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 CriteriaTemplateFilterParameters: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' installed: $ref: '#/components/schemas/BooleanFieldFilter' integration_name: $ref: '#/components/schemas/StringFieldFilter' 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 PaginatedMeta: description: returns the pagination information type: object properties: page: $ref: '#/components/schemas/PageMeta' required: - page title: PaginatedMeta x-speakeasy-terraform-ignore: true StringFieldFilter: description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`, `contains`, `ocontains`' type: object properties: eq: description: The field exactly matches the provided value. type: string contains: description: The field contains the provided value. type: string ocontains: description: The field contains any of the provided values. type: string oeq: description: The field matches any of the provided values. type: string neq: description: The field does not match the provided value. type: string additionalProperties: false 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 SortQuery: description: 'The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. Multiple sort attributes may be provided via a comma separated list. JSONPath notation may be used to specify a sub-attribute (eg: ''foo.bar desc''). ' type: string example: created_at desc title: SortQuery 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 CriteriaTemplateSchema: oneOf: - title: EmptySchema type: object nullable: true - type: object required: - type - definition properties: type: type: string enum: - simple definition: type: object additionalProperties: type: string enum: - string - number - boolean title: CriteriaTemplateSimpleSchema description: 'Defines the parameters required to evaluate the criteria using simple schema. Set to `null` when the given criteria does not rely on parameterization. ' - type: object required: - type - definition properties: type: type: string enum: - json_schema definition: type: object additionalProperties: true title: CriteriaTemplateJSONSchema description: 'Defines the parameters required to evaluate the criteria using JSON schema. Set to `null` when the given criteria does not rely on parameterization. ' 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 CriteriaTemplateName: description: Reference to the unique `name` of the criteria template. type: string example: time_to_merge PageMeta: description: Contains pagination query parameters and the total number of objects returned. type: object properties: number: type: number example: 1 x-speakeasy-terraform-ignore: true size: type: number example: 10 x-speakeasy-terraform-ignore: true total: type: number example: 100 x-speakeasy-terraform-ignore: true required: - number - size - total BooleanFieldFilter: description: Filter by a boolean value (true/false). type: boolean title: BooleanFieldFilter responses: BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' 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 ListCriteriaTemplatesResponse: description: A paginated list response for a collection of criteria templates. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CriteriaTemplate' additionalProperties: false required: - meta - data Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' parameters: CriteriaTemplateSort: name: sort description: "Sorts a collection of criteria templates. Supported sort attributes are:\n - `display_name`\n - `name`\n\nDefault sort is `display_name` in ascending order.\n" required: false in: query schema: $ref: '#/components/schemas/SortQuery' 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 CriteriaTemplateFilter: name: filter description: Filters a collection of criteria templates. required: false in: query style: deepObject schema: $ref: '#/components/schemas/CriteriaTemplateFilterParameters' PageNumber: name: page[number] description: Determines which page of the entities to retrieve. required: false in: query allowEmptyValue: true schema: type: integer example: 1 x-speakeasy-terraform-ignore: true securitySchemes: adminToken: in: header name: Kong-Admin-Token type: apiKey externalDocs: description: Documentation for Kong Gateway and its APIs url: https://developer.konghq.com