naftiko: 1.0.0-alpha2 info: label: Kibana APIs — maintenance-window description: 'Kibana APIs — maintenance-window. 7 operations. Lead operation: Create a maintenance window.. Self-contained Naftiko capability covering one Kibana business surface.' tags: - Kibana - maintenance-window created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KIBANA_API_KEY: KIBANA_API_KEY capability: consumes: - type: http namespace: kibana-maintenance-window baseUri: https://{kibana_url} description: Kibana APIs — maintenance-window business capability. Self-contained, no shared references. resources: - name: api-maintenance_window path: /api/maintenance_window operations: - name: postmaintenancewindow method: POST description: Create a maintenance window. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kbn-xsrf in: header type: string description: A required header to protect against CSRF attacks required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-maintenance_window-_find path: /api/maintenance_window/_find operations: - name: getmaintenancewindowfind method: GET description: Search for a maintenance window. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: title in: query type: string description: The title of the maintenance window. - name: created_by in: query type: string description: The user who created the maintenance window. - name: status in: query type: array description: The status of the maintenance window. It can be "running", "upcoming", "finished", "archived", or "disabled". - name: page in: query type: number description: The page number to return. - name: per_page in: query type: number description: The number of maintenance windows to return per page. - name: api-maintenance_window-id path: /api/maintenance_window/{id} operations: - name: deletemaintenancewindowid method: DELETE description: Delete a maintenance window. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kbn-xsrf in: header type: string description: A required header to protect against CSRF attacks required: true - name: id in: path type: string description: The identifier for the maintenance window to be deleted. required: true - name: getmaintenancewindowid method: GET description: Get maintenance window details. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The identifier for the maintenance window. required: true - name: patchmaintenancewindowid method: PATCH description: Update a maintenance window. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kbn-xsrf in: header type: string description: A required header to protect against CSRF attacks required: true - name: id in: path type: string description: The identifier for the maintenance window. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-maintenance_window-id-_archive path: /api/maintenance_window/{id}/_archive operations: - name: postmaintenancewindowidarchive method: POST description: Archive a maintenance window. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kbn-xsrf in: header type: string description: A required header to protect against CSRF attacks required: true - name: id in: path type: string description: The identifier for the maintenance window to be archived. required: true - name: api-maintenance_window-id-_unarchive path: /api/maintenance_window/{id}/_unarchive operations: - name: postmaintenancewindowidunarchive method: POST description: Unarchive a maintenance window. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kbn-xsrf in: header type: string description: A required header to protect against CSRF attacks required: true - name: id in: path type: string description: The identifier for the maintenance window to be unarchived. required: true authentication: type: apikey key: Authorization value: '{{env.KIBANA_API_KEY}}' placement: header exposes: - type: rest namespace: kibana-maintenance-window-rest port: 8080 description: REST adapter for Kibana APIs — maintenance-window. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/maintenance-window name: api-maintenance-window description: REST surface for api-maintenance_window. operations: - method: POST name: postmaintenancewindow description: Create a maintenance window. call: kibana-maintenance-window.postmaintenancewindow with: kbn-xsrf: rest.kbn-xsrf body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/maintenance-window/find name: api-maintenance-window-find description: REST surface for api-maintenance_window-_find. operations: - method: GET name: getmaintenancewindowfind description: Search for a maintenance window. call: kibana-maintenance-window.getmaintenancewindowfind with: title: rest.title created_by: rest.created_by status: rest.status page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - path: /v1/api/maintenance-window/{id} name: api-maintenance-window-id description: REST surface for api-maintenance_window-id. operations: - method: DELETE name: deletemaintenancewindowid description: Delete a maintenance window. call: kibana-maintenance-window.deletemaintenancewindowid with: kbn-xsrf: rest.kbn-xsrf id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getmaintenancewindowid description: Get maintenance window details. call: kibana-maintenance-window.getmaintenancewindowid with: id: rest.id outputParameters: - type: object mapping: $. - method: PATCH name: patchmaintenancewindowid description: Update a maintenance window. call: kibana-maintenance-window.patchmaintenancewindowid with: kbn-xsrf: rest.kbn-xsrf id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/maintenance-window/{id}/archive name: api-maintenance-window-id-archive description: REST surface for api-maintenance_window-id-_archive. operations: - method: POST name: postmaintenancewindowidarchive description: Archive a maintenance window. call: kibana-maintenance-window.postmaintenancewindowidarchive with: kbn-xsrf: rest.kbn-xsrf id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/maintenance-window/{id}/unarchive name: api-maintenance-window-id-unarchive description: REST surface for api-maintenance_window-id-_unarchive. operations: - method: POST name: postmaintenancewindowidunarchive description: Unarchive a maintenance window. call: kibana-maintenance-window.postmaintenancewindowidunarchive with: kbn-xsrf: rest.kbn-xsrf id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: kibana-maintenance-window-mcp port: 9090 transport: http description: MCP adapter for Kibana APIs — maintenance-window. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-maintenance-window description: Create a maintenance window. hints: readOnly: false destructive: false idempotent: false call: kibana-maintenance-window.postmaintenancewindow with: kbn-xsrf: tools.kbn-xsrf body: tools.body outputParameters: - type: object mapping: $. - name: search-maintenance-window description: Search for a maintenance window. hints: readOnly: true destructive: false idempotent: true call: kibana-maintenance-window.getmaintenancewindowfind with: title: tools.title created_by: tools.created_by status: tools.status page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $. - name: delete-maintenance-window description: Delete a maintenance window. hints: readOnly: false destructive: true idempotent: true call: kibana-maintenance-window.deletemaintenancewindowid with: kbn-xsrf: tools.kbn-xsrf id: tools.id outputParameters: - type: object mapping: $. - name: get-maintenance-window-details description: Get maintenance window details. hints: readOnly: true destructive: false idempotent: true call: kibana-maintenance-window.getmaintenancewindowid with: id: tools.id outputParameters: - type: object mapping: $. - name: update-maintenance-window description: Update a maintenance window. hints: readOnly: false destructive: false idempotent: true call: kibana-maintenance-window.patchmaintenancewindowid with: kbn-xsrf: tools.kbn-xsrf id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: archive-maintenance-window description: Archive a maintenance window. hints: readOnly: false destructive: false idempotent: false call: kibana-maintenance-window.postmaintenancewindowidarchive with: kbn-xsrf: tools.kbn-xsrf id: tools.id outputParameters: - type: object mapping: $. - name: unarchive-maintenance-window description: Unarchive a maintenance window. hints: readOnly: false destructive: false idempotent: false call: kibana-maintenance-window.postmaintenancewindowidunarchive with: kbn-xsrf: tools.kbn-xsrf id: tools.id outputParameters: - type: object mapping: $.