API Reference
Agents

Create an agent draft

POST
/v1/agents

Creates a draft agent. The response is the ONE read that includes tool_signing_secret — store it immediately; it is never returned again (rotate via the dashboard if lost).

Authorization

bearerAuth
AuthorizationBearer <token>

Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the platform keyring. Carries workspace_id and scopes claims; revoked via the platform deny-list.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Create/update body for an agent draft. tool_signing_secret is never accepted from the wire — it is server-generated and returned only by create and rotate-secret.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/agents" \  -H "Content-Type: application/json" \  -d '{    "name": "Booking assistant",    "base_prompt": "You are a friendly booking assistant for Wema Dental.",    "voice": "amara",    "model": "sautikit-voice-1",    "max_call_minutes": 10  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "name": "string",  "base_prompt": "string",  "accent": "string",  "speech_style": "string",  "voice": "string",  "model": "string",  "max_call_minutes": 0,  "status": "string",  "current_revision": 0,  "tool_count": 0,  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "tool_signing_secret": "string"}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string"  }}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string"  }}
{  "error": {    "code": "validation.bad_request",    "message": "string",    "request_id": "string"  }}