Arcade · Capability
Arcade Engine — Hooks
Hooks surface — 6 operations. Lead operation: List Hooks. Self-contained Naftiko capability covering one Arcade business surface.
What You Can Do
GET
Hooks list
— List Hooks
/v1/hooks
POST
Hooks create
— Create a Hook
/v1/hooks
PATCH
Hooks bulk upsert
— Bulk Upsert Hooks
/v1/hooks/bulk
GET
Hooks get
— Get a Hook
/v1/hooks/{hook-id}
DELETE
Hooks delete
— Delete a Hook
/v1/hooks/{hook-id}
PATCH
Hooks update
— Update a Hook
/v1/hooks/{hook-id}
MCP Tools
list-hooks
List Hooks
read-only
idempotent
create-hook
Create a Hook
bulk-upsert-hooks
Bulk Upsert Hooks
idempotent
get-hook
Get a Hook
read-only
idempotent
delete-hook
Delete a Hook
idempotent
update-hook
Update a Hook
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Arcade Engine — Hooks
description: 'Hooks surface — 6 operations. Lead operation: List Hooks. Self-contained Naftiko capability covering one Arcade business surface.'
tags:
- Arcade
- Engine
- Hooks
created: '2026-05-22'
modified: '2026-05-22'
binds:
- namespace: env
keys:
ARCADE_API_KEY: ARCADE_API_KEY
capability:
consumes:
- type: http
namespace: engine-hooks
baseUri: https://api.arcade.dev
description: Arcade Engine — Hooks business capability. Self-contained, no shared references.
authentication:
type: bearer
token: '{{env.ARCADE_API_KEY}}'
resources:
- name: v1-hooks
path: /v1/hooks
operations:
- name: hooks-list
method: GET
description: List Hooks
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: hook_point
in: query
type: string
required: false
description: Filter by hook point
- name: plugin_id
in: query
type: string
required: false
description: Filter by plugin ID
- name: status
in: query
type: string
required: false
description: Filter by status
- name: hooks-create
method: POST
description: Create a Hook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
description: Request body.
- name: v1-hooks-bulk
path: /v1/hooks/bulk
operations:
- name: hooks-bulk-upsert
method: PATCH
description: Bulk Upsert Hooks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
required: true
description: Request body.
- name: v1-hooks-hook-id
path: /v1/hooks/{hook_id}
operations:
- name: hooks-get
method: GET
description: Get a Hook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: hook_id
in: path
type: string
required: true
description: Hook ID
- name: binding_type
in: query
type: string
required: false
description: Filter by binding type (tenant or project)
- name: hooks-delete
method: DELETE
description: Delete a Hook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: hook_id
in: path
type: string
required: true
description: Hook ID
- name: hooks-update
method: PATCH
description: Update a Hook
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: hook_id
in: path
type: string
required: true
description: Hook ID
- name: body
in: body
type: object
required: true
description: Request body.
exposes:
- type: rest
namespace: engine-hooks-rest
port: 8080
description: REST adapter for Arcade Engine — Hooks. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/hooks
name: v1-hooks
description: REST surface for /v1/hooks.
operations:
- method: GET
name: hooks-list
description: List Hooks
call: engine-hooks.hooks-list
with:
limit: rest.limit
offset: rest.offset
hook_point: rest.hook_point
plugin_id: rest.plugin_id
status: rest.status
outputParameters:
- type: object
mapping: $.
- method: POST
name: hooks-create
description: Create a Hook
call: engine-hooks.hooks-create
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/hooks/bulk
name: v1-hooks-bulk
description: REST surface for /v1/hooks/bulk.
operations:
- method: PATCH
name: hooks-bulk-upsert
description: Bulk Upsert Hooks
call: engine-hooks.hooks-bulk-upsert
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/hooks/{hook-id}
name: v1-hooks-hook-id
description: REST surface for /v1/hooks/{hook-id}.
operations:
- method: GET
name: hooks-get
description: Get a Hook
call: engine-hooks.hooks-get
with:
hook_id: rest.hook_id
binding_type: rest.binding_type
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: hooks-delete
description: Delete a Hook
call: engine-hooks.hooks-delete
with:
hook_id: rest.hook_id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: hooks-update
description: Update a Hook
call: engine-hooks.hooks-update
with:
hook_id: rest.hook_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: engine-hooks-mcp
port: 9090
transport: http
description: MCP adapter for Arcade Engine — Hooks. One tool per consumed operation, routed inline through this capability's consumes block.
tools:
- name: list-hooks
description: List Hooks
hints:
readOnly: true
destructive: false
idempotent: true
call: engine-hooks.hooks-list
with:
limit: tools.limit
offset: tools.offset
hook_point: tools.hook_point
plugin_id: tools.plugin_id
status: tools.status
outputParameters:
- type: object
mapping: $.
- name: create-hook
description: Create a Hook
hints:
readOnly: false
destructive: false
idempotent: false
call: engine-hooks.hooks-create
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-upsert-hooks
description: Bulk Upsert Hooks
hints:
readOnly: false
destructive: false
idempotent: true
call: engine-hooks.hooks-bulk-upsert
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-hook
description: Get a Hook
hints:
readOnly: true
destructive: false
idempotent: true
call: engine-hooks.hooks-get
with:
hook_id: tools.hook_id
binding_type: tools.binding_type
outputParameters:
- type: object
mapping: $.
- name: delete-hook
description: Delete a Hook
hints:
readOnly: false
destructive: true
idempotent: true
call: engine-hooks.hooks-delete
with:
hook_id: tools.hook_id
outputParameters:
- type: object
mapping: $.
- name: update-hook
description: Update a Hook
hints:
readOnly: false
destructive: false
idempotent: true
call: engine-hooks.hooks-update
with:
hook_id: tools.hook_id
body: tools.body
outputParameters:
- type: object
mapping: $.