naftiko: 1.0.0-alpha2 info: label: Arcade Hooks API description: Arcade Hooks API capability. Self-contained Naftiko capability covering the Arcade Engine's Hooks surface. tags: - Arcade - Hooks - Events created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: ARCADE_API_KEY: ARCADE_API_KEY capability: consumes: - type: http namespace: arcade-hooks baseUri: https://api.arcade.dev description: Arcade Engine Hooks business capability. Self-contained, no shared references. resources: - name: v1-hooks path: /v1/hooks operations: - name: hookslist method: GET description: Arcade List Hooks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Limit - name: offset in: query type: integer description: Offset - name: hook_point in: query type: string description: Filter by hook point - name: plugin_id in: query type: string description: Filter by plugin ID - name: status in: query type: string description: Filter by status - name: hookscreate method: POST description: Arcade Create A Hook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. - name: v1-hooks-bulk path: /v1/hooks/bulk operations: - name: hooksbulkupsert method: PATCH description: Arcade Bulk Upsert Hooks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body. - name: v1-hooks-hook_id path: /v1/hooks/{hook_id} operations: - name: hooksget method: GET description: Arcade Get A Hook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hook_id in: path type: string description: Hook ID - name: binding_type in: query type: string description: Filter by binding type (tenant or project) - name: hooksdelete method: DELETE description: Arcade Delete A Hook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hook_id in: path type: string description: Hook ID - name: hooksupdate method: PATCH description: Arcade Update A Hook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hook_id in: path type: string description: Hook ID - name: body in: body type: object description: Request body. tools: - name: arcade-hookslist description: Arcade List Hooks hints: readOnly: true destructive: false idempotent: true call: arcade-hooks.hookslist outputParameters: - type: object mapping: $. with: limit: tools.limit offset: tools.offset hook_point: tools.hook_point plugin_id: tools.plugin_id status: tools.status - name: arcade-hookscreate description: Arcade Create A Hook hints: readOnly: false destructive: false idempotent: false call: arcade-hooks.hookscreate outputParameters: - type: object mapping: $. with: body: tools.body - name: arcade-hooksbulkupsert description: Arcade Bulk Upsert Hooks hints: readOnly: false destructive: false idempotent: false call: arcade-hooks.hooksbulkupsert outputParameters: - type: object mapping: $. with: body: tools.body - name: arcade-hooksget description: Arcade Get A Hook hints: readOnly: true destructive: false idempotent: true call: arcade-hooks.hooksget outputParameters: - type: object mapping: $. with: hook_id: tools.hook_id binding_type: tools.binding_type - name: arcade-hooksdelete description: Arcade Delete A Hook hints: readOnly: false destructive: true idempotent: true call: arcade-hooks.hooksdelete outputParameters: - type: object mapping: $. with: hook_id: tools.hook_id - name: arcade-hooksupdate description: Arcade Update A Hook hints: readOnly: false destructive: false idempotent: false call: arcade-hooks.hooksupdate outputParameters: - type: object mapping: $. with: hook_id: tools.hook_id body: tools.body