Argilla workspaces API

The workspaces API from Argilla — 5 operation(s) for workspaces.

OpenAPI Specification

argilla-workspaces-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Argilla v1 Authentication workspaces 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: workspaces
paths:
  /workspaces/{workspace_id}:
    get:
      tags:
      - workspaces
      summary: Get Workspace
      operationId: get_workspace_workspaces__workspace_id__get
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workspace'
        '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:
      - workspaces
      summary: Delete Workspace
      operationId: delete_workspace_workspaces__workspace_id__delete
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workspace'
        '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
  /workspaces:
    post:
      tags:
      - workspaces
      summary: Create Workspace
      operationId: create_workspace_workspaces_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceCreate'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workspace'
        '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: []
  /me/workspaces:
    get:
      tags:
      - workspaces
      summary: List Workspaces Me
      operationId: list_workspaces_me_me_workspaces_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workspaces'
        '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: []
  /workspaces/{workspace_id}/users:
    get:
      tags:
      - workspaces
      summary: List Workspace Users
      operationId: list_workspace_users_workspaces__workspace_id__users_get
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users'
        '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
    post:
      tags:
      - workspaces
      summary: Create Workspace User
      operationId: create_workspace_user_workspaces__workspace_id__users_post
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceUserCreate'
      responses:
        '201':
          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
  /workspaces/{workspace_id}/users/{user_id}:
    delete:
      tags:
      - workspaces
      summary: Delete Workspace User
      operationId: delete_workspace_user_workspaces__workspace_id__users__user_id__delete
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - 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
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
    WorkspaceUserCreate:
      properties:
        user_id:
          type: string
          format: uuid
          title: User Id
      type: object
      required:
      - user_id
      title: WorkspaceUserCreate
    UserRole:
      type: string
      enum:
      - owner
      - admin
      - annotator
      title: UserRole
    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
    WorkspaceCreate:
      properties:
        id:
          title: Id
          type: string
          format: uuid
          nullable: true
        name:
          type: string
          minLength: 1
          title: Name
      type: object
      required:
      - name
      title: WorkspaceCreate
    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