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 Portal Audit Logs 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: Portal Audit Logs paths: /v3/portals/{portalId}/audit-log-replay-job: parameters: - $ref: '#/components/parameters/PortalId' put: operationId: update-portal-audit-log-replay-job summary: Update Portal Audit Log Replay Job description: Updates a job to re-send audit logs to an portal's webhook. requestBody: $ref: '#/components/requestBodies/ReplacePortalAuditLogReplayJob' responses: '202': $ref: '#/components/responses/PortalAuditLogReplayJob' '400': $ref: '#/components/responses/PortalReplayJobBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/PortalReplayJobConflict' tags: - Portal Audit Logs get: operationId: get-portal-audit-log-replay-job summary: Get Portal Audit Log Replay Job description: Returns the audit log replay job's configuration and status. responses: '200': $ref: '#/components/responses/PortalAuditLogReplayJob' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs /v3/portals/{portalId}/audit-log-webhook: parameters: - $ref: '#/components/parameters/PortalId' patch: x-speakeasy-entity-operation: terraform-resource: PortalAuditLogWebhook#create,update terraform-datasource: null operationId: update-portal-audit-log-webhook summary: Update Portal Audit Log Webhook description: Updates the configuration for a webhook to receive audit logs. requestBody: $ref: '#/components/requestBodies/UpdatePortalAuditLogWebhook' responses: '200': $ref: '#/components/responses/PortalAuditLogWebhook' '400': $ref: '#/components/responses/PortalWebhookBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs get: x-speakeasy-entity-operation: terraform-resource: PortalAuditLogWebhook#read terraform-datasource: null operationId: get-portal-audit-log-webhook summary: Get Portal Audit Log Webhook description: Returns configuration for the audit log webhook. responses: '200': $ref: '#/components/responses/PortalAuditLogWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs delete: x-speakeasy-entity-operation: terraform-resource: PortalAuditLogWebhook#delete terraform-datasource: null operationId: delete-portal-audit-log-webhook summary: Delete Portal Audit Log Webhook description: Removes configuration for the audit log webhook. The destination ID is set to empty, and the webhook enabled field is set to false responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portal Audit Logs /v3/portals/{portalId}/audit-log-webhook/status: parameters: - $ref: '#/components/parameters/PortalId' get: operationId: get-portal-audit-log-webhook-status summary: Get Portal Audit Log Webhook Status description: Returns status of the audit log webhook. responses: '200': $ref: '#/components/responses/PortalAuditLogWebhookStatus' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs 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 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 ConflictError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 409 title: example: Conflict type: example: https://httpstatuses.com/409 instance: example: kong:trace:1234567890 detail: example: Conflict 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 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' 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 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 responses: NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' Conflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' PortalAuditLogReplayJob: description: Response from fetching or updating an portal audit log replay job content: application/json: schema: type: object properties: start_at: description: The start of a date-time range. Initial value is 0001-01-01T00:00:0Z. type: string format: date-time example: '2017-07-21T17:32:28Z' end_at: description: The end of a date-time range. Initial value is 0001-01-01T00:00:0Z. type: string format: date-time example: '2017-07-21T17:32:28Z' status: type: string enum: - unconfigured - accepted - pending - running - completed - failed readOnly: true x-speakeasy-unknown-values: allow updated_at: description: Timestamp when this job was last updated. Initial value is 0001-01-01T00:00:0Z. type: string format: date-time readOnly: true PortalAuditLogWebhook: description: Portal audit log webhook response content: application/json: schema: type: object properties: enabled: description: Indicates if the data should be sent to the configured audit log destination. type: boolean example: true default: false audit_log_destination_id: description: ID of the audit log destination. type: string format: uuid PortalReplayJobBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' PortalWebhookBadRequest: 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 PortalReplayJobConflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' PortalAuditLogWebhookStatus: description: Get response for portal audit log webhook status content: application/json: schema: type: object properties: webhook_status: description: 'Current status of a webhook. `active` indicates the webhook is sending or ready to send requests. `inactive` indicates the webhook has been turned off due to failed attempts.' type: string example: active enum: - active - inactive x-speakeasy-unknown-values: allow webhook_enabled: description: 'Configured status of a webhook. `enabled` indicates the client will accept requests. `disabled` indicates the client will not accept requests.' type: boolean example: true last_attempt_at: description: The last time a request was made to the webhook, regardless of outcome. type: string format: date-time example: '2023-03-21T09:29:14.52Z' last_response_code: description: The last response code received from the webhook. type: integer example: 401 last_response_message: description: The last message received from the webhook. Useful for debugging. type: string example: Unauthenticated Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' requestBodies: ReplacePortalAuditLogReplayJob: description: The request schema to replace a portal audit log replay job. content: application/json: schema: type: object properties: start_at: description: 'The start of a date-time range in RFC3339 format e.g. 2017-07-21T17:32:28Z. Must be within the last 7 days.' type: string format: date-time end_at: description: 'The end of a date-time range in RFC3339 format e.g. 2017-07-21T17:32:28Z. Must be within the last 7 days.' type: string format: date-time required: - start_at - end_at UpdatePortalAuditLogWebhook: description: The request schema to modify an portal audit log webhook. content: application/json: schema: type: object properties: enabled: description: Indicates if the data should be sent to the configured destination. type: boolean example: true default: false audit_log_destination_id: description: ID of the audit log destination. type: string format: uuid parameters: PortalId: schema: type: string format: uuid example: f32d905a-ed33-46a3-a093-d8f536af9a8a name: portalId in: path required: true description: ID of the portal. securitySchemes: adminToken: in: header name: Kong-Admin-Token type: apiKey externalDocs: description: Documentation for Kong Gateway and its APIs url: https://developer.konghq.com