openapi: 3.1.0 info: title: Perses Dashboards Global 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: Global Datasources description: Manage shared datasources across projects. paths: /api/v1/globaldatasources: get: tags: - Global Datasources summary: List global datasources operationId: listGlobalDatasources 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 global datasources. content: application/json: schema: type: array items: $ref: '#/components/schemas/Datasource' post: tags: - Global Datasources summary: Create a global datasource operationId: createGlobalDatasource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Datasource' responses: '200': description: Global datasource created. content: application/json: schema: $ref: '#/components/schemas/Datasource' /api/v1/globaldatasources/{name}: parameters: - in: path name: name required: true schema: type: string get: tags: - Global Datasources summary: Get a global datasource operationId: getGlobalDatasource responses: '200': description: Global datasource. content: application/json: schema: $ref: '#/components/schemas/Datasource' put: tags: - Global Datasources summary: Update a global datasource operationId: updateGlobalDatasource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Datasource' responses: '200': description: Global datasource updated. content: application/json: schema: $ref: '#/components/schemas/Datasource' delete: tags: - Global Datasources summary: Delete a global datasource operationId: deleteGlobalDatasource responses: '204': description: Global 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/