naftiko: 1.0.0-alpha2 info: label: Kibana APIs — spaces description: 'Kibana APIs — spaces. 9 operations. Lead operation: Copy saved objects between spaces. Self-contained Naftiko capability covering one Kibana business surface.' tags: - Kibana - spaces created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KIBANA_API_KEY: KIBANA_API_KEY capability: consumes: - type: http namespace: kibana-spaces baseUri: https://{kibana_url} description: Kibana APIs — spaces business capability. Self-contained, no shared references. resources: - name: api-spaces-_copy_saved_objects path: /api/spaces/_copy_saved_objects operations: - name: postspacescopysavedobjects method: POST description: Copy saved objects between spaces 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-spaces-_disable_legacy_url_aliases path: /api/spaces/_disable_legacy_url_aliases operations: - name: postspacesdisablelegacyurlaliases method: POST description: Disable legacy URL aliases 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-spaces-_get_shareable_references path: /api/spaces/_get_shareable_references operations: - name: postspacesgetshareablereferences method: POST description: Get shareable references 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-spaces-_update_objects_spaces path: /api/spaces/_update_objects_spaces operations: - name: postspacesupdateobjectsspaces method: POST description: Update saved objects in spaces 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-spaces-space path: /api/spaces/space operations: - name: getspacesspace method: GET description: Get all spaces outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: purpose in: query type: string description: Specifies which authorization checks are applied to the API call. The default value is `any`. - name: include_authorized_purposes in: query type: boolean description: When enabled, the API returns any spaces the user is authorized to access in any capacity, each including the purposes for which the user is authorized. This is - name: postspacesspace method: POST description: Create a space 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-spaces-space-id path: /api/spaces/space/{id} operations: - name: deletespacesspaceid method: DELETE description: Delete a space 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 space identifier. required: true - name: getspacesspaceid method: GET description: Get a space outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The space identifier. required: true - name: putspacesspaceid method: PUT description: Update a space 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 space identifier. You are unable to change the ID with the update operation. required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: Authorization value: '{{env.KIBANA_API_KEY}}' placement: header exposes: - type: rest namespace: kibana-spaces-rest port: 8080 description: REST adapter for Kibana APIs — spaces. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/spaces/copy-saved-objects name: api-spaces-copy-saved-objects description: REST surface for api-spaces-_copy_saved_objects. operations: - method: POST name: postspacescopysavedobjects description: Copy saved objects between spaces call: kibana-spaces.postspacescopysavedobjects with: kbn-xsrf: rest.kbn-xsrf body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/spaces/disable-legacy-url-aliases name: api-spaces-disable-legacy-url-aliases description: REST surface for api-spaces-_disable_legacy_url_aliases. operations: - method: POST name: postspacesdisablelegacyurlaliases description: Disable legacy URL aliases call: kibana-spaces.postspacesdisablelegacyurlaliases with: kbn-xsrf: rest.kbn-xsrf body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/spaces/get-shareable-references name: api-spaces-get-shareable-references description: REST surface for api-spaces-_get_shareable_references. operations: - method: POST name: postspacesgetshareablereferences description: Get shareable references call: kibana-spaces.postspacesgetshareablereferences with: kbn-xsrf: rest.kbn-xsrf body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/spaces/update-objects-spaces name: api-spaces-update-objects-spaces description: REST surface for api-spaces-_update_objects_spaces. operations: - method: POST name: postspacesupdateobjectsspaces description: Update saved objects in spaces call: kibana-spaces.postspacesupdateobjectsspaces with: kbn-xsrf: rest.kbn-xsrf body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/spaces/space name: api-spaces-space description: REST surface for api-spaces-space. operations: - method: GET name: getspacesspace description: Get all spaces call: kibana-spaces.getspacesspace with: purpose: rest.purpose include_authorized_purposes: rest.include_authorized_purposes outputParameters: - type: object mapping: $. - method: POST name: postspacesspace description: Create a space call: kibana-spaces.postspacesspace with: kbn-xsrf: rest.kbn-xsrf body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/spaces/space/{id} name: api-spaces-space-id description: REST surface for api-spaces-space-id. operations: - method: DELETE name: deletespacesspaceid description: Delete a space call: kibana-spaces.deletespacesspaceid with: kbn-xsrf: rest.kbn-xsrf id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getspacesspaceid description: Get a space call: kibana-spaces.getspacesspaceid with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: putspacesspaceid description: Update a space call: kibana-spaces.putspacesspaceid with: kbn-xsrf: rest.kbn-xsrf id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: kibana-spaces-mcp port: 9090 transport: http description: MCP adapter for Kibana APIs — spaces. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: copy-saved-objects-between-spaces description: Copy saved objects between spaces hints: readOnly: false destructive: false idempotent: false call: kibana-spaces.postspacescopysavedobjects with: kbn-xsrf: tools.kbn-xsrf body: tools.body outputParameters: - type: object mapping: $. - name: disable-legacy-url-aliases description: Disable legacy URL aliases hints: readOnly: false destructive: false idempotent: false call: kibana-spaces.postspacesdisablelegacyurlaliases with: kbn-xsrf: tools.kbn-xsrf body: tools.body outputParameters: - type: object mapping: $. - name: get-shareable-references description: Get shareable references hints: readOnly: true destructive: false idempotent: false call: kibana-spaces.postspacesgetshareablereferences with: kbn-xsrf: tools.kbn-xsrf body: tools.body outputParameters: - type: object mapping: $. - name: update-saved-objects-spaces description: Update saved objects in spaces hints: readOnly: false destructive: false idempotent: false call: kibana-spaces.postspacesupdateobjectsspaces with: kbn-xsrf: tools.kbn-xsrf body: tools.body outputParameters: - type: object mapping: $. - name: get-all-spaces description: Get all spaces hints: readOnly: true destructive: false idempotent: true call: kibana-spaces.getspacesspace with: purpose: tools.purpose include_authorized_purposes: tools.include_authorized_purposes outputParameters: - type: object mapping: $. - name: create-space description: Create a space hints: readOnly: false destructive: false idempotent: false call: kibana-spaces.postspacesspace with: kbn-xsrf: tools.kbn-xsrf body: tools.body outputParameters: - type: object mapping: $. - name: delete-space description: Delete a space hints: readOnly: false destructive: true idempotent: true call: kibana-spaces.deletespacesspaceid with: kbn-xsrf: tools.kbn-xsrf id: tools.id outputParameters: - type: object mapping: $. - name: get-space description: Get a space hints: readOnly: true destructive: false idempotent: true call: kibana-spaces.getspacesspaceid with: id: tools.id outputParameters: - type: object mapping: $. - name: update-space description: Update a space hints: readOnly: false destructive: false idempotent: true call: kibana-spaces.putspacesspaceid with: kbn-xsrf: tools.kbn-xsrf id: tools.id body: tools.body outputParameters: - type: object mapping: $.