naftiko: 1.0.0-alpha2 info: label: Grafana — Exports description: 'Grafana — Exports. 7 operations. Lead operation: Grafana Route Get Alert Rules Export. Self-contained Naftiko capability covering one Grafana business surface.' tags: - Grafana - Exports created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GRAFANA_API_KEY: GRAFANA_API_KEY capability: consumes: - type: http namespace: grafana-exports baseUri: http://{defaultHost} description: Grafana — Exports business capability. Self-contained, no shared references. resources: - name: v1-provisioning-alert-rules-export path: /v1/provisioning/alert-rules/export operations: - name: routegetalertrulesexport method: GET description: Grafana Route Get Alert Rules Export outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: download in: query type: boolean description: Whether to initiate a download of the file or not. - name: format in: query type: string description: Format of the downloaded file. Supported yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence. - name: folderUid in: query type: array description: UIDs of folders from which to export rules - name: group in: query type: string description: Name of group of rules to export. Must be specified only together with a single folder UID - name: ruleUid in: query type: string description: UID of alert rule to export. If specified, parameters folderUid and group must be empty. - name: v1-provisioning-alert-rules-UID-export path: /v1/provisioning/alert-rules/{UID}/export operations: - name: routegetalertruleexport method: GET description: Grafana Route Get Alert Rule Export outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: download in: query type: boolean description: Whether to initiate a download of the file or not. - name: format in: query type: string description: Format of the downloaded file. Supported yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence. - name: UID in: path type: string description: Alert rule UID required: true - name: v1-provisioning-contact-points-export path: /v1/provisioning/contact-points/export operations: - name: routegetcontactpointsexport method: GET description: Grafana Route Get Contactpoints Export outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: download in: query type: boolean description: Whether to initiate a download of the file or not. - name: format in: query type: string description: Format of the downloaded file. Supported yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence. - name: decrypt in: query type: boolean description: 'Whether any contained secure settings should be decrypted or left redacted. Redacted settings will contain RedactedValue instead. Currently, only org admin can ' - name: name in: query type: string description: Filter by name - name: v1-provisioning-folder-FolderUID-rule-groups-Group-export path: /v1/provisioning/folder/{FolderUID}/rule-groups/{Group}/export operations: - name: routegetalertrulegroupexport method: GET description: Grafana Route Get Alert Rule Group Export outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: download in: query type: boolean description: Whether to initiate a download of the file or not. - name: format in: query type: string description: Format of the downloaded file. Supported yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence. - name: FolderUID in: path type: string required: true - name: Group in: path type: string required: true - name: v1-provisioning-mute-timings-export path: /v1/provisioning/mute-timings/export operations: - name: routeexportmutetimings method: GET description: Grafana Route Export Mute Timings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: download in: query type: boolean description: Whether to initiate a download of the file or not. - name: format in: query type: string description: Format of the downloaded file. Supported yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence. - name: v1-provisioning-mute-timings-name-export path: /v1/provisioning/mute-timings/{name}/export operations: - name: routeexportmutetiming method: GET description: Grafana Route Export Mute Timing outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: download in: query type: boolean description: Whether to initiate a download of the file or not. - name: format in: query type: string description: Format of the downloaded file. Supported yaml, json or hcl. Accept header can also be used, but the query parameter will take precedence. - name: name in: path type: string description: Mute timing name required: true - name: v1-provisioning-policies-export path: /v1/provisioning/policies/export operations: - name: routegetpolicytreeexport method: GET description: Grafana Route Get Policy Tree Export outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: Authorization value: '{{env.GRAFANA_API_KEY}}' placement: header exposes: - type: rest namespace: grafana-exports-rest port: 8080 description: REST adapter for Grafana — Exports. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/provisioning/alert-rules/export name: v1-provisioning-alert-rules-export description: REST surface for v1-provisioning-alert-rules-export. operations: - method: GET name: routegetalertrulesexport description: Grafana Route Get Alert Rules Export call: grafana-exports.routegetalertrulesexport with: download: rest.download format: rest.format folderUid: rest.folderUid group: rest.group ruleUid: rest.ruleUid outputParameters: - type: object mapping: $. - path: /v1/v1/provisioning/alert-rules/{uid}/export name: v1-provisioning-alert-rules-uid-export description: REST surface for v1-provisioning-alert-rules-UID-export. operations: - method: GET name: routegetalertruleexport description: Grafana Route Get Alert Rule Export call: grafana-exports.routegetalertruleexport with: download: rest.download format: rest.format UID: rest.UID outputParameters: - type: object mapping: $. - path: /v1/v1/provisioning/contact-points/export name: v1-provisioning-contact-points-export description: REST surface for v1-provisioning-contact-points-export. operations: - method: GET name: routegetcontactpointsexport description: Grafana Route Get Contactpoints Export call: grafana-exports.routegetcontactpointsexport with: download: rest.download format: rest.format decrypt: rest.decrypt name: rest.name outputParameters: - type: object mapping: $. - path: /v1/v1/provisioning/folder/{folderuid}/rule-groups/{group}/export name: v1-provisioning-folder-folderuid-rule-groups-group-export description: REST surface for v1-provisioning-folder-FolderUID-rule-groups-Group-export. operations: - method: GET name: routegetalertrulegroupexport description: Grafana Route Get Alert Rule Group Export call: grafana-exports.routegetalertrulegroupexport with: download: rest.download format: rest.format FolderUID: rest.FolderUID Group: rest.Group outputParameters: - type: object mapping: $. - path: /v1/v1/provisioning/mute-timings/export name: v1-provisioning-mute-timings-export description: REST surface for v1-provisioning-mute-timings-export. operations: - method: GET name: routeexportmutetimings description: Grafana Route Export Mute Timings call: grafana-exports.routeexportmutetimings with: download: rest.download format: rest.format outputParameters: - type: object mapping: $. - path: /v1/v1/provisioning/mute-timings/{name}/export name: v1-provisioning-mute-timings-name-export description: REST surface for v1-provisioning-mute-timings-name-export. operations: - method: GET name: routeexportmutetiming description: Grafana Route Export Mute Timing call: grafana-exports.routeexportmutetiming with: download: rest.download format: rest.format name: rest.name outputParameters: - type: object mapping: $. - path: /v1/v1/provisioning/policies/export name: v1-provisioning-policies-export description: REST surface for v1-provisioning-policies-export. operations: - method: GET name: routegetpolicytreeexport description: Grafana Route Get Policy Tree Export call: grafana-exports.routegetpolicytreeexport outputParameters: - type: object mapping: $. - type: mcp namespace: grafana-exports-mcp port: 9090 transport: http description: MCP adapter for Grafana — Exports. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: grafana-route-get-alert-rules description: Grafana Route Get Alert Rules Export hints: readOnly: true destructive: false idempotent: true call: grafana-exports.routegetalertrulesexport with: download: tools.download format: tools.format folderUid: tools.folderUid group: tools.group ruleUid: tools.ruleUid outputParameters: - type: object mapping: $. - name: grafana-route-get-alert-rule description: Grafana Route Get Alert Rule Export hints: readOnly: true destructive: false idempotent: true call: grafana-exports.routegetalertruleexport with: download: tools.download format: tools.format UID: tools.UID outputParameters: - type: object mapping: $. - name: grafana-route-get-contactpoints-export description: Grafana Route Get Contactpoints Export hints: readOnly: true destructive: false idempotent: true call: grafana-exports.routegetcontactpointsexport with: download: tools.download format: tools.format decrypt: tools.decrypt name: tools.name outputParameters: - type: object mapping: $. - name: grafana-route-get-alert-rule-2 description: Grafana Route Get Alert Rule Group Export hints: readOnly: true destructive: false idempotent: true call: grafana-exports.routegetalertrulegroupexport with: download: tools.download format: tools.format FolderUID: tools.FolderUID Group: tools.Group outputParameters: - type: object mapping: $. - name: grafana-route-export-mute-timings description: Grafana Route Export Mute Timings hints: readOnly: true destructive: false idempotent: true call: grafana-exports.routeexportmutetimings with: download: tools.download format: tools.format outputParameters: - type: object mapping: $. - name: grafana-route-export-mute-timing description: Grafana Route Export Mute Timing hints: readOnly: true destructive: false idempotent: true call: grafana-exports.routeexportmutetiming with: download: tools.download format: tools.format name: tools.name outputParameters: - type: object mapping: $. - name: grafana-route-get-policy-tree description: Grafana Route Get Policy Tree Export hints: readOnly: true destructive: false idempotent: true call: grafana-exports.routegetpolicytreeexport outputParameters: - type: object mapping: $.