Argilla users API

The users API from Argilla — 4 operation(s) for users.

OpenAPI Specification

argilla-users-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Argilla v1 Authentication users API
  description: Argilla Server API v1
  version: 2.8.0
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  contact:
    email: contact@argilla.io
    url: https://argilla.io
servers:
- url: https://argilla.io/api/v1
  description: Argilla REST API v1
tags:
- name: users
paths:
  /me:
    get:
      tags:
      - users
      summary: Get Current User
      operationId: get_current_user_me_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::MissingDatasetRecordsError
                  params:
                    extra: error parameters
        '404':
          description: Not Found
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityNotFoundError
                  params:
                    extra: error parameters
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ForbiddenOperationError
                  params:
                    extra: error parameters
        '409':
          description: Conflict
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityAlreadyExistsError
                  params:
                    extra: error parameters
        '422':
          description: Unprocessable Content
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ValidationError
                  params:
                    extra: error parameters
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                detail:
                  code: builtins.TypeError
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /users/{user_id}:
    get:
      tags:
      - users
      summary: Get User
      operationId: get_user_users__user_id__get
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::MissingDatasetRecordsError
                  params:
                    extra: error parameters
          description: Bad Request
        '404':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityNotFoundError
                  params:
                    extra: error parameters
          description: Not Found
        '403':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ForbiddenOperationError
                  params:
                    extra: error parameters
          description: Forbidden
        '409':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityAlreadyExistsError
                  params:
                    extra: error parameters
          description: Conflict
        '422':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ValidationError
                  params:
                    extra: error parameters
          description: Unprocessable Content
        '500':
          content:
            application/json:
              example:
                detail:
                  code: builtins.TypeError
          description: Internal Server Error
    delete:
      tags:
      - users
      summary: Delete User
      operationId: delete_user_users__user_id__delete
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::MissingDatasetRecordsError
                  params:
                    extra: error parameters
          description: Bad Request
        '404':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityNotFoundError
                  params:
                    extra: error parameters
          description: Not Found
        '403':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ForbiddenOperationError
                  params:
                    extra: error parameters
          description: Forbidden
        '409':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityAlreadyExistsError
                  params:
                    extra: error parameters
          description: Conflict
        '422':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ValidationError
                  params:
                    extra: error parameters
          description: Unprocessable Content
        '500':
          content:
            application/json:
              example:
                detail:
                  code: builtins.TypeError
          description: Internal Server Error
    patch:
      tags:
      - users
      summary: Update User
      operationId: update_user_users__user_id__patch
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::MissingDatasetRecordsError
                  params:
                    extra: error parameters
          description: Bad Request
        '404':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityNotFoundError
                  params:
                    extra: error parameters
          description: Not Found
        '403':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ForbiddenOperationError
                  params:
                    extra: error parameters
          description: Forbidden
        '409':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityAlreadyExistsError
                  params:
                    extra: error parameters
          description: Conflict
        '422':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ValidationError
                  params:
                    extra: error parameters
          description: Unprocessable Content
        '500':
          content:
            application/json:
              example:
                detail:
                  code: builtins.TypeError
          description: Internal Server Error
  /users:
    get:
      tags:
      - users
      summary: List Users
      operationId: list_users_users_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users'
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::MissingDatasetRecordsError
                  params:
                    extra: error parameters
        '404':
          description: Not Found
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityNotFoundError
                  params:
                    extra: error parameters
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ForbiddenOperationError
                  params:
                    extra: error parameters
        '409':
          description: Conflict
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityAlreadyExistsError
                  params:
                    extra: error parameters
        '422':
          description: Unprocessable Content
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ValidationError
                  params:
                    extra: error parameters
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                detail:
                  code: builtins.TypeError
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
    post:
      tags:
      - users
      summary: Create User
      operationId: create_user_users_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreate'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::MissingDatasetRecordsError
                  params:
                    extra: error parameters
        '404':
          description: Not Found
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityNotFoundError
                  params:
                    extra: error parameters
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ForbiddenOperationError
                  params:
                    extra: error parameters
        '409':
          description: Conflict
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityAlreadyExistsError
                  params:
                    extra: error parameters
        '422':
          description: Unprocessable Content
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ValidationError
                  params:
                    extra: error parameters
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                detail:
                  code: builtins.TypeError
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /users/{user_id}/workspaces:
    get:
      tags:
      - users
      summary: List User Workspaces
      operationId: list_user_workspaces_users__user_id__workspaces_get
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workspaces'
        '400':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::MissingDatasetRecordsError
                  params:
                    extra: error parameters
          description: Bad Request
        '404':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityNotFoundError
                  params:
                    extra: error parameters
          description: Not Found
        '403':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ForbiddenOperationError
                  params:
                    extra: error parameters
          description: Forbidden
        '409':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::EntityAlreadyExistsError
                  params:
                    extra: error parameters
          description: Conflict
        '422':
          content:
            application/json:
              example:
                detail:
                  code: argilla.api.errors::ValidationError
                  params:
                    extra: error parameters
          description: Unprocessable Content
        '500':
          content:
            application/json:
              example:
                detail:
                  code: builtins.TypeError
          description: Internal Server Error
components:
  schemas:
    User:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        first_name:
          type: string
          title: First Name
        last_name:
          title: Last Name
          type: string
          nullable: true
        username:
          type: string
          title: Username
        role:
          $ref: '#/components/schemas/UserRole'
        api_key:
          type: string
          title: Api Key
        inserted_at:
          type: string
          format: date-time
          title: Inserted At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - id
      - first_name
      - username
      - role
      - api_key
      - inserted_at
      - updated_at
      title: User
    UserRole:
      type: string
      enum:
      - owner
      - admin
      - annotator
      title: UserRole
    UserUpdate:
      properties:
        first_name:
          title: First Name
          type: string
          minLength: 1
          description: The first name for the user
          nullable: true
        last_name:
          title: Last Name
          type: string
          minLength: 1
          description: The last name for the user
          nullable: true
        username:
          title: Username
          type: string
          minLength: 1
          description: The username for the user
          nullable: true
        role:
          $ref: '#/components/schemas/UserRole'
          nullable: true
        password:
          title: Password
          type: string
          maxLength: 100
          minLength: 8
          description: The password for the user
          nullable: true
      type: object
      title: UserUpdate
    UserCreate:
      properties:
        id:
          title: Id
          type: string
          format: uuid
          nullable: true
        first_name:
          type: string
          minLength: 1
          title: First Name
          description: The first name for the user
        last_name:
          title: Last Name
          type: string
          minLength: 1
          description: The last name for the user
          nullable: true
        username:
          type: string
          minLength: 1
          title: Username
          description: The username for the user
        role:
          $ref: '#/components/schemas/UserRole'
          nullable: true
        password:
          type: string
          maxLength: 100
          minLength: 8
          title: Password
          description: The password for the user
      type: object
      required:
      - first_name
      - username
      - password
      title: UserCreate
    Users:
      properties:
        items:
          items:
            $ref: '#/components/schemas/User'
          type: array
          title: Items
      type: object
      required:
      - items
      title: Users
    Workspaces:
      properties:
        items:
          items:
            $ref: '#/components/schemas/Workspace'
          type: array
          title: Items
      type: object
      required:
      - items
      title: Workspaces
    Workspace:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        inserted_at:
          type: string
          format: date-time
          title: Inserted At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - id
      - name
      - inserted_at
      - updated_at
      title: Workspace
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-Argilla-Api-Key
    HTTPBearer:
      type: http
      scheme: bearer