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