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 RBACUserRoles 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: RBACUserRoles paths: /{workspace}/rbac/users/{RBACUserIdForNestedEntities}/roles: parameters: - $ref: '#/components/parameters/Workspace' - $ref: '#/components/parameters/RBACUserIdForNestedEntities' delete: x-speakeasy-entity-operation: terraform-datasource: null terraform-resource: RbacUserRole#delete operationId: delete-rbac_user_role summary: Delete a RBAC User Role description: Delete a RBAC User Role requestBody: description: Request body for deleting an RBAC role. Must include the role name in the 'role' field. content: application/json: schema: $ref: '#/components/schemas/RBACUserRole' responses: '204': description: Successfully deleted RBAC User Role or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - RBACUserRoles post: x-speakeasy-entity-operation: terraform-datasource: null terraform-resource: RbacUserRole#create operationId: create-rbac_user_role summary: Create a new RBAC User Role description: Create a new RBAC User Role parameters: - $ref: '#/components/parameters/Workspace' requestBody: description: Description of the new RBAC User Role for creation required: true content: application/json: schema: $ref: '#/components/schemas/RBACUserRole' responses: '201': description: Successfully created RBAC User Role content: application/json: schema: $ref: '#/components/schemas/RBACUserRole' '401': $ref: '#/components/responses/HTTP401Error' tags: - RBACUserRoles components: parameters: Workspace: description: The name of the workspace in: path name: workspace required: true schema: type: string example: team-payments default: default RBACUserIdForNestedEntities: description: ID of the RBAC User to lookup example: '' in: path name: RBACUserIdForNestedEntities required: true schema: type: string x-speakeasy-match: user_id responses: 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' schemas: RBACUserRole: x-speakeasy-entity: RbacUserRole type: object properties: role: description: The RBAC role assigned to the user. type: string nullable: true properties: id: type: string x-foreign: true role_source: description: The origin of the RBAC user role. type: string default: local enum: - idp - local nullable: true x-speakeasy-terraform-ignore: true user: description: The RBAC user associated with the role. type: object nullable: true properties: id: type: string x-foreign: true x-speakeasy-terraform-ignore: true user_id: description: The RBAC user ID associated with the role. type: string nullable: true additionalProperties: false x-speakeasy-transform-from-api: jq: '. | if .roles != null then .role = .roles[0].name else . end | if .user != null and .user.id != null then . + { user_id: .user.id } else . end | del(.user, .role_source) ' x-speakeasy-transform-to-api: jq: '. | if .role != null then .roles = .role else . end | if .user_id != null then .user = { id: .user_id } else . end | del(.user_id, .role) ' GatewayUnauthorizedError: type: object properties: message: type: string status: type: integer required: - message - status securitySchemes: adminToken: in: header name: Kong-Admin-Token type: apiKey externalDocs: description: Documentation for Kong Gateway and its APIs url: https://developer.konghq.com