Enneo

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

namestringbodyrequired

No description.

slugstringbody

Stable cortex reference name. Defaults to a slug of name.

aiAgentIdintegerbody

Owning agent (private) or null (shared).

descriptionstringbody

No description.

definitionobjectbody

Full 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)