AskUI invites API

The invites API from AskUI — 3 operation(s) for invites.

OpenAPI Specification

askui-invites-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AskUI Workspaces access-tokens invites API
  version: 0.2.15
tags:
- name: invites
paths:
  /api/v1/invites:
    get:
      tags:
      - invites
      summary: List User Invites
      description: Get all valid invites for the authenticated user
      operationId: list_user_invites_api_v1_invites_get
      responses:
        '200':
          description: List of invites for the user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUserInvitesResponse'
        '500':
          description: Internal server error
      security:
      - Bearer: []
      - Basic: []
  /api/v1/workspaces/{workspace_id}/invites:
    post:
      tags:
      - invites
      summary: Create Invite
      operationId: create_invite_api_v1_workspaces__workspace_id__invites_post
      security:
      - Bearer: []
      - Basic: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Workspace Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInviteCommand'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - invites
      summary: List Invites
      operationId: list_invites_api_v1_workspaces__workspace_id__invites_get
      security:
      - Bearer: []
      - Basic: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Workspace Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListInvitesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/workspaces/{workspace_id}/invites/{invitation_id}:
    put:
      tags:
      - invites
      summary: Process Invite
      operationId: process_invite_api_v1_workspaces__workspace_id__invites__invitation_id__put
      security:
      - Bearer: []
      - Basic: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Workspace Id
      - name: invitation_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Invitation Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessWorkspaceInviteCommand'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - invites
      summary: Revoke Invite
      operationId: revoke_invite_api_v1_workspaces__workspace_id__invites__invitation_id__delete
      security:
      - Bearer: []
      - Basic: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Workspace Id
      - name: invitation_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Invitation Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    InviteStatus:
      type: string
      enum:
      - pending
      - accepted
      - declined
      - revoked
      - expired
      title: InviteStatus
    WorkspacePrivilege:
      type: string
      enum:
      - ROLE_WORKSPACE_OWNER
      - ROLE_WORKSPACE_ADMIN
      - ROLE_WORKSPACE_MEMBER
      title: WorkspacePrivilege
    InviteActionEnum:
      type: string
      enum:
      - accept
      - decline
      title: InviteActionEnum
    ListInvitesResponse:
      properties:
        invites:
          items:
            $ref: '#/components/schemas/InviteResponse'
          type: array
          title: Invites
      type: object
      required:
      - invites
      title: ListInvitesResponse
    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
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    InviteResponse:
      properties:
        id:
          type: string
          format: uuid4
          title: Id
        email:
          type: string
          format: email
          title: Email
        workspaceId:
          type: string
          format: uuid4
          title: Workspaceid
        inviterId:
          type: string
          title: Inviterid
        privileges:
          items:
            $ref: '#/components/schemas/WorkspacePrivilege'
          type: array
          title: Privileges
        status:
          $ref: '#/components/schemas/InviteStatus'
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
        expiresAt:
          type: string
          format: date-time
          title: Expiresat
        workspaceName:
          type: string
          title: Workspacename
      type: object
      required:
      - id
      - email
      - workspaceId
      - inviterId
      - privileges
      - status
      - updatedAt
      - expiresAt
      - workspaceName
      title: InviteResponse
    CreateInviteCommand:
      properties:
        email:
          type: string
          format: email
          title: Email
        privilege:
          $ref: '#/components/schemas/WorkspacePrivilege'
      type: object
      required:
      - email
      - privilege
      title: CreateInviteCommand
    ListUserInvitesResponse:
      properties:
        invites:
          items:
            $ref: '#/components/schemas/InviteResponse'
          type: array
          title: Invites
      type: object
      required:
      - invites
      title: ListUserInvitesResponse
    ProcessWorkspaceInviteCommand:
      properties:
        action:
          $ref: '#/components/schemas/InviteActionEnum'
      type: object
      required:
      - action
      title: ProcessWorkspaceInviteCommand
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
    Basic:
      type: apiKey
      in: header
      name: Authorization