Skip to main content
POST
Create a new dynamic tool

Authorizations

Authorization
string
header
required

JWT authentication token

Body

application/json
description
string
required
handler_export
string
required
input_schema
object
required
name
string
required
source_code
string
required
tool_id
string
required

Stable slug identifying the tool, unique per user. Lowercase letters and digits with underscores or hyphens; must start with a letter; 1-128 characters. Underscores ARE allowed (snake_case) — unlike toolkit IDs, which are hyphen-only. Prefer prefixing with the toolkit name, e.g. "github_get_pr".

Pattern: ^[a-z][a-z0-9_-]{0,127}$
Example:

"github_get_pr"

output_schema
object
pinned
boolean
tags
string[]
timeout_ms
integer
Required range: 1000 <= x <= 300000
toolkit_id
string

Kebab-case slug of the target toolkit (hyphen-separated, no underscores). Omit to place the tool in the user's auto-managed "global" toolkit.

when_to_use
string

Response

Created

created_at
string<date-time>
required
description
string
required
handler_export
string
required
id
string<uuid>
required
input_schema
object
required
name
string
required
pinned
boolean
required
source_code
string
required
timeout_ms
integer
required
tool_id
string
required
toolkit_id
string<uuid>
required
toolkit_slug
string
required
output_schema
object
tags
string[]
updated_at
string<date-time>
when_to_use
string