Arize Phoenix projects API

The projects API from Arize Phoenix — 2 operation(s) for projects.

OpenAPI Specification

phoenix-projects-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Arize-Phoenix REST annotation_configs projects API
  description: Schema for Arize-Phoenix REST API
  version: '1.0'
tags:
- name: projects
paths:
  /v1/projects:
    get:
      tags:
      - projects
      summary: List all projects
      description: Retrieve a paginated list of all projects in the system.
      operationId: getProjects
      parameters:
      - name: cursor
        in: query
        required: false
        schema:
          type: string
          nullable: true
          description: Cursor for pagination (project ID)
          title: Cursor
        description: Cursor for pagination (project ID)
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          exclusiveMinimum: 0
          description: The max number of projects to return at a time.
          default: 100
          title: Limit
        description: The max number of projects to return at a time.
      - name: include_experiment_projects
        in: query
        required: false
        schema:
          type: boolean
          description: Include experiment projects in the response. Experiment projects are created from running experiments.
          default: false
          title: Include Experiment Projects
        description: Include experiment projects in the response. Experiment projects are created from running experiments.
      - name: include_dataset_evaluator_projects
        in: query
        required: false
        schema:
          type: boolean
          description: Include dataset evaluator projects in the response. Dataset evaluator projects are created when running experiments with persisted evaluators.
          default: false
          title: Include Dataset Evaluator Projects
        description: Include dataset evaluator projects in the response. Dataset evaluator projects are created when running experiments with persisted evaluators.
      responses:
        '200':
          description: A list of projects with pagination information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProjectsResponseBody'
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Forbidden
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
    post:
      tags:
      - projects
      summary: Create a new project
      description: Create a new project with the specified configuration.
      operationId: createProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequestBody'
      responses:
        '200':
          description: The newly created project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProjectResponseBody'
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Forbidden
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
  /v1/projects/{project_identifier}:
    get:
      tags:
      - projects
      summary: Get project by ID or name
      description: 'Retrieve a specific project using its unique identifier: either project ID or project name. Note: When using a project name as the identifier, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
      operationId: getProject
      parameters:
      - name: project_identifier
        in: path
        required: true
        schema:
          type: string
          description: 'The project identifier: either project ID or project name. If using a project name, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
          title: Project Identifier
        description: 'The project identifier: either project ID or project name. If using a project name, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
      responses:
        '200':
          description: The requested project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProjectResponseBody'
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Forbidden
        '404':
          content:
            text/plain:
              schema:
                type: string
          description: Not Found
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
    put:
      tags:
      - projects
      summary: Update a project by ID or name
      description: 'Update an existing project with new configuration. Project names cannot be changed. The project identifier is either project ID or project name. Note: When using a project name as the identifier, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
      operationId: updateProject
      parameters:
      - name: project_identifier
        in: path
        required: true
        schema:
          type: string
          description: 'The project identifier: either project ID or project name. If using a project name, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
          title: Project Identifier
        description: 'The project identifier: either project ID or project name. If using a project name, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequestBody'
      responses:
        '200':
          description: The updated project
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateProjectResponseBody'
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Forbidden
        '404':
          content:
            text/plain:
              schema:
                type: string
          description: Not Found
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
    delete:
      tags:
      - projects
      summary: Delete a project by ID or name
      description: 'Delete an existing project and all its associated data. The project identifier is either project ID or project name. The default project cannot be deleted. Note: When using a project name as the identifier, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
      operationId: deleteProject
      parameters:
      - name: project_identifier
        in: path
        required: true
        schema:
          type: string
          description: 'The project identifier: either project ID or project name. If using a project name, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
          title: Project Identifier
        description: 'The project identifier: either project ID or project name. If using a project name, it cannot contain slash (/), question mark (?), or pound sign (#) characters.'
      responses:
        '204':
          description: No content returned on successful deletion
        '403':
          content:
            text/plain:
              schema:
                type: string
          description: Forbidden
        '404':
          content:
            text/plain:
              schema:
                type: string
          description: Not Found
        '422':
          content:
            text/plain:
              schema:
                type: string
          description: Unprocessable Entity
components:
  schemas:
    CreateProjectRequestBody:
      properties:
        name:
          type: string
          minLength: 1
          title: Name
        description:
          type: string
          nullable: true
          title: Description
      type: object
      required:
      - name
      title: CreateProjectRequestBody
    CreateProjectResponseBody:
      properties:
        data:
          $ref: '#/components/schemas/Project'
      type: object
      required:
      - data
      title: CreateProjectResponseBody
    UpdateProjectResponseBody:
      properties:
        data:
          $ref: '#/components/schemas/Project'
      type: object
      required:
      - data
      title: UpdateProjectResponseBody
    GetProjectsResponseBody:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Project'
          type: array
          title: Data
        next_cursor:
          type: string
          nullable: true
          title: Next Cursor
      type: object
      required:
      - data
      - next_cursor
      title: GetProjectsResponseBody
    Project:
      properties:
        name:
          type: string
          minLength: 1
          title: Name
        description:
          type: string
          nullable: true
          title: Description
        id:
          type: string
          title: Id
      type: object
      required:
      - name
      - id
      title: Project
    UpdateProjectRequestBody:
      properties:
        description:
          type: string
          nullable: true
          title: Description
      type: object
      title: UpdateProjectRequestBody
    GetProjectResponseBody:
      properties:
        data:
          $ref: '#/components/schemas/Project'
      type: object
      required:
      - data
      title: GetProjectResponseBody