Anam.ai Tools API
The Tools API from Anam.ai — 2 operation(s) for tools.
The Tools API from Anam.ai — 2 operation(s) for tools.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/anamai:anamai-tools-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Anam AI Tools API
version: '1.0'
servers:
- url: https://api.anam.ai
description: Anam API
security:
- BearerAuth: []
tags:
- name: Tools
paths:
/v1/tools:
get:
description: Returns a list of all tools for the organization
parameters:
- in: query
name: page
schema:
type: integer
minimum: 1
default: 1
description: Page number for pagination
- in: query
name: perPage
schema:
type: integer
minimum: 1
maximum: 100
default: 10
description: Number of items per page
- in: query
name: search
schema:
type: string
description: Filter tools by name, description, or ID
responses:
'200':
description: Successfully retrieved tools
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Tool'
meta:
$ref: '#/components/schemas/Pagination'
examples:
default:
$ref: '#/components/examples/ToolListResponse'
'401':
description: Unauthorized - Invalid or missing API key
'403':
description: Forbidden - API key lacks the required permission
'500':
description: Server error
tags:
- Tools
operationId: listTools
summary: list tools
x-mint:
metadata:
title: list tools
mcp:
enabled: true
name: list-tools
description: Returns a list of all tools for the organization
post:
description: Create a new tool for function calling in persona sessions
requestBody:
description: Tool definition. The `config` object shape depends on `type` — see the inline `oneOf` for the shape expected for each variant.
required: true
content:
application/json:
examples:
default:
$ref: '#/components/examples/ToolCreate'
schema:
type: object
required:
- name
- description
- type
properties:
name:
type: string
minLength: 1
maxLength: 64
description: Unique name for the tool. Must match pattern [a-zA-Z0-9_.-]+
example: search_knowledge_base
description:
type: string
minLength: 1
maxLength: 1024
description: Description of what the tool does. Used by the LLM to decide when to call it.
example: Search the knowledge base for information about products and services
type:
type: string
enum:
- CLIENT
- SERVER_RAG
- SERVER_WEBHOOK
- SYSTEM
description: 'Type of tool:
- CLIENT: Triggers events on the client SDK
- SERVER_RAG: Searches knowledge base documents
- SERVER_WEBHOOK: Calls an external webhook URL
- SYSTEM: Internal system actions (end_call, interrupt)
'
example: SERVER_RAG
disableInterruptions:
type: boolean
description: When true, interruptions are disabled while this tool is executing. Defaults to false.
default: false
example: false
config:
type: object
description: Type-specific configuration for the tool
oneOf:
- title: ClientToolConfig
type: object
properties:
parameters:
type: object
description: JSON schema for parameters the LLM will provide
awaitResult:
type: boolean
description: If true, engine pauses until client sends a result back. Default is fire-and-forget.
toolTimeoutSeconds:
type: number
minimum: 1
maximum: 600
description: Per-tool timeout in seconds when awaitResult is true. Default 10s.
- title: ServerRagToolConfig
type: object
required:
- documentFolderIds
properties:
topK:
type:
- integer
- 'null'
minimum: 1
maximum: 100
description: Maximum matching chunks to retrieve. Overrides the engine default. Omit or set null to use the default. Fixed tool configuration, not an LLM argument.
example: 5
minScore:
type:
- number
- 'null'
minimum: 0
maximum: 1
description: Minimum relevance score for retrieved chunks. Zero is valid. Omit or set null to use the default. Fixed tool configuration, not an LLM argument.
example: 0.5
maxContextTokens:
type:
- integer
- 'null'
minimum: 1
maximum: 200000
description: Retrieved content token budget, excluding metadata and prompt formatting. Omit or set null to use the default. Fixed tool configuration, not an LLM argument.
example: 4000
neighborChunks:
type:
- integer
- 'null'
minimum: 0
maximum: 10
description: Chunks to add after each match, plus the chunk before it, for surrounding context. 0 returns matches only. Defaults to 0 when omitted or null. Fixed tool configuration, not an LLM argument.
example: 0
documentFolderIds:
type: array
items:
type: string
format: uuid
description: IDs of knowledge folders to search
example:
- 67d27a9f-0ce1-4432-848b-8ab2b97f024b
- title: ServerWebhookToolConfig
type: object
required:
- url
- method
properties:
url:
type: string
format: uri
description: Webhook URL to call
example: https://api.example.com/webhook
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
description: HTTP method to use
example: POST
headers:
type: object
additionalProperties:
type: string
description: Custom headers to send with the request
bodyTemplate:
type: string
description: Template for the request body
- title: SystemToolConfig
type: object
required:
- action
properties:
action:
type: string
enum:
- end_call
- interrupt
description: System action to perform
responses:
'201':
description: Successfully created tool
content:
application/json:
schema:
$ref: '#/components/schemas/Tool'
examples:
default:
$ref: '#/components/examples/ToolResponse'
'400':
description: Bad request - Invalid tool data
'401':
description: Unauthorized - Invalid or missing API key
'403':
description: Forbidden - API key lacks the required permission
'500':
description: Server error
tags:
- Tools
operationId: createTool
summary: create tool
x-mint:
metadata:
title: create tool
mcp:
enabled: true
name: create-tool
description: Create a new tool for function calling in persona sessions
/v1/tools/{id}:
get:
description: Get a tool by ID
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: Tool ID
example: 00000000-0000-0000-0000-000000000000
responses:
'200':
description: Successfully retrieved tool
content:
application/json:
schema:
$ref: '#/components/schemas/Tool'
examples:
default:
$ref: '#/components/examples/ToolResponse'
'401':
description: Unauthorized - Invalid or missing API key
'403':
description: Forbidden - API key lacks the required permission
'404':
description: Tool not found
'500':
description: Server error
tags:
- Tools
operationId: getTool
summary: get tool
x-mint:
metadata:
title: get tool
mcp:
enabled: true
name: get-tool
description: Get a tool by ID
put:
description: Update an existing tool
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: Tool ID
example: 00000000-0000-0000-0000-000000000000
requestBody:
description: Fields to update on the tool. Only the fields you include are changed; omit a field to leave it unchanged. System tools cannot be modified.
required: true
content:
application/json:
examples:
default:
$ref: '#/components/examples/ToolUpdate'
schema:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 64
description: Updated name for the tool
example: search_products
description:
type: string
minLength: 1
maxLength: 1024
description: Updated description of what the tool does
example: Search the product catalog
type:
type: string
enum:
- CLIENT
- SERVER_RAG
- SERVER_WEBHOOK
- SYSTEM
description: Updated tool type
disableInterruptions:
type: boolean
description: When true, interruptions are disabled while this tool is executing. Defaults to false.
default: false
example: false
config:
type: object
description: Updated type-specific configuration
oneOf:
- title: ClientToolConfig
type: object
properties:
parameters:
type: object
description: JSON schema for parameters
awaitResult:
type: boolean
description: If true, engine pauses until client sends a result back. Default is fire-and-forget.
toolTimeoutSeconds:
type: number
minimum: 1
maximum: 600
description: Per-tool timeout in seconds when awaitResult is true. Default 10s.
- title: ServerRagToolConfig
type: object
properties:
topK:
type:
- integer
- 'null'
minimum: 1
maximum: 100
description: Maximum matching chunks to retrieve. Overrides the engine default. Omit or set null to use the default. Fixed tool configuration, not an LLM argument.
example: 5
minScore:
type:
- number
- 'null'
minimum: 0
maximum: 1
description: Minimum relevance score for retrieved chunks. Zero is valid. Omit or set null to use the default. Fixed tool configuration, not an LLM argument.
example: 0.5
maxContextTokens:
type:
- integer
- 'null'
minimum: 1
maximum: 200000
description: Retrieved content token budget, excluding metadata and prompt formatting. Omit or set null to use the default. Fixed tool configuration, not an LLM argument.
example: 4000
neighborChunks:
type:
- integer
- 'null'
minimum: 0
maximum: 10
description: Chunks to add after each match, plus the chunk before it, for surrounding context. 0 returns matches only. Unlike other config fields, omitting it keeps the stored value. Set null to clear it back to the default (0). Fixed tool configuration, not an LLM argument.
example: 0
documentFolderIds:
type: array
items:
type: string
format: uuid
description: IDs of knowledge folders to search
- title: ServerWebhookToolConfig
type: object
properties:
url:
type: string
format: uri
description: Webhook URL to call
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
headers:
type: object
additionalProperties:
type: string
bodyTemplate:
type: string
- title: SystemToolConfig
type: object
properties:
action:
type: string
enum:
- end_call
- interrupt
responses:
'200':
description: Successfully updated tool
content:
application/json:
schema:
$ref: '#/components/schemas/Tool'
examples:
default:
$ref: '#/components/examples/ToolResponse'
'400':
description: Bad request - Invalid tool data
'401':
description: Unauthorized - Invalid or missing API key
'403':
description: Forbidden - System tools cannot be modified, or the API key lacks the required permission
'404':
description: Tool not found
'500':
description: Server error
tags:
- Tools
operationId: updateTool
summary: update tool
x-mint:
metadata:
title: update tool
mcp:
enabled: true
name: update-tool
description: Update an existing tool
delete:
description: Delete a tool. The tool will be soft-deleted and no longer available.
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: Tool ID
example: 00000000-0000-0000-0000-000000000000
responses:
'204':
description: Successfully deleted tool
'401':
description: Unauthorized - Invalid or missing API key
'403':
description: Forbidden - System tools cannot be deleted, or the API key lacks the required permission
'404':
description: Tool not found
'500':
description: Server error
tags:
- Tools
operationId: deleteTool
summary: delete tool
x-mint:
metadata:
title: delete tool
mcp:
enabled: true
name: delete-tool
description: Delete a tool. The tool will be soft-deleted and no longer available.. Use with caution as this action cannot be undone.
components:
schemas:
Tool:
type: object
properties:
id:
type: string
format: uuid
description: Unique identifier for the tool
example: 00000000-0000-0000-0000-000000000000
name:
type: string
description: Name of the tool
example: search_knowledge_base
description:
type: string
description: Description of what the tool does
example: Search the knowledge base for product information
type:
type: string
enum:
- CLIENT
- SERVER_RAG
- SERVER_WEBHOOK
- SYSTEM
description: Type of tool
config:
type: object
description: Type-specific configuration
disableInterruptions:
type: boolean
description: When true, interruptions are disabled while this tool is executing
default: false
createdAt:
type: string
format: date-time
description: When the tool was created
updatedAt:
type:
- string
- 'null'
format: date-time
description: When the tool was last updated
usageCount:
type: integer
description: Number of the organization's live personas using this tool
Pagination:
type: object
description: Pagination metadata returned alongside the `data` array of every list endpoint.
properties:
total:
type: integer
description: Total number of items across all pages.
lastPage:
type: integer
description: Number of the last page.
currentPage:
type: integer
description: Number of the current page.
perPage:
type: integer
description: Number of items per page.
prev:
type:
- integer
- 'null'
description: Number of the previous page, or null if on the first page.
next:
type:
- integer
- 'null'
description: Number of the next page, or null if on the last page.
examples:
ToolCreate:
summary: Register a client-side tool the persona can trigger
value:
name: open_calendar
description: Open the calendar UI in the client app.
type: CLIENT
config:
parameters:
type: object
properties:
date:
type: string
description: Date to jump to, in YYYY-MM-DD format.
ToolResponse:
summary: A single tool definition
value:
id: 00000000-0000-0000-0000-000000000000
name: open_calendar
description: Open the calendar UI in the client app.
type: CLIENT
config:
parameters:
type: object
properties:
date:
type: string
description: Date to jump to, in YYYY-MM-DD format.
createdAt: '2026-04-20T10:00:00.000Z'
updatedAt: null
usageCount: 0
ToolListResponse:
summary: A paginated list of tools
value:
data:
- id: 00000000-0000-0000-0000-000000000000
name: open_calendar
description: Open the calendar UI in the client app.
type: CLIENT
config:
parameters:
type: object
properties:
date:
type: string
description: Date to jump to, in YYYY-MM-DD format.
createdAt: '2026-04-20T10:00:00.000Z'
updatedAt: null
usageCount: 0
meta:
total: 1
lastPage: 1
currentPage: 1
perPage: 10
prev: null
next: null
ToolUpdate:
summary: Rename a tool
value:
name: open_scheduler
securitySchemes:
BearerAuth:
type: http
scheme: bearer
x-mint:
mcp:
enabled: true
x-provenance:
method: harvested
publisher: Anam.ai
source: https://api.anam.ai/swagger.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)