OpenAPI Specification
openapi: 3.0.2
info:
title: Keep actions auth API
description: Rest API powering https://platform.keephq.dev and friends 🏄♀️
version: 0.24.5
tags:
- name: auth
paths:
/auth/groups:
get:
tags:
- auth
summary: Get Groups
description: Get all groups
operationId: get_groups_auth_groups_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Group'
type: array
title: Response Get Groups Auth Groups Get
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
post:
tags:
- auth
summary: Create Group
description: Create a group
operationId: create_group_auth_groups_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateGroupRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
/auth/groups/{group_name}:
put:
tags:
- auth
summary: Update Group
description: Update a group
operationId: update_group_auth_groups__group_name__put
parameters:
- required: true
schema:
type: string
title: Group Name
name: group_name
in: path
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateGroupRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
delete:
tags:
- auth
summary: Delete Group
description: Delete a group
operationId: delete_group_auth_groups__group_name__delete
parameters:
- required: true
schema:
type: string
title: Group Name
name: group_name
in: path
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
/auth/permissions:
get:
tags:
- auth
summary: Get Permissions
description: Get resources permissions
operationId: get_permissions_auth_permissions_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ResourcePermission'
type: array
title: Response Get Permissions Auth Permissions Get
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
post:
tags:
- auth
summary: Create Permissions
description: Create permissions for resources
operationId: create_permissions_auth_permissions_post
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ResourcePermission'
type: array
title: Resource Permissions
description: List of resource permissions
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
/auth/permissions/scopes:
get:
tags:
- auth
summary: Get Scopes
description: Get all resources types
operationId: get_scopes_auth_permissions_scopes_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
type: string
type: array
title: Response Get Scopes Auth Permissions Scopes Get
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
/auth/roles:
get:
tags:
- auth
summary: Get Roles
description: Get roles
operationId: get_roles_auth_roles_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Role'
type: array
title: Response Get Roles Auth Roles Get
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
post:
tags:
- auth
summary: Create Role
description: Create role
operationId: create_role_auth_roles_post
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateOrUpdateRole'
title: Role
description: Role
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
/auth/roles/{role_id}:
put:
tags:
- auth
summary: Update Role
description: Update role
operationId: update_role_auth_roles__role_id__put
parameters:
- required: true
schema:
type: string
title: Role Id
name: role_id
in: path
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateOrUpdateRole'
title: Role
description: Role
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
delete:
tags:
- auth
summary: Delete Role
description: Delete role
operationId: delete_role_auth_roles__role_id__delete
parameters:
- required: true
schema:
type: string
title: Role Id
name: role_id
in: path
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
/auth/users:
get:
tags:
- auth
summary: Get Users
description: Get all users
operationId: get_users_auth_users_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/User'
type: array
title: Response Get Users Auth Users Get
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
post:
tags:
- auth
summary: Create User
description: Create a user
operationId: create_user_auth_users_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
/auth/users/{user_email}:
put:
tags:
- auth
summary: Update User
description: Update a user
operationId: update_user_auth_users__user_email__put
parameters:
- required: true
schema:
type: string
title: User Email
name: user_email
in: path
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
delete:
tags:
- auth
summary: Delete User
description: Delete a user
operationId: delete_user_auth_users__user_email__delete
parameters:
- required: true
schema:
type: string
title: User Email
name: user_email
in: path
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
- HTTPBasic: []
- OAuth2PasswordBearer: []
components:
schemas:
User:
properties:
email:
type: string
title: Email
name:
type: string
title: Name
role:
type: string
title: Role
picture:
type: string
title: Picture
created_at:
type: string
title: Created At
last_login:
type: string
title: Last Login
ldap:
type: boolean
title: Ldap
default: false
groups:
items:
$ref: '#/components/schemas/Group'
type: array
title: Groups
default: []
type: object
required:
- email
- name
- created_at
title: User
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
CreateUserRequest:
properties:
username:
type: string
title: Username
name:
type: string
title: Name
password:
type: string
title: Password
role:
type: string
title: Role
groups:
items:
type: string
type: array
title: Groups
type: object
required:
- username
title: CreateUserRequest
Role:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
description:
type: string
title: Description
scopes:
items:
type: string
type: array
uniqueItems: true
title: Scopes
predefined:
type: boolean
title: Predefined
default: true
type: object
required:
- id
- name
- description
- scopes
title: Role
UpdateUserRequest:
properties:
username:
type: string
title: Username
password:
type: string
title: Password
role:
type: string
title: Role
groups:
items:
type: string
type: array
title: Groups
type: object
title: UpdateUserRequest
PermissionEntity:
properties:
id:
type: string
title: Id
type:
type: string
title: Type
name:
type: string
title: Name
type: object
required:
- id
- type
title: PermissionEntity
Group:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
roles:
items:
type: string
type: array
title: Roles
default: []
members:
items:
type: string
type: array
title: Members
default: []
memberCount:
type: integer
title: Membercount
default: 0
type: object
required:
- id
- name
title: Group
ResourcePermission:
properties:
resource_id:
type: string
title: Resource Id
resource_name:
type: string
title: Resource Name
resource_type:
type: string
title: Resource Type
permissions:
items:
$ref: '#/components/schemas/PermissionEntity'
type: array
title: Permissions
type: object
required:
- resource_id
- resource_name
- resource_type
- permissions
title: ResourcePermission
CreateOrUpdateRole:
properties:
name:
type: string
title: Name
description:
type: string
title: Description
scopes:
items:
type: string
type: array
uniqueItems: true
title: Scopes
type: object
title: CreateOrUpdateRole
CreateOrUpdateGroupRequest:
properties:
name:
type: string
title: Name
roles:
items:
type: string
type: array
title: Roles
members:
items:
type: string
type: array
title: Members
type: object
required:
- name
- roles
- members
title: CreateOrUpdateGroupRequest
securitySchemes:
API Key:
type: apiKey
in: header
name: X-API-KEY
HTTPBasic:
type: http
scheme: basic
OAuth2PasswordBearer:
type: oauth2
flows:
password:
scopes: {}
tokenUrl: token