Arize Phoenix users API

The users API from Arize Phoenix — 3 operation(s) for users.

OpenAPI Specification

phoenix-users-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Arize-Phoenix REST annotation_configs users API
  description: Schema for Arize-Phoenix REST API
  version: '1.0'
tags:
- name: users
paths:
  /v1/user:
    get:
      tags:
      - users
      summary: Get the authenticated user
      description: Returns the profile of the currently authenticated user. When authentication is disabled, returns an anonymous user representation.
      operationId: getViewer
      responses:
        '200':
          description: The authenticated user's profile.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetViewerResponseBody'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                type: string
        '401':
          description: User not found.
          content:
            text/plain:
              schema:
                type: string
  /v1/users:
    get:
      tags:
      - users
      summary: List all users
      description: Retrieve a paginated list of all users in the system.
      operationId: getUsers
      parameters:
      - name: cursor
        in: query
        required: false
        schema:
          type: string
          description: Cursor for pagination (base64-encoded user ID)
          title: Cursor
        description: Cursor for pagination (base64-encoded user ID)
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          exclusiveMinimum: 0
          description: The max number of users to return at a time.
          default: 100
          title: Limit
        description: The max number of users to return at a time.
      responses:
        '200':
          description: A list of users.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUsersResponseBody'
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Forbidden
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
    post:
      tags:
      - users
      summary: Create a new user
      description: Create a new user with the specified configuration.
      operationId: createUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserRequestBody'
      responses:
        '201':
          description: The newly created user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserResponseBody'
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Forbidden
        '400':
          content:
            text/plain:
              schema:
                type: string
          description: Role not found.
        '409':
          content:
            text/plain:
              schema:
                type: string
          description: Username or email already exists.
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
  /v1/users/{user_id}:
    delete:
      tags:
      - users
      summary: Delete a user by ID
      description: Delete an existing user by their unique GlobalID.
      operationId: deleteUser
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          description: The GlobalID of the user (e.g. 'VXNlcjox').
          title: User Id
        description: The GlobalID of the user (e.g. 'VXNlcjox').
      responses:
        '204':
          description: No content returned on successful deletion.
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Cannot delete the default admin or system user
        '404':
          content:
            text/plain:
              schema:
                type: string
          description: User not found.
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
components:
  schemas:
    OAuth2UserData:
      properties:
        email:
          type: string
          title: Email
        username:
          type: string
          title: Username
        role:
          type: string
          enum:
          - SYSTEM
          - ADMIN
          - MEMBER
          - VIEWER
          title: Role
        auth_method:
          type: string
          const: OAUTH2
          title: Auth Method
        oauth2_client_id:
          type: string
          title: Oauth2 Client Id
        oauth2_user_id:
          type: string
          title: Oauth2 User Id
      type: object
      required:
      - email
      - username
      - role
      - auth_method
      title: OAuth2UserData
    GetUsersResponseBody:
      properties:
        data:
          items:
            oneOf:
            - $ref: '#/components/schemas/LocalUser'
            - $ref: '#/components/schemas/OAuth2User'
            - $ref: '#/components/schemas/LDAPUser'
            discriminator:
              propertyName: auth_method
              mapping:
                LDAP: '#/components/schemas/LDAPUser'
                LOCAL: '#/components/schemas/LocalUser'
                OAUTH2: '#/components/schemas/OAuth2User'
          type: array
          title: Data
        next_cursor:
          type: string
          nullable: true
          title: Next Cursor
      type: object
      required:
      - data
      - next_cursor
      title: GetUsersResponseBody
    LDAPUser:
      properties:
        id:
          type: string
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        email:
          type: string
          title: Email
        username:
          type: string
          title: Username
        role:
          type: string
          enum:
          - SYSTEM
          - ADMIN
          - MEMBER
          - VIEWER
          title: Role
        auth_method:
          type: string
          const: LDAP
          title: Auth Method
      type: object
      required:
      - id
      - created_at
      - updated_at
      - email
      - username
      - role
      - auth_method
      title: LDAPUser
    GetViewerResponseBody:
      properties:
        data:
          oneOf:
          - $ref: '#/components/schemas/LocalUser'
          - $ref: '#/components/schemas/OAuth2User'
          - $ref: '#/components/schemas/LDAPUser'
          - $ref: '#/components/schemas/AnonymousUser'
          title: Data
          discriminator:
            propertyName: auth_method
            mapping:
              ANONYMOUS: '#/components/schemas/AnonymousUser'
              LDAP: '#/components/schemas/LDAPUser'
              LOCAL: '#/components/schemas/LocalUser'
              OAUTH2: '#/components/schemas/OAuth2User'
      type: object
      required:
      - data
      title: GetViewerResponseBody
    CreateUserRequestBody:
      properties:
        user:
          oneOf:
          - $ref: '#/components/schemas/LocalUserData'
          - $ref: '#/components/schemas/OAuth2UserData'
          - $ref: '#/components/schemas/LDAPUserData'
          title: User
          discriminator:
            propertyName: auth_method
            mapping:
              LDAP: '#/components/schemas/LDAPUserData'
              LOCAL: '#/components/schemas/LocalUserData'
              OAUTH2: '#/components/schemas/OAuth2UserData'
        send_welcome_email:
          type: boolean
          title: Send Welcome Email
          default: true
      type: object
      required:
      - user
      title: CreateUserRequestBody
    LDAPUserData:
      properties:
        email:
          type: string
          title: Email
        username:
          type: string
          title: Username
        role:
          type: string
          enum:
          - SYSTEM
          - ADMIN
          - MEMBER
          - VIEWER
          title: Role
        auth_method:
          type: string
          const: LDAP
          title: Auth Method
      type: object
      required:
      - email
      - username
      - role
      - auth_method
      title: LDAPUserData
    LocalUser:
      properties:
        id:
          type: string
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        email:
          type: string
          title: Email
        username:
          type: string
          title: Username
        role:
          type: string
          enum:
          - SYSTEM
          - ADMIN
          - MEMBER
          - VIEWER
          title: Role
        auth_method:
          type: string
          const: LOCAL
          title: Auth Method
        password:
          type: string
          title: Password
        password_needs_reset:
          type: boolean
          title: Password Needs Reset
      type: object
      required:
      - id
      - created_at
      - updated_at
      - email
      - username
      - role
      - auth_method
      - password_needs_reset
      title: LocalUser
    CreateUserResponseBody:
      properties:
        data:
          oneOf:
          - $ref: '#/components/schemas/LocalUser'
          - $ref: '#/components/schemas/OAuth2User'
          - $ref: '#/components/schemas/LDAPUser'
          title: Data
          discriminator:
            propertyName: auth_method
            mapping:
              LDAP: '#/components/schemas/LDAPUser'
              LOCAL: '#/components/schemas/LocalUser'
              OAUTH2: '#/components/schemas/OAuth2User'
      type: object
      required:
      - data
      title: CreateUserResponseBody
    OAuth2User:
      properties:
        id:
          type: string
          title: Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        email:
          type: string
          title: Email
        username:
          type: string
          title: Username
        role:
          type: string
          enum:
          - SYSTEM
          - ADMIN
          - MEMBER
          - VIEWER
          title: Role
        auth_method:
          type: string
          const: OAUTH2
          title: Auth Method
        oauth2_client_id:
          type: string
          title: Oauth2 Client Id
        oauth2_user_id:
          type: string
          title: Oauth2 User Id
        profile_picture_url:
          type: string
          title: Profile Picture Url
      type: object
      required:
      - id
      - created_at
      - updated_at
      - email
      - username
      - role
      - auth_method
      title: OAuth2User
    AnonymousUser:
      properties:
        auth_method:
          type: string
          const: ANONYMOUS
          title: Auth Method
      type: object
      required:
      - auth_method
      title: AnonymousUser
    LocalUserData:
      properties:
        email:
          type: string
          title: Email
        username:
          type: string
          title: Username
        role:
          type: string
          enum:
          - SYSTEM
          - ADMIN
          - MEMBER
          - VIEWER
          title: Role
        auth_method:
          type: string
          const: LOCAL
          title: Auth Method
        password:
          type: string
          title: Password
      type: object
      required:
      - email
      - username
      - role
      - auth_method
      title: LocalUserData