NEO Tools
Create a NEO tool
POST /tool
POST /tool
Creates a tool. slug is the cortex reference name; it defaults to a slug of name and is immutable after creation. The definition is validated via an ephemeral agent before saving; a create snapshot is appended to the tool history.
Request body
namestringbodyrequiredNo description.
slugstringbodyStable cortex reference name. Defaults to a slug of name.
aiAgentIdintegerbodyOwning agent (private) or null (shared).
descriptionstringbodyNo description.
definitionobjectbodyFull ToolSpec (view/ui/placement/layout/props/input/permission/executor[]).
Request Example
{
"name": "string",
"slug": "string",
"aiAgentId": 1,
"description": "string",
"definition": null
}Responses
201 — Created
Response Example
{
"tool": {
"id": 1,
"slug": "string",
"aiAgentId": 1,
"name": "string",
"description": "string",
"definition": null,
"createdAt": "2026-01-01T12:00:00Z",
"modifiedAt": "2026-01-01T12:00:00Z"
},
"success": true
}400 — Missing name or invalid slug
409 — A tool with this slug already exists
422 — Invalid definition (validation violations returned)