naftiko: 1.0.0-alpha2 info: label: Grafana Dashboard API — Dashboards description: 'Grafana Dashboard API — Dashboards. 4 operations. Lead operation: Create Or Update Dashboard. Self-contained Naftiko capability covering one Tableaux De Bord business surface.' tags: - Tableaux De Bord - Dashboards created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TABLEAUX_DE_BORD_API_KEY: TABLEAUX_DE_BORD_API_KEY capability: consumes: - type: http namespace: grafana-dashboard-dashboards baseUri: https://{grafana-host}/api description: Grafana Dashboard API — Dashboards business capability. Self-contained, no shared references. resources: - name: dashboards-db path: /dashboards/db operations: - name: createorupdatedashboard method: POST description: Create Or Update Dashboard outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: dashboards-uid-uid path: /dashboards/uid/{uid} operations: - name: getdashboardbyuid method: GET description: Get Dashboard By UID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: Dashboard unique identifier required: true - name: deletedashboardbyuid method: DELETE description: Delete Dashboard By UID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string required: true - name: search path: /search operations: - name: searchdashboards method: GET description: Search Dashboards outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: Search query string - name: tag in: query type: string description: Filter by tag - name: type in: query type: string description: Resource type filter - name: folderIds in: query type: array description: Folder IDs to search within - name: limit in: query type: integer authentication: type: apikey key: Authorization value: '{{env.TABLEAUX_DE_BORD_API_KEY}}' placement: header exposes: - type: rest namespace: grafana-dashboard-dashboards-rest port: 8080 description: REST adapter for Grafana Dashboard API — Dashboards. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/dashboards/db name: dashboards-db description: REST surface for dashboards-db. operations: - method: POST name: createorupdatedashboard description: Create Or Update Dashboard call: grafana-dashboard-dashboards.createorupdatedashboard with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/dashboards/uid/{uid} name: dashboards-uid-uid description: REST surface for dashboards-uid-uid. operations: - method: GET name: getdashboardbyuid description: Get Dashboard By UID call: grafana-dashboard-dashboards.getdashboardbyuid with: uid: rest.uid outputParameters: - type: object mapping: $. - method: DELETE name: deletedashboardbyuid description: Delete Dashboard By UID call: grafana-dashboard-dashboards.deletedashboardbyuid with: uid: rest.uid outputParameters: - type: object mapping: $. - path: /v1/search name: search description: REST surface for search. operations: - method: GET name: searchdashboards description: Search Dashboards call: grafana-dashboard-dashboards.searchdashboards with: query: rest.query tag: rest.tag type: rest.type folderIds: rest.folderIds limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: grafana-dashboard-dashboards-mcp port: 9090 transport: http description: MCP adapter for Grafana Dashboard API — Dashboards. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-update-dashboard description: Create Or Update Dashboard hints: readOnly: false destructive: false idempotent: false call: grafana-dashboard-dashboards.createorupdatedashboard with: body: tools.body outputParameters: - type: object mapping: $. - name: get-dashboard-uid description: Get Dashboard By UID hints: readOnly: true destructive: false idempotent: true call: grafana-dashboard-dashboards.getdashboardbyuid with: uid: tools.uid outputParameters: - type: object mapping: $. - name: delete-dashboard-uid description: Delete Dashboard By UID hints: readOnly: false destructive: true idempotent: true call: grafana-dashboard-dashboards.deletedashboardbyuid with: uid: tools.uid outputParameters: - type: object mapping: $. - name: search-dashboards description: Search Dashboards hints: readOnly: true destructive: false idempotent: true call: grafana-dashboard-dashboards.searchdashboards with: query: tools.query tag: tools.tag type: tools.type folderIds: tools.folderIds limit: tools.limit outputParameters: - type: object mapping: $.