openapi: 3.1.0 info: title: Perses Dashboards Datasources 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: Datasources description: Manage project-scoped datasources. paths: /api/v1/projects/{projectName}/datasources: parameters: - in: path name: projectName required: true schema: type: string get: tags: - Datasources summary: List project datasources operationId: listDatasources parameters: - in: query name: name schema: type: string - in: query name: kind schema: type: string - in: query name: default schema: type: boolean responses: '200': description: Array of datasources. content: application/json: schema: type: array items: $ref: '#/components/schemas/Datasource' post: tags: - Datasources summary: Create a project datasource operationId: createDatasource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Datasource' responses: '200': description: Datasource created. content: application/json: schema: $ref: '#/components/schemas/Datasource' /api/v1/projects/{projectName}/datasources/{datasourceName}: parameters: - in: path name: projectName required: true schema: type: string - in: path name: datasourceName required: true schema: type: string get: tags: - Datasources summary: Get a project datasource operationId: getDatasource responses: '200': description: Datasource. content: application/json: schema: $ref: '#/components/schemas/Datasource' put: tags: - Datasources summary: Update a project datasource operationId: updateDatasource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Datasource' responses: '200': description: Datasource updated. content: application/json: schema: $ref: '#/components/schemas/Datasource' delete: tags: - Datasources summary: Delete a project datasource operationId: deleteDatasource responses: '204': description: Datasource removed. components: schemas: 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 Datasource: type: object properties: kind: type: string enum: - Datasource - GlobalDatasource metadata: $ref: '#/components/schemas/Metadata' spec: type: object additionalProperties: true description: Datasource specification including plugin kind and config. externalDocs: description: Perses API reference url: https://perses.dev/perses/docs/api/