SWAIG function signature request

View as MarkdownOpen in Claude
Sent once per [`SWAIG.includes`](/docs/swml/reference/calling/ai/swaig/includes) entry when an AI agent loads, to discover the functions your server hosts. Every way of building an agent sends it — SWML you write yourself, SWML a Server SDK generates, or an agent you configure in your Dashboard — because they all resolve `includes` the same way. Reply with the function definitions you host, each shaped like an entry in [`SWAIG.functions`](/docs/swml/reference/calling/ai/swaig/functions#properties) — `function`, `description`, and `parameters`. Three forms are accepted: - an array of definitions, the usual one; - a single definition on its own; - an object `{functions, defaults}`, where `defaults` sets SWAIG defaults across the definitions it carries — useful when they share a `web_hook_url` or auth. Every definition you return is registered, whether or not it was named in the request's `functions` list. This is not the payload a function call sends. It goes to the `includes` entry's `url`, using `auth_user` and `auth_password` when set. Your endpoint can also receive it outside of a call, as a check that it answers, so answer it the same way. When your project has a signing key, the request carries an `X-SignalWire-Signature` header you can verify.