naftiko: 1.0.0-alpha2 info: label: Miro Developer Platform — Shape items description: 'Miro Developer Platform — Shape items. 4 operations. Lead operation: Create shape item. Self-contained Naftiko capability covering one Miro business surface.' tags: - Miro - Shape items created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MIRO_API_KEY: MIRO_API_KEY capability: consumes: - type: http namespace: miro-shape-items baseUri: https://api.miro.com description: Miro Developer Platform — Shape items business capability. Self-contained, no shared references. resources: - name: v2-boards-board_id-shapes path: /v2/boards/{board_id}/shapes operations: - name: createshapeitem method: POST description: Create shape item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: board_id in: path type: string description: Unique identifier (ID) of the board where you want to create the item. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v2-boards-board_id-shapes-item_id path: /v2/boards/{board_id}/shapes/{item_id} operations: - name: getshapeitem method: GET description: Get shape item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: board_id in: path type: string description: Unique identifier (ID) of the board from which you want to retrieve a specific item. required: true - name: item_id in: path type: string description: Unique identifier (ID) of the item that you want to retrieve. required: true - name: updateshapeitem method: PATCH description: Update shape item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: board_id in: path type: string description: Unique identifier (ID) of the board where you want to update the item. required: true - name: item_id in: path type: string description: Unique identifier (ID) of the item that you want to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteshapeitem method: DELETE description: Delete shape item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: board_id in: path type: string description: Unique identifier (ID) of the board from which you want to delete the item. required: true - name: item_id in: path type: string description: Unique identifier (ID) of the item that you want to delete. required: true authentication: type: bearer token: '{{env.MIRO_API_KEY}}' exposes: - type: rest namespace: miro-shape-items-rest port: 8080 description: REST adapter for Miro Developer Platform — Shape items. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/boards/{board-id}/shapes name: v2-boards-board-id-shapes description: REST surface for v2-boards-board_id-shapes. operations: - method: POST name: createshapeitem description: Create shape item call: miro-shape-items.createshapeitem with: board_id: rest.board_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/boards/{board-id}/shapes/{item-id} name: v2-boards-board-id-shapes-item-id description: REST surface for v2-boards-board_id-shapes-item_id. operations: - method: GET name: getshapeitem description: Get shape item call: miro-shape-items.getshapeitem with: board_id: rest.board_id item_id: rest.item_id outputParameters: - type: object mapping: $. - method: PATCH name: updateshapeitem description: Update shape item call: miro-shape-items.updateshapeitem with: board_id: rest.board_id item_id: rest.item_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteshapeitem description: Delete shape item call: miro-shape-items.deleteshapeitem with: board_id: rest.board_id item_id: rest.item_id outputParameters: - type: object mapping: $. - type: mcp namespace: miro-shape-items-mcp port: 9090 transport: http description: MCP adapter for Miro Developer Platform — Shape items. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-shape-item description: Create shape item hints: readOnly: false destructive: false idempotent: false call: miro-shape-items.createshapeitem with: board_id: tools.board_id body: tools.body outputParameters: - type: object mapping: $. - name: get-shape-item description: Get shape item hints: readOnly: true destructive: false idempotent: true call: miro-shape-items.getshapeitem with: board_id: tools.board_id item_id: tools.item_id outputParameters: - type: object mapping: $. - name: update-shape-item description: Update shape item hints: readOnly: false destructive: false idempotent: true call: miro-shape-items.updateshapeitem with: board_id: tools.board_id item_id: tools.item_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-shape-item description: Delete shape item hints: readOnly: false destructive: true idempotent: true call: miro-shape-items.deleteshapeitem with: board_id: tools.board_id item_id: tools.item_id outputParameters: - type: object mapping: $.