Arcee AI User API

The User API from Arcee AI — 12 operation(s) for user.

OpenAPI Specification

arcee-ai-user-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AFM Access Profiles User API
  version: 0.1.0
tags:
- name: User
paths:
  /app/v1/users/{user_id}:
    put:
      tags:
      - User
      summary: Update User Password
      description: Update a user's information, requires admin privileges
      operationId: update_user_password_app_v1_users__user_id__put
      security:
      - HTTPBearer: []
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /app/v1/users:
    get:
      tags:
      - User
      summary: Get All Users
      description: Get all users in the system, requires admin privileges
      operationId: get_all_users_app_v1_users_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /app/v1/users/app_roles:
    get:
      tags:
      - User
      summary: Get Users App Roles Entries
      description: 'Get paginated list of users with their app roles, requires admin privileges

        include_deleted: If True, includes deleted/anonymized accounts (default: False)'
      operationId: get_users_app_roles_entries_app_v1_users_app_roles_get
      security:
      - HTTPBearer: []
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Page Size
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      - name: include_deleted
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Include Deleted
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAppRoleResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /app/v1/users/app_role:
    put:
      tags:
      - User
      summary: Update User App Role
      description: Update a user's app role, requires internal privileges.
      operationId: update_user_app_role_app_v1_users_app_role_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAppRoleUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /app/v1/users/role:
    post:
      tags:
      - User
      summary: Update User Role
      description: Update a user's role, requires admin privileges."
      operationId: update_user_role_app_v1_users_role_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRoleUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /app/v1/users/profile:
    put:
      tags:
      - User
      summary: Update User Profile
      operationId: update_user_profile_app_v1_users_profile_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /app/v1/me:
    get:
      tags:
      - User
      summary: Get Current User Info
      description: Get current authenticated user information
      operationId: get_current_user_info_app_v1_me_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
  /app/v1/users/theme:
    put:
      tags:
      - User
      summary: Update Theme
      description: Update user's theme mode preference
      operationId: update_theme_app_v1_users_theme_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThemeUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /app/v1/users/language:
    put:
      tags:
      - User
      summary: Update Language
      description: Update user's language preference
      operationId: update_language_app_v1_users_language_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LanguageUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /app/v1/users/balance-visibility:
    put:
      tags:
      - User
      summary: Update Balance Visibility
      description: Update user's balance visibility preference
      operationId: update_balance_visibility_app_v1_users_balance_visibility_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BalanceVisibilityRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /app/v1/users/github-email-mismatch-banner-home:
    put:
      tags:
      - User
      summary: Update Github Email Mismatch Banner Home
      description: Update user's GitHub email mismatch home-banner preference.
      operationId: update_github_email_mismatch_banner_home_app_v1_users_github_email_mismatch_banner_home_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GitHubEmailMismatchBannerHomeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /app/v1/delete-my-account:
    delete:
      tags:
      - User
      summary: Delete My Account
      description: 'Delete current user''s account (self-deletion).

        Synchronously processes deletion.'
      operationId: delete_my_account_app_v1_delete_my_account_delete
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
components:
  schemas:
    AppRoleEntry:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        email:
          type: string
          title: Email
        first_name:
          type: string
          title: First Name
        last_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Name
        app_role:
          type: string
          title: App Role
      type: object
      required:
      - id
      - email
      - first_name
      - last_name
      - app_role
      title: AppRoleEntry
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AppRole:
      type: string
      enum:
      - int_user
      - int_editor
      - int_admin
      - ext_user
      - ext_tester
      - ext_partner
      title: AppRole
      description: Roles for role-based access control.
    LanguageUpdateRequest:
      properties:
        language:
          type: string
          title: Language
      type: object
      required:
      - language
      title: LanguageUpdateRequest
    UserRoleUpdateRequest:
      properties:
        user_id:
          type: string
          title: User Id
        new_role:
          type: string
          title: New Role
      type: object
      required:
      - user_id
      - new_role
      title: UserRoleUpdateRequest
    ThemeUpdateRequest:
      properties:
        theme:
          type: string
          title: Theme
      type: object
      required:
      - theme
      title: ThemeUpdateRequest
    PaginatedAppRoleResponse:
      properties:
        entries:
          items:
            $ref: '#/components/schemas/AppRoleEntry'
          type: array
          title: Entries
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        page_size:
          type: integer
          title: Page Size
        total_pages:
          type: integer
          title: Total Pages
        has_next:
          type: boolean
          title: Has Next
        has_prev:
          type: boolean
          title: Has Prev
      type: object
      required:
      - entries
      - total
      - page
      - page_size
      - total_pages
      - has_next
      - has_prev
      title: PaginatedAppRoleResponse
    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
    GitHubEmailMismatchBannerHomeRequest:
      properties:
        show_mismatch_banner_home:
          type: boolean
          title: Show Mismatch Banner Home
      type: object
      required:
      - show_mismatch_banner_home
      title: GitHubEmailMismatchBannerHomeRequest
    UserUpdateRequest:
      properties:
        first_name:
          anyOf:
          - type: string
          - type: 'null'
          title: First Name
        last_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Name
        preferences:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Preferences
        password:
          anyOf:
          - type: string
          - type: 'null'
          title: Password
      type: object
      required:
      - first_name
      - last_name
      - preferences
      - password
      title: UserUpdateRequest
    UserAppRoleUpdateRequest:
      properties:
        user_id:
          type: string
          title: User Id
        new_role:
          $ref: '#/components/schemas/AppRole'
      type: object
      required:
      - user_id
      - new_role
      title: UserAppRoleUpdateRequest
    BalanceVisibilityRequest:
      properties:
        show_balance_in_sidebar:
          type: boolean
          title: Show Balance In Sidebar
      type: object
      required:
      - show_balance_in_sidebar
      title: BalanceVisibilityRequest
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer