openapi: 3.2.0 info: title: Perses 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.' 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: Data Sources description: Manage project-scoped datasources. paths: /api/v1/projects/{projectName}/datasources: parameters: - in: path name: projectName required: true schema: type: string get: tags: - Data Sources 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: - Data Sources 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: - Data Sources summary: Get a project datasource operationId: getDatasource responses: '200': description: Datasource. content: application/json: schema: $ref: '#/components/schemas/Datasource' put: tags: - Data Sources 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: - Data Sources 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/