Keep auth API

The auth API from Keep — 8 operation(s) for auth.

OpenAPI Specification

keep-auth-api-openapi.yml Raw ↑
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