ResourcesAssistants

Assistants

Create, update, clone, delete, and manage AI voice assistants through the Talkturo REST API — configure prompts, voices, models, and telephony settings.

curl -X POST "https://api.talkturo.com/api/assistants" \
  -H "Authorization: Bearer tk_live_example_9xmk7q2r4f8n6p1s3d5h7j9k2m4q6w8" \
  -H "Content-Type: application/json" \
  -d '{
    "accountSlug": "acme-sales",
    "name": "Inbound Sales Assistant"
  }'
{
  "success": true,
  "assistant": {
    "id": "7f5a4d6e-1d1b-4f76-9b03-2e9f48d09f6a",
    "name": "Inbound Sales Assistant"
  }
}
curl -X POST "https://api.talkturo.com/api/assistants" \
  -H "Authorization: Bearer tk_live_example_9xmk7q2r4f8n6p1s3d5h7j9k2m4q6w8" \
  -H "Content-Type: application/json" \
  -d '{
    "accountSlug": "acme-sales",
    "name": "Inbound Sales Assistant",
    "templateId": "tmpl_sales_inbound_v1"
  }'
{
  "success": true,
  "assistant": {
    "id": "7f5a4d6e-1d1b-4f76-9b03-2e9f48d09f6a",
    "account_slug": "acme-sales",
    "name": "Inbound Sales Assistant",
    "type": "sales",
    "created_at": "2025-02-18T14:22:31.114Z",
    "updated_at": "2025-02-18T14:22:31.114Z"
  }
}
curl -X PATCH "https://api.talkturo.com/api/assistants/7f5a4d6e-1d1b-4f76-9b03-2e9f48d09f6a" \
  -H "Authorization: Bearer tk_live_example_9xmk7q2r4f8n6p1s3d5h7j9k2m4q6w8" \
  -H "Content-Type: application/json" \
  -d '{
    "accountSlug": "acme-sales",
    "name": "Inbound Sales Assistant v2",
    "voice": "alloy",
    "model": "gpt-4o-realtime"
  }'
{
  "success": true,
  "assistant": {
    "id": "7f5a4d6e-1d1b-4f76-9b03-2e9f48d09f6a",
    "name": "Inbound Sales Assistant v2",
    "voice": "alloy",
    "model": "gpt-4o-realtime",
    "updated_at": "2025-02-18T14:31:09.027Z"
  }
}
curl -X DELETE "https://api.talkturo.com/api/assistants/7f5a4d6e-1d1b-4f76-9b03-2e9f48d09f6a" \
  -H "Authorization: Bearer tk_live_example_9xmk7q2r4f8n6p1s3d5h7j9k2m4q6w8"
{
  "success": true,
  "message": "Assistant deleted successfully"
}
curl -X POST "https://api.talkturo.com/api/assistants/7f5a4d6e-1d1b-4f76-9b03-2e9f48d09f6a/clone" \
  -H "Authorization: Bearer tk_live_example_9xmk7q2r4f8n6p1s3d5h7j9k2m4q6w8"
{
  "success": true,
  "assistant": {
    "id": "0f3f8bc6-5e95-4344-88d2-8e5660ec9bf1",
    "name": "Inbound Sales Assistant Copy",
    "created_at": "2025-02-18T14:39:12.442Z",
    "updated_at": "2025-02-18T14:39:12.442Z"
  }
}
curl -X GET "https://api.talkturo.com/api/assistants/7f5a4d6e-1d1b-4f76-9b03-2e9f48d09f6a/usage-stats" \
  -H "Authorization: Bearer tk_live_example_9xmk7q2r4f8n6p1s3d5h7j9k2m4q6w8"
{
  "success": true,
  "stats": {
    "total_calls": 148,
    "total_minutes": 912,
    "last_call_at": "2025-02-18T13:54:22.019Z"
  }
}

Manage assistants

Create assistants, update their configuration, clone existing setups, delete assistants you no longer need, and retrieve usage data for reporting or operational checks.

All assistant endpoints support dual authentication through withApiAuth. Authenticate with either a Talkturo API key or an authenticated session cookie.

Base path

All endpoints on this page are rooted at /api/assistants.

Authentication

Send your API key in the Authorization header as a bearer token.

If you use session-based auth from the Talkturo app, the browser sends the session cookie automatically. External integrations usually use API keys.

Create an assistant

Create a new assistant under an account by sending the account slug and assistant name. If you provide a template ID, Talkturo sets the assistant type from that template.

Endpoint

POST /api/assistants

Body parameters

body
accountSlugstring
Required

The account slug that owns the assistant.

body
namestring
Required

The assistant name.

body
templateIdstring

An optional template identifier. When present, Talkturo sets the assistant type from the template.

Response fields

successboolean
Required

Returns true when the assistant is created successfully.

assistantobject
Required

The newly created assistant record.

assistant.idstring
Required

The assistant UUID.

assistant.namestring
Required

The assistant name stored by Talkturo.

assistant.typestring

The assistant type derived from the template when templateId is provided.

Talkturo creates the assistant with default or null values for fields you do not provide at creation time. Update the assistant afterward to configure prompts, voices, models, or telephony settings.

Update an assistant

Update an existing assistant by assistant ID. The update endpoint accepts accountSlug and any assistant fields supported by the backend.

Endpoint

PATCH /api/assistants/{assistantId}

Path parameters

Body parameters

body
accountSlugstring

The owning account slug. Include it when your integration scopes updates to a specific account context.

body
assistant fieldsobject

Any assistant fields accepted by the backend. Use this endpoint to update configuration such as prompts, voices, models, and telephony-related settings.

Response fields

successboolean
Required

Returns true when the assistant is updated successfully.

assistantobject
Required

The updated assistant record.

If you send transcriptor_options, Talkturo validates those options against the selected provider and model before saving the update.

When the update succeeds, the response includes the saved assistant object. Use that object as the source of truth for the assistant's latest configuration.

Delete an assistant

Delete an assistant permanently by ID. Talkturo checks ownership before removing the record.

Endpoint

DELETE /api/assistants/{assistantId}

Path parameters

path
assistantIdstring
Required

The assistant UUID to delete.

Response fields

successboolean
Required

Returns true when the assistant is deleted successfully.

messagestring
Required

A confirmation message. The value is Assistant deleted successfully.

Deleting an assistant is irreversible. Remove it only after you confirm that no active workflows, phone numbers, or operational processes still depend on it.

Clone an assistant

Clone an existing assistant to duplicate its configuration into a new assistant record. Use cloning when you want a starting point for a variant instead of rebuilding settings manually.

Endpoint

POST /api/assistants/{assistantId}/clone

Path parameters

path
assistantIdstring
Required

The assistant UUID to clone.

Response fields

successboolean
Required

Returns true when the assistant is cloned successfully.

assistantobject
Required

The cloned assistant record.

assistant.idstring
Required

The UUID assigned to the cloned assistant.

After cloning, update the new assistant if you need to change the name, prompts, or telephony configuration before using it in production.

Retrieve usage statistics

Fetch usage data for a single assistant. Use this endpoint for monitoring, dashboards, or account-level reporting workflows.

Endpoint

GET /api/assistants/{assistantId}/usage-stats

Path parameters

path
assistantIdstring
Required

The assistant UUID whose usage statistics you want to retrieve.

Response fields

successboolean
Required

Returns true when usage statistics are returned successfully.

statsobject
Required

An object containing usage data for the assistant.

The shape of stats depends on the usage data Talkturo returns for that assistant. Build your client to read the fields your reporting workflow requires and tolerate additional fields over time.

Common response shape

All endpoints on this page return a top-level success field. Mutation endpoints also return either an assistant object or a message, depending on the operation.

Success fields

successboolean
Required

Indicates whether the request completed successfully.

assistantobject

Returned by the create, update, and clone endpoints.

statsobject

Returned by the usage statistics endpoint.

messagestring

Returned by the delete endpoint.

Endpoint summary

MethodPathPurpose
POST/api/assistantsCreate an assistant
PATCH/api/assistants/{assistantId}Update an assistant
DELETE/api/assistants/{assistantId}Delete an assistant
POST/api/assistants/{assistantId}/cloneClone an assistant
GET/api/assistants/{assistantId}/usage-statsRetrieve usage statistics