Skip to main content
POST

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Tool definition. config depends on type. For example: {"name":"lookup_order","description":"Look up an order by its number","type":"SERVER_WEBHOOK","config":{"url":"https://api.example.com/orders","method":"POST","awaitResponse":true,"parameters":{"type":"object","properties":{"orderId":{"type":"string","description":"The caller's order number"}},"required":["orderId"]}}}.

name
string
required

Name the LLM calls the tool by. Characters other than letters, digits, _, . and - (spaces included) are saved as _, with repeated _ merged and any at either end dropped; names starting with anam_ are reserved. Names needn't be unique: when a persona has two tools with one name, its sessions add _2, _3 and so on.

Required string length: 1 - 64
Example:

"search_knowledge_base"

description
string
required

Description of what the tool does. Used by the LLM to decide when to call it.

Required string length: 1 - 1024
Example:

"Search the knowledge base for information about products and services"

type
enum<string>
required

CLIENT sends the call to the client SDK, SERVER_RAG searches knowledge folders and SERVER_WEBHOOK calls a URL. SYSTEM tools (end_call, interrupt) are Anam's own and can't be created.

Available options:
CLIENT,
SERVER_RAG,
SERVER_WEBHOOK
Example:

"SERVER_RAG"

disableInterruptions
boolean
default:false

The user can't interrupt the persona while this tool runs. Defaults to false.

Example:

false

config
CLIENT · object

Settings in the shape for the tool's type; fields of other shapes are stored but not used. null saves an empty config.

Response

Successfully created tool

id
string<uuid>

Unique identifier for the tool

Example:

"00000000-0000-0000-0000-000000000000"

name
string

Name of the tool

Example:

"search_knowledge_base"

description
string

Description of what the tool does

Example:

"Search the knowledge base for product information"

type
enum<string>

Type of tool

Available options:
CLIENT,
SERVER_RAG,
SERVER_WEBHOOK,
SYSTEM
config
object

Type-specific configuration

disableInterruptions
boolean
default:false

When true, interruptions are disabled while this tool is executing

createdAt
string<date-time>

When the tool was created

updatedAt
string<date-time> | null

When the tool was last updated

usageCount
integer

Number of the organization's live personas using this tool

Last modified on October 31, 2025