API ReferenceAgents

Custom API — add tool

Creates a custom HTTP action with full template validation (url_template, params, http_method, timeout).

POST
/api/v1/console/agents/{agentId}/integrations/custom_api/{integrationId}/tools

Authorization

ApiKeyAuth
AuthorizationBearer <token>

Team API key (prefix sk_). You may also send the key via X-Api-Key header.

In: header

Path Parameters

agentId*string
integrationId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/console/agents/string/integrations/custom_api/string/tools" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "http_method": "GET",    "url_template": "string"  }'
{  "message": "Success",  "data": {    "id": "string",    "action_name": "string",    "name": "string",    "description": "string",    "category": "string",    "is_enabled": true  }}
{  "message": "Integration type does not match this endpoint",  "error": "Bad Request",  "code": "bad_request",  "statusCode": 400,  "request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}
{  "message": "Invalid API key.",  "error": "Unauthorized",  "code": "api_key_invalid",  "statusCode": 401,  "request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}
{  "message": "This API key is missing the required scope: conversations:read.",  "error": "Forbidden",  "code": "insufficient_scope",  "statusCode": 403,  "request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}
{  "message": "Integration not found",  "error": "Not Found",  "code": "not_found",  "statusCode": 404,  "request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}