naftiko: 1.0.0-alpha2 info: label: Arcade Engine — Plugins description: 'Plugins surface — 5 operations. Lead operation: List Plugins. Self-contained Naftiko capability covering one Arcade business surface.' tags: - Arcade - Engine - Plugins created: '2026-05-22' modified: '2026-05-22' binds: - namespace: env keys: ARCADE_API_KEY: ARCADE_API_KEY capability: consumes: - type: http namespace: engine-plugins baseUri: https://api.arcade.dev description: Arcade Engine — Plugins business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.ARCADE_API_KEY}}' resources: - name: v1-plugins path: /v1/plugins operations: - name: plugins-list method: GET description: List Plugins outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer required: false description: Limit - name: offset in: query type: integer required: false description: Offset - name: binding_type in: query type: string required: false description: Binding type filter (e.g., 'tenant') - name: plugins-create method: POST description: Create a Plugin outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: true description: Request body. - name: v1-plugins-plugin-id path: /v1/plugins/{plugin_id} operations: - name: plugins-get method: GET description: Get a Plugin outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: plugin_id in: path type: string required: true description: Plugin ID - name: plugins-delete method: DELETE description: Delete a Plugin outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: plugin_id in: path type: string required: true description: Plugin ID - name: plugins-update method: PATCH description: Update a Plugin outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: plugin_id in: path type: string required: true description: Plugin ID - name: body in: body type: object required: true description: Request body. exposes: - type: rest namespace: engine-plugins-rest port: 8080 description: REST adapter for Arcade Engine — Plugins. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/plugins name: v1-plugins description: REST surface for /v1/plugins. operations: - method: GET name: plugins-list description: List Plugins call: engine-plugins.plugins-list with: limit: rest.limit offset: rest.offset binding_type: rest.binding_type outputParameters: - type: object mapping: $. - method: POST name: plugins-create description: Create a Plugin call: engine-plugins.plugins-create with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/plugins/{plugin-id} name: v1-plugins-plugin-id description: REST surface for /v1/plugins/{plugin-id}. operations: - method: GET name: plugins-get description: Get a Plugin call: engine-plugins.plugins-get with: plugin_id: rest.plugin_id outputParameters: - type: object mapping: $. - method: DELETE name: plugins-delete description: Delete a Plugin call: engine-plugins.plugins-delete with: plugin_id: rest.plugin_id outputParameters: - type: object mapping: $. - method: PATCH name: plugins-update description: Update a Plugin call: engine-plugins.plugins-update with: plugin_id: rest.plugin_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: engine-plugins-mcp port: 9090 transport: http description: MCP adapter for Arcade Engine — Plugins. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-plugins description: List Plugins hints: readOnly: true destructive: false idempotent: true call: engine-plugins.plugins-list with: limit: tools.limit offset: tools.offset binding_type: tools.binding_type outputParameters: - type: object mapping: $. - name: create-plugin description: Create a Plugin hints: readOnly: false destructive: false idempotent: false call: engine-plugins.plugins-create with: body: tools.body outputParameters: - type: object mapping: $. - name: get-plugin description: Get a Plugin hints: readOnly: true destructive: false idempotent: true call: engine-plugins.plugins-get with: plugin_id: tools.plugin_id outputParameters: - type: object mapping: $. - name: delete-plugin description: Delete a Plugin hints: readOnly: false destructive: true idempotent: true call: engine-plugins.plugins-delete with: plugin_id: tools.plugin_id outputParameters: - type: object mapping: $. - name: update-plugin description: Update a Plugin hints: readOnly: false destructive: false idempotent: true call: engine-plugins.plugins-update with: plugin_id: tools.plugin_id body: tools.body outputParameters: - type: object mapping: $.