openapi: 3.0.1 info: title: Evidently Platform REST Dashboards Projects API description: 'The Evidently Platform REST API provides programmatic access to the Evidently AI observability platform. It enables developers to manage projects, upload evaluation snapshots, query monitoring dashboards, manage datasets, and run trace-based LLM evaluations. Authentication uses a Bearer token (API key) passed via the Authorization header or configured through the EVIDENTLY_API_KEY environment variable. The API is built on the Litestar ASGI framework and exposes versioned routes under /api and /api/v2. ' version: 0.7.17 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 contact: name: Evidently AI url: https://www.evidentlyai.com/ email: hello@evidentlyai.com servers: - url: https://app.evidently.cloud/api description: Evidently Cloud (hosted platform) - url: http://localhost:8000/api description: Self-hosted / local instance security: - bearerAuth: [] tags: - name: Projects description: Manage Evidently projects — create, list, update, delete paths: /projects/: get: operationId: listProjects summary: List all projects description: Returns all projects accessible to the authenticated user, optionally filtered by team or organisation. tags: - Projects parameters: - name: team_id in: query description: Filter projects by team ID required: false schema: type: string format: uuid - name: org_id in: query description: Filter projects by organisation ID required: false schema: type: string format: uuid responses: '200': description: List of projects content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' post: operationId: addProject summary: Create a project description: Creates a new Evidently project for the authenticated user. tags: - Projects parameters: - name: org_id in: query required: false schema: type: string format: uuid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '201': description: ID of the newly created project content: application/json: schema: type: string format: uuid /projects/search/{project_name}: get: operationId: searchProjects summary: Search projects by name description: Returns projects whose name matches the given string, filtered optionally by team or org. tags: - Projects parameters: - name: project_name in: path required: true schema: type: string - name: team_id in: query required: false schema: type: string format: uuid - name: org_id in: query required: false schema: type: string format: uuid responses: '200': description: Matching projects content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' /projects/{project_id}/info: get: operationId: getProjectInfo summary: Get project details description: Returns metadata and settings for a single project. tags: - Projects parameters: - $ref: '#/components/parameters/ProjectId' responses: '200': description: Project details content: application/json: schema: $ref: '#/components/schemas/Project' '404': $ref: '#/components/responses/NotFound' post: operationId: updateProjectInfo summary: Update project info description: Updates project metadata fields (name, description, etc.). tags: - Projects parameters: - $ref: '#/components/parameters/ProjectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '200': description: Updated project content: application/json: schema: $ref: '#/components/schemas/Project' '404': $ref: '#/components/responses/NotFound' /projects/{project_id}: delete: operationId: deleteProject summary: Delete a project description: Permanently deletes a project and all its snapshots. tags: - Projects parameters: - $ref: '#/components/parameters/ProjectId' responses: '204': description: Project deleted '404': $ref: '#/components/responses/NotFound' /projects/{project_id}/reload: get: operationId: reloadProjectSnapshots summary: Reload project snapshots description: Forces a reload of all snapshots cached for this project. tags: - Projects parameters: - $ref: '#/components/parameters/ProjectId' responses: '200': description: Reload triggered '404': $ref: '#/components/responses/NotFound' /v2/projects/: get: operationId: listProjectsV2 summary: List projects (v2) description: v2 variant of list projects with extended response models. tags: - Projects parameters: - name: team_id in: query required: false schema: type: string format: uuid - name: org_id in: query required: false schema: type: string format: uuid responses: '200': description: List of projects content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' post: operationId: addProjectV2 summary: Create a project (v2) description: Creates a new project (v2 route). tags: - Projects requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '201': description: Created project ID content: application/json: schema: type: string format: uuid /v2/projects/{project_id}: patch: operationId: updateProjectV2 summary: Update a project (v2) description: Performs a partial update of project fields using PATCH semantics. tags: - Projects parameters: - $ref: '#/components/parameters/ProjectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '200': description: Updated project ID content: application/json: schema: type: string format: uuid '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteProjectV2 summary: Delete a project (v2) description: Permanently deletes a project (v2 route). tags: - Projects parameters: - $ref: '#/components/parameters/ProjectId' responses: '204': description: Project deleted '404': $ref: '#/components/responses/NotFound' components: schemas: Project: type: object description: An Evidently project — the top-level container for snapshots and dashboards required: - name properties: id: type: string format: uuid readOnly: true name: type: string description: Human-readable project name example: My LLM Monitor description: type: string description: Optional project description team_id: type: string format: uuid description: Team that owns this project org_id: type: string format: uuid description: Organisation that owns this project created_at: type: string format: date-time readOnly: true updated_at: type: string format: date-time readOnly: true ErrorDetail: type: object description: Error response body properties: detail: type: string description: Human-readable error message example: project not found status_code: type: integer example: 404 responses: NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorDetail' parameters: ProjectId: name: project_id in: path required: true description: UUID of the project schema: type: string format: uuid securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key description: 'Bearer token (API key) obtained from the Evidently platform settings. Set via the Authorization header or the EVIDENTLY_API_KEY environment variable. '