arcade-dev · Schema

Arcade Hook

Schema for an Arcade hook. Hooks deliver lifecycle events (authorization grants, tool executions, errors) to an external HTTP endpoint and are the primary integration point for audit, governance, and SIEM forwarding.

Properties

Name Type Description
id string Server-assigned hook identifier.
name string Human-friendly hook name.
type string Event family the hook subscribes to.
url string Destination URL that receives hook events.
secret string Shared secret used to sign hook payloads.
enabled boolean
filters object Optional event filters (toolkit, status, user, etc.)
created_at string
updated_at string
View JSON Schema on GitHub

JSON Schema

arcade-hook-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/arcade-dev/main/json-schema/arcade-hook-schema.json",
  "title": "Arcade Hook",
  "description": "Schema for an Arcade hook. Hooks deliver lifecycle events (authorization grants, tool executions, errors) to an external HTTP endpoint and are the primary integration point for audit, governance, and SIEM forwarding.",
  "type": "object",
  "required": ["name", "type", "url"],
  "properties": {
    "id": {"type": "string", "description": "Server-assigned hook identifier."},
    "name": {"type": "string", "description": "Human-friendly hook name."},
    "type": {
      "type": "string",
      "enum": ["tool_authorization", "tool_execution", "worker_health", "audit"],
      "description": "Event family the hook subscribes to."
    },
    "url": {"type": "string", "format": "uri", "description": "Destination URL that receives hook events."},
    "secret": {"type": "string", "description": "Shared secret used to sign hook payloads."},
    "enabled": {"type": "boolean", "default": true},
    "filters": {
      "type": "object",
      "description": "Optional event filters (toolkit, status, user, etc.)",
      "additionalProperties": true
    },
    "created_at": {"type": "string", "format": "date-time"},
    "updated_at": {"type": "string", "format": "date-time"}
  },
  "additionalProperties": false
}