openapi: 3.1.0 info: title: Perses Dashboards Projects API description: 'Perses is an open-source monitoring and dashboarding tool (CNCF sandbox) that exposes a REST API for managing dashboards, datasources, and projects, among other resources. All resources live under the /api/v1 prefix; project-scoped resources are nested under /api/v1/projects/{projectName}. Only a representative subset of the Perses API surface (projects, dashboards, datasources, global datasources) is modeled here. See the Perses documentation linked under externalDocs for the full catalog including users, roles, secrets, variables, and plugins. ' version: 1.0.0 contact: name: Perses documentation url: https://perses.dev/perses/docs/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: http://{persesHost} description: Perses server. variables: persesHost: default: localhost:8080 description: Host and port of the Perses server. tags: - name: Projects description: Manage Perses projects (workspaces). paths: /api/v1/projects: get: tags: - Projects summary: List projects operationId: listProjects parameters: - in: query name: name schema: type: string description: Optional name prefix filter. responses: '200': description: A list of projects. content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' post: tags: - Projects summary: Create a project operationId: createProject requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '200': description: Project created. content: application/json: schema: $ref: '#/components/schemas/Project' /api/v1/projects/{name}: parameters: - in: path name: name required: true schema: type: string get: tags: - Projects summary: Get a project by name operationId: getProject responses: '200': description: Project. content: application/json: schema: $ref: '#/components/schemas/Project' '404': description: Project not found. put: tags: - Projects summary: Update a project operationId: updateProject requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '200': description: Project updated. content: application/json: schema: $ref: '#/components/schemas/Project' delete: tags: - Projects summary: Delete a project operationId: deleteProject responses: '204': description: Project removed. components: schemas: Project: type: object properties: kind: type: string enum: - Project metadata: $ref: '#/components/schemas/Metadata' spec: type: object properties: display: type: object properties: name: type: string description: type: string Metadata: type: object properties: name: type: string project: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time version: type: integer externalDocs: description: Perses API reference url: https://perses.dev/perses/docs/api/