### Response 200 Example
Source: https://docs.insighto.ai/api/make-calls-to-contacts-api-v-1-call-widget-id-contacts-post
Example response body when the campaign has been queued.
```json
{
"status": "Campaign has been queued"
}
```
--------------------------------
### Request Body Example (Collapsed)
Source: https://docs.insighto.ai/api/make-calls-to-contacts-api-v-1-call-widget-id-contacts-post
Example request body shown in the collapsed request section. It uses placeholder values for message and start_new_conversation.
```json
{
"contact_ids": [
"a3ae8c0f-2e9d-4c18-8c0e-d510e3cacb04",
"8a849d72-93cf-4e6c-b1a3-6c10d4c65f1d"
],
"message": "string",
"start_new_conversation": true
}
```
--------------------------------
### Response example for 429 - Too Many Requests
Source: https://docs.insighto.ai/api/disconnect-call-api-v-1-call-disconnect-conversation-id-patch
Example response body for rate limiting.
```json
{
"detail": "string"
}
```
```json
{
"detail": "Too Many Requests"
}
```
--------------------------------
### Response example for 200 - Call disconnect initiated
Source: https://docs.insighto.ai/api/disconnect-call-api-v-1-call-disconnect-conversation-id-patch
Example response body for a successful disconnect request.
```json
{
"message": "string",
"meta": {}
}
```
```json
{
"status": "Call disconnect initiated"
}
```
--------------------------------
### Example invocation of lookup_value_one
Source: https://docs.insighto.ai/tools/postgres
JSON object showing how to call the lookup_value_one function with a lookup_key argument. The example uses 'ORD-12345' as the lookup key.
```json
{
"function": "lookup_value_one",
"arguments": {
"lookup_key": "ORD-12345"
}
}
```
--------------------------------
### Response 429 Schema Example
Source: https://docs.insighto.ai/api/make-calls-to-contacts-api-v-1-call-widget-id-contacts-post
Example response schema for too many requests, with a detail field.
```json
{
"detail": "string"
}
```
--------------------------------
### Example result returned by lookup_value_one
Source: https://docs.insighto.ai/tools/postgres
Text output showing the format of the returned row when a match is found. The example assumes lookup_table = orders and identifier columns [order_number, customer_email].
```text
id: 412
order_number: ORD-12345
customer_email: alice@example.com
status: shipped
total_cents: 4999
created_at: 2026-05-10 14:30:00
shipped_at: 2026-05-12 09:15:00
tracking_url: https://carrier.com/track/abc
```
--------------------------------
### Success Response Example for Make a Call API
Source: https://docs.insighto.ai/api/make-a-call-api-v-1-call-widget-id-post
Example JSON response for a successful call initiation (HTTP 201). Contains conversation, contact, widget, assistant IDs, call direction, phone numbers, telephony provider details, and dynamic variables.
```json
{
"message": "string",
"meta": {},
"data": {
"conversation_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"contact_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"widget_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"assistant_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"direction": "string",
"from_number": "string",
"to_number": "string",
"telephony_provider": {
"provider_name": "twilio",
"call_id": "string",
"response_body": {}
},
"prompt_dynamic_variables": {}
}
}
```
--------------------------------
### Example request body for Make a Call API
Source: https://docs.insighto.ai/api/make-a-call-api-v-1-call-widget-id-post
JSON body example for the Make a Call API. The 'to' field must be in E.164 format (e.g., 16501234567). The 'prompt_dynamic_variables' object is optional and can be null.
```json
{
"prompt_dynamic_variables": {
"appointment_day": "tomorrow",
"name": "Bob",
"reason": "for confirmation of appointment"
},
"to": "919810012345"
}
```
--------------------------------
### Request Body Example for Bulk Calling
Source: https://docs.insighto.ai/api/make-calls-to-contacts-api-v-1-call-widget-id-contacts-post
Example JSON body for the bulk calling request. contact_ids is required and must contain at least one UUID. message is only for chat-based assistants and ignored for calling. start_new_conversation is always true for calling campaigns.
```json
{
"contact_ids": [
"a3ae8c0f-2e9d-4c18-8c0e-d510e3cacb04",
"8a849d72-93cf-4e6c-b1a3-6c10d4c65f1d"
],
"message": "Hi Adam, check out our new offer!",
"start_new_conversation": true
}
```
--------------------------------
### Response 200 Schema Example
Source: https://docs.insighto.ai/api/make-calls-to-contacts-api-v-1-call-widget-id-contacts-post
Example response schema for a successful campaign queued response. The response includes message and meta fields.
```json
{
"message": "string",
"meta": {}
}
```
--------------------------------
### get_earliest_appointments
Source: https://docs.insighto.ai/tools/gohighlevel
Five-day window starting from today (or from a given date).
```APIDOC
## get_earliest_appointments
### Description
Five-day window starting from today (or from a given date).
### Arguments
- **appointment_date** (string, optional) - Date in `YYYY-MM-DD` format.
### Returns
- The next several open slot strings.
```
--------------------------------
### Response example for 422 - Validation Error
Source: https://docs.insighto.ai/api/disconnect-call-api-v-1-call-disconnect-conversation-id-patch
Example response body for a validation error.
```json
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}
```
--------------------------------
### Working hours configuration with multi-window days
Source: https://docs.insighto.ai/tools/google-calendar
Example JSON configuration for working hours per day, supporting multiple windows per day.
```json
{
"Monday": ["09:00-12:30", "14:00-17:00"],
"Tuesday": ["10:00-17:00"],
"Wednesday": ["09:00-11:30", "14:00-17:00"]
}
```
--------------------------------
### GET /api/v1/voice/voice_preview
Source: https://docs.insighto.ai/api/get-voice-preview-api-v-1-voice-voice-preview-get
Retrieves a voice preview. Returns a successful response or a validation error.
```APIDOC
## GET /api/v1/voice/voice_preview
### Description
Get Voice Preview
### Method
GET
### Endpoint
/api/v1/voice/voice_preview
### Responses
#### Success Response (200)
Successful Response
#### Error Response (422)
Validation Error
```
--------------------------------
### find_available_slots result with available time slots
Source: https://docs.insighto.ai/tools/google-calendar
Example JSON response from find_available_slots showing available time slots, duration, and timezone.
```json
{
"available_time_slots": ["2026-05-20 09:00", "2026-05-20 09:30", "2026-05-20 13:00"],
"duration_in_minutes": 30,
"timezone": "America/New_York"
}
```
--------------------------------
### Key format example
Source: https://docs.insighto.ai/settings/api-tokens
Shows the format of an Insighto API key: the 'in-' prefix followed by a 43-character random secret suffix.
```text
in-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```
--------------------------------
### GET /api/v1/datasource
Source: https://docs.insighto.ai/api/get-list-of-data-sources-api-v-1-datasource-get
Retrieves data sources. Requires admin or manager role.
```APIDOC
## GET /api/v1/datasource
### Description
Retrieve data sources. Requires admin or manager role.
### Method
GET
### Endpoint
/api/v1/datasource
### Required Roles
- admin
- manager
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/intent/list_system
Source: https://docs.insighto.ai/api/read-system-intents-list-api-v-1-intent-list-system-get
Retrieves the list of system intents. This endpoint does not require any parameters and returns a successful response with the intents or a validation error.
```APIDOC
## GET /api/v1/intent/list_system
### Description
Retrieve intents.
### Method
GET
### Endpoint
/api/v1/intent/list_system
### Parameters
None
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### find_available_slots invocation for Tuesday-Wednesday window
Source: https://docs.insighto.ai/tools/google-calendar
Example JSON invocation of the find_available_slots function for a Tuesday-Wednesday window (2026-05-20 to 2026-05-22).
```json
{
"function": "find_available_slots",
"arguments": {
"appointment_start_date": "2026-05-20",
"appointment_end_date": "2026-05-22"
}
}
```
--------------------------------
### GET /api/v1/voice/syncing_providers
Source: https://docs.insighto.ai/api/syncing-providers-api-v-1-voice-syncing-providers-get
Retrieves the list of syncing providers. Returns a 200 status code on success.
```APIDOC
## GET /api/v1/voice/syncing_providers
### Description
Retrieves the list of syncing providers.
### Method
GET
### Endpoint
/api/v1/voice/syncing_providers
### Response
#### Success Response (200)
Successful Response
```
--------------------------------
### GET /api/v1/user/list/UserWhatsApp
Source: https://docs.insighto.ai/api/read-userwhatsapp-list-api-v-1-user-list-user-whats-app-get
Retrieves all Userwhatsapp records. This endpoint does not require any parameters and returns a list of Userwhatsapp entries.
```APIDOC
## GET /api/v1/user/list/UserWhatsApp
### Description
Retrieve all Userwhatsapp records.
### Method
GET
### Endpoint
/api/v1/user/list/UserWhatsApp
### Parameters
None
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/prompt
Source: https://docs.insighto.ai/api/read-prompt-list-api-v-1-prompt-get
Retrieves a list of prompts. Scoped to the active team (X-Team-Id header) when set, otherwise personal.
```APIDOC
## GET /api/v1/prompt
### Description
Retrieve prompts. Scoped to the active team (X-Team-Id header) when set, otherwise personal.
### Method
GET
### Endpoint
/api/v1/prompt
### Responses
- 200: Successful Response
- 422: Validation Error
```
--------------------------------
### TeXML Stream with bidirectionalMode
Source: https://docs.insighto.ai/channel-setup/telnyx
Example of the TeXML generated by Insighto for each call, opening a bidirectional RTP stream. This is not written by the user.
```xml
```
--------------------------------
### book_appointment invocation for a selected slot
Source: https://docs.insighto.ai/tools/google-calendar
Example JSON invocation of the book_appointment function for a selected slot on 2026-05-20 at 09:00.
```json
{
"function": "book_appointment",
"arguments": {
"appointment_date": "2026-05-20",
"appointment_time": "09:00",
"email": "alice@example.com"
}
}
```
--------------------------------
### GET /api/v1/workflow
Source: https://docs.insighto.ai/api/list-workflows-api-v-1-workflow-get
Lists all workflows. This endpoint returns a successful response with the workflow data or a validation error.
```APIDOC
## GET /api/v1/workflow
### Description
List Workflows
### Method
GET
### Endpoint
/api/v1/workflow
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Example prompt template body
Source: https://docs.insighto.ai/build/library/prompts
Shows the template body syntax with {{variable_name}} placeholders for linked variables and {system.date_yyyy_mm_dd} for the current date. {{contact.first_name}} is filled per call from the matched contact.
```text
You are {{assistant_role}} for {{business_name}}.
Your job is to greet the caller, identify why they are calling,
and either book an appointment or transfer to a human.
Hours: {{office_hours}}
Address: {{office_address}}
Today is {system.date_yyyy_mm_dd}.
Tone: warm, concise, never robotic.
When the caller wants to book, collect their name, phone, and
preferred slot, then call book_appointment.
If the caller asks something outside scope, say "Let me get
someone to help with that" and call transfer_to_human.
{{contact.first_name}} — say their name once if available.
```
--------------------------------
### GET /api/v1/widget
Source: https://docs.insighto.ai/api/get-list-of-widgets-api-v-1-widget-get
Retrieves a list of widgets. Requires admin or manager role. Returns a successful response with the list of widgets or a validation error.
```APIDOC
## GET /api/v1/widget
### Description
Retrieves a list of widgets. Requires admin or manager role.
### Method
GET
### Endpoint
/api/v1/widget
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### B2B SaaS sales qualifier (chat) system prompt
Source: https://docs.insighto.ai/build/assistants/system-prompt
Full example prompt for a chat-based sales qualifier. Includes qualification questions, constraints on response length and tone, and actions book_demo and save_lead based on lead fit.
```text
You are a sales development assistant for Acme Analytics.
Your job is to qualify inbound leads and book a demo when they fit.
You have a knowledge base on Acme's product, pricing tiers, and case
studies. You can call book_demo(email, company, use_case) and
save_lead(email, company, qualification_notes).
Constraints:
- Direct and friendly. No emojis. No exclamation marks.
- Two to four sentences per response.
- Do not pitch features unprompted. Ask about their problem first.
Qualification questions (ask one at a time):
- What is your team doing today for analytics?
- How big is the team that would use this?
- What is the problem that brought you here?
When the lead is qualified (10+ person team, real use case),
call book_demo.
When the lead is not a fit, thank them and call save_lead.
```
--------------------------------
### GoHighLevel placeholders in system prompt
Source: https://docs.insighto.ai/build/data-sources/connect-crm
Use the leadconnector prefix for GoHighLevel CRM placeholders in the system prompt.
```text
Caller context:
- Name: {{leadconnector.first_name}}
- Pipeline stage: {{leadconnector.pipeline_stage}}
```
--------------------------------
### GET /api/v1/calendar_pool/{id}/available_slots
Source: https://docs.insighto.ai/automation/calendar-pools
Gets available slots for a calendar pool within a date range.
```APIDOC
## GET /api/v1/calendar_pool/{id}/available_slots
### Description
Gets available slots for a calendar pool within a date range, as a union across members.
### Method
GET
### Endpoint
/api/v1/calendar_pool/{id}/available_slots
### Parameters
#### Path Parameters
- **id** (string) - Required - The ID of the calendar pool.
#### Query Parameters
- **start_date** (string) - Required - Start date in YYYY-MM-DD format.
- **end_date** (string) - Required - End date in YYYY-MM-DD format.
### Response
#### Success Response (200)
- **slots** (array) - List of available slots.
#### Response Example
```json
{
"slots": []
}
```
```
--------------------------------
### Curl Example for Make a Call API
Source: https://docs.insighto.ai/api/make-a-call-api-v-1-call-widget-id-post
Curl command to initiate a call. Uses the API key as a query parameter, sends JSON body with prompt_dynamic_variables and destination phone number.
```bash
curl -L 'https://docs.insighto.ai/api/v1/call/:widget_id?api_key=%3Capi_key%3E' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"prompt_dynamic_variables": {
"appointment_day": "tomorrow",
"name": "Bob",
"reason": "for confirmation of appointment"
},
"to": "919810012345"
}'
```
--------------------------------
### GET /api/v1/assistant
Source: https://docs.insighto.ai/api/get-list-of-assistants-api-v-1-assistant-get
Retrieves a list of assistants. This endpoint returns a successful response with the assistant data or a validation error if the request is malformed.
```APIDOC
## GET /api/v1/assistant
### Description
Retrieve assistants.
### Method
GET
### Endpoint
/api/v1/assistant
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/datasource/:datasource_id/assistants
Source: https://docs.insighto.ai/api/get-list-of-assistants-for-datasource-id-api-v-1-datasource-datasource-id-assistants-get
Gets assistants for a given datasource. The datasource ID is provided as a path parameter.
```APIDOC
## GET /api/v1/datasource/:datasource_id/assistants
### Description
Gets assistants for a given datasource.
### Method
GET
### Endpoint
/api/v1/datasource/:datasource_id/assistants
### Parameters
#### Path Parameters
- **datasource_id** (string) - Required - The unique identifier of the datasource.
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Tier-1 support with retrieval (chat) system prompt
Source: https://docs.insighto.ai/build/assistants/system-prompt
Full example prompt for a chat-based tier-1 support agent. Uses knowledge base retrieval, escalates via transfer_to_human, and creates tickets with create_ticket when needed.
```text
You are a Tier 1 support agent for Helix CRM.
Your job is to resolve common questions using the knowledge base.
When you cannot resolve an issue, escalate to a human.
You have a knowledge base of help articles. You can call
create_ticket(email, subject, body) and transfer_to_human.
Constraints:
- Helpful, calm, direct.
- Two or three short paragraphs maximum.
- Never make up steps not in the knowledge base.
When the user reports a bug or expresses frustration, call
transfer_to_human.
If the answer is not in your knowledge base, say so and offer to
create a ticket. Do not guess.
```
--------------------------------
### GET /api/v1/tool/tools/conversation_sync/list
Source: https://docs.insighto.ai/api/conversation-sync-tools-api-v-1-tool-tools-conversation-sync-list-get
Retrieves a list of conversation sync tools. This endpoint returns a successful response with status code 200.
```APIDOC
## GET /api/v1/tool/tools/conversation_sync/list
### Description
Retrieves a list of conversation sync tools.
### Method
GET
### Endpoint
/api/v1/tool/tools/conversation_sync/list
### Response
#### Success Response (200)
Successful Response
```
--------------------------------
### GET /api/v1/agency/:agency_id
Source: https://docs.insighto.ai/api/get-agency-id-by-id-api-v-1-agency-agency-id-get
Gets an agency by its id. The endpoint requires the agency ID as a path parameter and returns the agency details.
```APIDOC
## GET /api/v1/agency/:agency_id
### Description
Gets an agency by its id.
### Method
GET
### Endpoint
/api/v1/agency/:agency_id
### Parameters
#### Path Parameters
- **agency_id** (string) - Required - The unique identifier of the agency.
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### initiate_handoff
Source: https://docs.insighto.ai/tools/disconnect-and-transfer
Sends the caller a link via SMS or WhatsApp template to a pre-configured sub-conversation on another channel. Requires smart handoff settings to be configured on the tool connection.
```APIDOC
## initiate_handoff
### Description
Sends the caller a link (via SMS or WhatsApp template) to a pre-configured sub-conversation on another channel. This allows the customer to fill in information that the voice agent cannot ask for verbally, such as long forms, file uploads, or secure inputs.
### Arguments
- **phone_number** (string, optional) - Recipient phone for the link. If omitted, the contact already known to the assistant is used.
### Returns
- Returns "Handoff completed successfully." on send.
- If smart handoff settings are not configured, returns "Handoff not configured for this call."
```
--------------------------------
### POST /api/v1/datasource
Source: https://docs.insighto.ai/build/data-sources/upload-files
Creates a new data source. This is the first step in uploading a file.
```APIDOC
## POST /api/v1/datasource
### Description
Creates a new data source. This is the first step in uploading a file.
### Method
POST
### Endpoint
https://api.insighto.ai/api/v1/datasource
### Parameters
#### Request Body
- **name** (string) - Required - The name of the data source.
- **ds_type** (string) - Required - The type of the data source (e.g., "pdf").
### Request Example
{
"name": "clinic-policies-2026",
"ds_type": "pdf"
}
### Response
#### Success Response (200)
- **id** (string) - The ID of the created data source.
#### Response Example
{
"id": ""
}
```
--------------------------------
### GET /api/v1/tool/list
Source: https://docs.insighto.ai/api/read-tool-list-api-v-1-tool-list-get
Retrieves a list of tools. The response is scoped to the active team if the X-Team-Id header is provided, otherwise it returns personal tools.
```APIDOC
## GET /api/v1/tool/list
### Description
Retrieve tools. Scoped to the active team (X-Team-Id header) when set, otherwise personal.
### Method
GET
### Endpoint
/api/v1/tool/list
### Parameters
#### Headers
- **X-Team-Id** (string) - Optional - The team ID to scope the tool list to.
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Create data source and attach file via API
Source: https://docs.insighto.ai/build/data-sources/upload-files
Use these curl commands to create a data source and attach a file. The first command creates a data source with name 'clinic-policies-2026' and type 'pdf'. The second attaches a file to the data source using the data source ID. Replace $TOKEN and paths accordingly.
```bash
# Create the data source
curl -X POST https://api.insighto.ai/api/v1/datasource \
-H "Authorization: Bearer $TOKEN" \
-d '{"name": "clinic-policies-2026", "ds_type": "pdf"}'
# Attach the file
curl -X POST https://api.insighto.ai/api/v1/datasource//file \
-H "Authorization: Bearer $TOKEN" \
-F "datasourcefile_file=@/path/to/policies.pdf" \
-F "ds_type=pdf" \
-F "name=policies.pdf"
```
--------------------------------
### GET /api/v1/contact_custom_field/:contact_custom_field_id
Source: https://docs.insighto.ai/api/get-user-provider-key-by-id-api-v-1-contact-custom-field-contact-custom-field-id-get
Gets a contact custom field by its ID. The endpoint requires the contact_custom_field_id as a path parameter and returns the field data on success.
```APIDOC
## GET /api/v1/contact_custom_field/:contact_custom_field_id
### Description
Gets a contact custom field by its ID.
### Method
GET
### Endpoint
/api/v1/contact_custom_field/:contact_custom_field_id
### Parameters
#### Path Parameters
- **contact_custom_field_id** (string) - Required - The ID of the contact custom field to retrieve.
### Responses
#### Success Response (200)
Successful Response
#### Error Response (422)
Validation Error
```
--------------------------------
### Template variable example
Source: https://docs.insighto.ai/build/assistants/system-prompt
Shows the substitution-only template variable syntax. Tokens with no value resolve to an empty string. Use double braces for contact, CRM, and library variables; single braces for system date/time.
```text
Hi {{contact.first_name}}, welcome back to Acme.
Today is {system.date_yyyy_mm_dd}.
Your current plan: {{hubspot.product_tier}}.
```
--------------------------------
### GET /api/v1/agency/analytics/:agency_id/overview
Source: https://docs.insighto.ai/api/agency-overview-api-v-1-agency-analytics-agency-id-overview-get
Retrieves summary metrics for the agency for the current calendar month. This endpoint is used to get an overview of the agency's performance.
```APIDOC
## GET /api/v1/agency/analytics/:agency_id/overview
### Description
Summary metrics for the agency for the current calendar month.
### Method
GET
### Endpoint
/api/v1/agency/analytics/:agency_id/overview
### Parameters
#### Path Parameters
- **agency_id** (string) - Required - The unique identifier of the agency.
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/agency/billing/:agency_id/billing_plan/list
Source: https://docs.insighto.ai/api/get-agency-users-by-id-api-v-1-agency-billing-agency-id-billing-plan-list-get
Retrieves the agency users for the specified agency. This endpoint is used to get the list of users associated with the agency's billing plan.
```APIDOC
## GET /api/v1/agency/billing/:agency_id/billing_plan/list
### Description
Get the agency users
### Method
GET
### Endpoint
/api/v1/agency/billing/:agency_id/billing_plan/list
### Parameters
#### Path Parameters
- **agency_id** (string) - Required - The ID of the agency.
### Response
#### Success Response (200)
Successful Response
#### Error Response (422)
Validation Error
```
--------------------------------
### Order lookup response JSON
Source: https://docs.insighto.ai/tools/custom-tool
Example response returned by the custom tool endpoint. Contains order status, shipping timestamp, tracking URL, and items.
```json
{
"order_number": "ORD-12345",
"status": "shipped",
"shipped_at": "2026-05-10T14:30:00Z",
"tracking_url": "https://carrier.com/track/abc",
"items": [{ "name": "Blue Widget", "qty": 2 }]
}
```
--------------------------------
### Webhook payload envelope JSON example
Source: https://docs.insighto.ai/settings/webhooks
Example of the JSON envelope for every webhook payload. The 'id' field is unique per delivery and should be used to de-duplicate events in your handler.
```json
{
"id": "01902b1f-9e1f-7c2a-9e23-3f8c0b9a2c4d",
"object": "event",
"event": "conversation.closed",
"created_at": "2026-05-14 09:32:11",
"data": {
"conversation_id": "01902b1d-...",
"assistant_id": "01902b1c-...",
"transcript": [
{ "role": "user", "content": "..." },
{ "role": "assistant", "content": "..." }
],
"billing_details": {
"billing_type": "voice",
"billing_used": "wallet",
"call_duration": 312,
"voice_multiplier": 1,
"llm_model": "gpt-4o-mini",
"price_per_minute": 0.06,
"utilized_wallet_balance": 0.312
},
"conversation_billed_to": "wallet",
"intent_name": "qualified_lead"
}
}
```
--------------------------------
### GET /api/v1/agency/billing/:agency_id/setup_stripe_webhook
Source: https://docs.insighto.ai/api/agency-setup-stripe-webhook-api-v-1-agency-billing-agency-id-setup-stripe-webhook-get
Sets up a Stripe webhook for the specified agency. The agency ID is provided as a path parameter. Returns a success response or a validation error.
```APIDOC
## GET /api/v1/agency/billing/:agency_id/setup_stripe_webhook
### Description
Sets up a Stripe webhook for the specified agency.
### Method
GET
### Endpoint
/api/v1/agency/billing/:agency_id/setup_stripe_webhook
### Parameters
#### Path Parameters
- **agency_id** (string) - Required - The unique identifier of the agency.
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### conversation.closed webhook payload example
Source: https://docs.insighto.ai/webhooks-reference/conversation-closed
Example JSON payload for the conversation.closed event. The envelope includes id, object, event, created_at, and data with conversation details, transcript, and attributes. Use this to parse the event in your receiver.
```json
{
"id": "evt_01HXXXX...",
"object": "event",
"event": "conversation.closed",
"created_at": "2026-05-14T10:21:33Z",
"data": {
"conversation_id": "conv_01HX...",
"assistant_id": "asst_01HX...",
"widget_id": "wid_01HX...",
"device_type": "web",
"contact_id": "cnt_01HX...",
"chat_count": 12,
"first_message": "Hi, do you have this dress in size 8?",
"transcript": [
{ "role": "user", "content": "Hi, do you have this dress in size 8?", "ts": "2026-05-14T10:18:01Z" },
{ "role": "assistant", "content": "Yes — both navy and cream are in stock. Want the link?", "ts": "2026-05-14T10:18:04Z" }
],
"attributes": {
"utm_source": "instagram_ads",
"lead_score": 78
}
}
}
```
--------------------------------
### GET /api/v1/tool_function_invoke_log/:tool_function_invoke_log_id
Source: https://docs.insighto.ai/api/get-tool-function-invoke-log-id-api-v-1-tool-function-invoke-log-tool-function-invoke-log-id-get
Gets tool_function_invoke_log by its id. This endpoint returns the log details for the specified ID. A successful request returns a 200 status code, while an invalid ID returns a 422 validation error.
```APIDOC
## GET /api/v1/tool_function_invoke_log/:tool_function_invoke_log_id
### Description
Gets tool_function_invoke_log by its id.
### Method
GET
### Endpoint
/api/v1/tool_function_invoke_log/:tool_function_invoke_log_id
### Parameters
#### Path Parameters
- **tool_function_invoke_log_id** (string) - Required - The unique identifier of the tool function invoke log.
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/calendar_pool
Source: https://docs.insighto.ai/automation/calendar-pools
Lists all calendar pools.
```APIDOC
## GET /api/v1/calendar_pool
### Description
Lists your calendar pools.
### Method
GET
### Endpoint
/api/v1/calendar_pool
### Response
#### Success Response (200)
- **pools** (array) - List of calendar pools.
#### Response Example
```json
{
"pools": []
}
```
```
--------------------------------
### POST /api/v1/user/create_live_agent
Source: https://docs.insighto.ai/api/create-live-agent-api-v-1-user-create-live-agent-post
Creates a new user with role agent. Requires admin role. Returns 200 on success and 422 on validation error.
```APIDOC
## POST /api/v1/user/create_live_agent
### Description
Creates a new user with role agent.
### Method
POST
### Endpoint
/api/v1/user/create_live_agent
### Required Roles
- admin
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/calendar_pool/{id}
Source: https://docs.insighto.ai/automation/calendar-pools
Reads a calendar pool and its active members.
```APIDOC
## GET /api/v1/calendar_pool/{id}
### Description
Reads a calendar pool and its active members.
### Method
GET
### Endpoint
/api/v1/calendar_pool/{id}
### Parameters
#### Path Parameters
- **id** (string) - Required - The ID of the calendar pool.
### Response
#### Success Response (200)
- **pool** (object) - The calendar pool details.
- **members** (array) - List of active members.
#### Response Example
```json
{
"pool": {},
"members": []
}
```
```
--------------------------------
### Branded signup URL
Source: https://docs.insighto.ai/agency/subaccounts
Subaccounts sign up through your branded signup URL. Replace 'youragency.com' with your actual domain.
```text
https://app.youragency.com/signup
```
--------------------------------
### Assistant invocation of search_tickets (JSON)
Source: https://docs.insighto.ai/tools/mcp-server
Example of how the assistant calls the search_tickets tool, passing a query and status. Insighto forwards this call over MCP to the server and returns the response.
```json
{
"function": "search_tickets",
"arguments": {
"query": "billing problem",
"status": "open"
}
}
```
--------------------------------
### GET /api/v1/agency/list
Source: https://docs.insighto.ai/api/read-agency-list-api-v-1-agency-list-get
Retrieves all agencies. This endpoint returns a list of agencies and does not require any parameters.
```APIDOC
## GET /api/v1/agency/list
### Description
Retrieve all Agency
### Method
GET
### Endpoint
/api/v1/agency/list
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/link_tag_entity/search/entities
Source: https://docs.insighto.ai/api/get-entities-by-tag-api-v-1-link-tag-entity-search-entities-get
Searches entities by tag. Returns a successful response or a validation error.
```APIDOC
## GET /api/v1/link_tag_entity/search/entities
### Description
Search entities by tag.
### Method
GET
### Endpoint
/api/v1/link_tag_entity/search/entities
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/agency/billing/subaccount/change_billing_plan
Source: https://docs.insighto.ai/api/change-subaccount-billing-plan-api-v-1-agency-billing-subaccount-change-billing-plan-get
Changes the billing plan of a subaccount. This endpoint is to be used by Agency admins only.
```APIDOC
## GET /api/v1/agency/billing/subaccount/change_billing_plan
### Description
Changes the billing plan of a subaccount. This endpoint is to be used by Agency admins only.
### Method
GET
### Endpoint
/api/v1/agency/billing/subaccount/change_billing_plan
### Parameters
#### Query Parameters
- **agency_id** (string) - Required - The agency ID under which the subaccount is created
- **subaccount_user_id** (string) - Required - The user ID for which the billing refresh has to be performed
- **new_billing_plan_id** (string) - Required - billing_plan_id for the new plan
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Dental clinic receptionist (voice) system prompt
Source: https://docs.insighto.ai/build/assistants/system-prompt
Full example prompt for a voice-based dental clinic receptionist. Includes constraints for brief spoken responses, booking appointments via book_appointment, and escalating clinical questions via transfer_to_human.
```text
You are the receptionist for Bright Smile Dental in Austin, Texas.
Your job is to answer questions about services, hours, location,
and insurance, and to book new-patient appointments.
You have a knowledge base of clinic policies, services, pricing,
and insurance providers. You can call book_appointment(date, time,
name, phone) and transfer_to_human.
Constraints:
- Warm, professional, brief.
- One or two short spoken sentences per turn.
- Do not give medical or dental advice.
- Do not quote prices not in the knowledge base.
When the caller wants to book, collect their name, phone, preferred
date and time, and the reason for the visit, then call book_appointment.
When the caller asks something clinical, say "I'll have one of our
team call you back about that" and call transfer_to_human.
If you do not know, say so and offer to take a message.
```
--------------------------------
### GET /api/v1/channel/twilio/list
Source: https://docs.insighto.ai/api/read-twilio-auth-list-api-v-1-channel-twilio-list-get
Retrieves Twilio authentication details. Returns a successful response or a validation error.
```APIDOC
## GET /api/v1/channel/twilio/list
### Description
Retrieve twilio auth
### Method
GET
### Endpoint
/api/v1/channel/twilio/list
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Example of agency.billing_plan JSONB shape
Source: https://docs.insighto.ai/agency/rebilling
Shows a fully populated Stripe agency billing_plan with subaccount_wallet object. Includes billing_method, stripe_api_key, stripe_webhook_id, deduct_agency_wallet, and subaccount_wallet with default_wallet_balance, wallet_currency, and multipliers. Note that older rows may have subaccount_wallet as a boolean instead of this object shape.
```json
{
"billing_method": "stripe",
"stripe_api_key": "rk_live_...",
"stripe_webhook_id": "we_1Q...",
"deduct_agency_wallet": false,
"subaccount_wallet": {
"default_wallet_balance": 5,
"wallet_currency": "usd",
"multipliers": {
"llm_cost": 1.5,
"voice_cost": 1.5,
"transcriber_cost": 1.0,
"platform_cost": 1.0
}
}
}
```
--------------------------------
### GET /api/v1/voice
Source: https://docs.insighto.ai/api/get-user-custom-voice-list-api-v-1-voice-get
Retrieves the list of custom voices for the authenticated user. This endpoint does not require any parameters.
```APIDOC
## GET /api/v1/voice
### Description
Retrieve list of user custom voice.
### Method
GET
### Endpoint
/api/v1/voice
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Curl Example for Bulk Calling
Source: https://docs.insighto.ai/api/make-calls-to-contacts-api-v-1-call-widget-id-contacts-post
Curl command to make a bulk calling request. The API key is passed as a query parameter. The request body includes contact_ids, message, and start_new_conversation.
```bash
curl -L 'https://docs.insighto.ai/api/v1/call/:widget_id/contacts?api_key=%3Capi_key%3E' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"contact_ids": [
"a3ae8c0f-2e9d-4c18-8c0e-d510e3cacb04",
"8a849d72-93cf-4e6c-b1a3-6c10d4c65f1d"
],
"message": "string",
"start_new_conversation": true
}'
```
--------------------------------
### GET /api/v1/tool/LinkToolUser/list
Source: https://docs.insighto.ai/api/get-link-tool-user-api-v-1-tool-link-tool-user-list-get
Retrieves linked tool users. Returns a successful response or a validation error.
```APIDOC
## GET /api/v1/tool/LinkToolUser/list
### Description
Retrieve linked tooluser.
### Method
GET
### Endpoint
/api/v1/tool/LinkToolUser/list
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### POST /api/v1/widget
Source: https://docs.insighto.ai/api/create-widget-api-v-1-widget-post
Creates a new assistant. This endpoint accepts a POST request to the /api/v1/widget path. A successful request returns a 201 status code, while a validation error returns a 422 status code.
```APIDOC
## POST /api/v1/widget
### Description
Create a new assistant
### Method
POST
### Endpoint
/api/v1/widget
### Responses
- 201: Successful Response
- 422: Validation Error
```
--------------------------------
### GET /api/v1/toolfunction/list
Source: https://docs.insighto.ai/api/read-toolfunction-list-api-v-1-toolfunction-list-get
Retrieves all ToolFunction entries. This endpoint does not require any parameters and returns a list of ToolFunction objects.
```APIDOC
## GET /api/v1/toolfunction/list
### Description
Retrieve all ToolFunction
### Method
GET
### Endpoint
/api/v1/toolfunction/list
### Parameters
None
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Example fields JSON for form creation
Source: https://docs.insighto.ai/build/library/forms
JSON array defining form fields with type, name, description, required flag, and optional properties like show_country_code and options. Use this as a template when configuring form fields in the Insighto AI form builder.
```json
[
{ "type": "text", "name": "full_name", "description": "Caller's full name", "required": true },
{ "type": "tel", "name": "phone", "description": "Phone number for callback", "required": true, "show_country_code": true },
{
"type": "select",
"name": "service",
"description": "Which service the caller needs",
"required": true,
"options": ["cleaning", "filling", "consultation"]
},
{ "type": "date", "name": "preferred_date", "description": "Preferred appointment date", "required": false },
{ "type": "gdpr", "name": "gdpr_consent", "description": "Consent to data processing", "required": true }
]
```
--------------------------------
### GET /api/v1/contact_sync_log/list
Source: https://docs.insighto.ai/api/read-contact-sync-log-list-api-v-1-contact-sync-log-list-get
Retrieves a list of contact sync logs. This endpoint does not require any parameters or request body.
```APIDOC
## GET /api/v1/contact_sync_log/list
### Description
Retrieve a list of contact sync logs.
### Method
GET
### Endpoint
/api/v1/contact_sync_log/list
### Parameters
None
### Request Example
No request body required.
### Response
#### Success Response (200)
Successful Response
#### Response Example
No response example provided.
#### Error Response (422)
Validation Error
```
--------------------------------
### create_appointment function-call payload (JSON)
Source: https://docs.insighto.ai/tools/modmed
Example payload for invoking the create_appointment tool. On success, the tool returns "Created the Appointment with ID: 12345". If email is configured, a confirmation email is sent automatically with appointment details.
```json
{
"tool_name": "create_appointment",
"arguments": {
"appointment_date": "2026-05-20",
"appointment_time": "10:00",
"appointment_type_id": "apt_new_consult_30min",
"summary": "New patient consultation — concerns about a mole on left arm.",
"phone_number": "+15551234567"
}
}
```
--------------------------------
### create_lead
Source: https://docs.insighto.ai/tools/zoho
Creates a new Lead in Zoho CRM with source automatically set to Insighto.
```APIDOC
## create_lead
### Description
Creates a new Lead in Zoho CRM with source automatically set to Insighto.
### Arguments
- `first_name` (string, required) - First name of the lead.
- `last_name` (string, required) - Last name of the lead.
- `email` (string, required) - Email address of the lead.
- `phone` (string, optional) - Phone number of the lead.
### Returns
- `"Lead added successfully."` on success.
```
--------------------------------
### GET /api/v1/form/list
Source: https://docs.insighto.ai/api/read-firm-list-api-v-1-form-list-get
Retrieves forms. Scoped to the active team (X-Team-Id header) when set, otherwise personal.
```APIDOC
## GET /api/v1/form/list
### Description
Retrieve forms. Scoped to the active team (X-Team-Id header) when set, otherwise personal.
### Method
GET
### Endpoint
/api/v1/form/list
### Parameters
#### Header Parameters
- **X-Team-Id** (string) - Optional - The team ID to scope the request to.
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### GET /api/v1/campaign/list
Source: https://docs.insighto.ai/api/read-campaign-list-api-v-1-campaign-list-get
Retrieve Campaigns. Scoped to the active team (X-Team-Id header) when set, otherwise personal.
```APIDOC
## GET /api/v1/campaign/list
### Description
Retrieve Campaigns. Scoped to the active team (X-Team-Id header) when set, otherwise personal.
### Method
GET
### Endpoint
/api/v1/campaign/list
### Parameters
#### Headers
- **X-Team-Id** (string) - Optional - The team ID to scope the campaign list to. If not set, personal campaigns are returned.
### Response
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### Authenticate with API key using curl
Source: https://docs.insighto.ai/settings/api-tokens
Example curl command that passes the API key as a query parameter. Note: Insighto uses ?api_key=..., not Authorization: Bearer headers.
```bash
curl "https://api.insighto.ai/api/v1/contact?api_key=in-XXXX..."
```
--------------------------------
### GET /api/v1/workflow/:workflow_id/runs
Source: https://docs.insighto.ai/api/list-runs-api-v-1-workflow-workflow-id-runs-get
Lists all runs for a specified workflow. The workflow ID is provided as a path parameter.
```APIDOC
## GET /api/v1/workflow/:workflow_id/runs
### Description
Lists all runs for a specified workflow.
### Method
GET
### Endpoint
/api/v1/workflow/:workflow_id/runs
### Parameters
#### Path Parameters
- **workflow_id** (string) - Required - The unique identifier of the workflow.
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### POST /api/v1/user/UserWhatsApp
Source: https://docs.insighto.ai/api/create-userwhatsapp-api-v-1-user-user-whats-app-post
Creates a new userwhatsapp. The request body and response schema are not detailed in the source, but the endpoint accepts a POST request and returns a 200 status on success or a 422 validation error.
```APIDOC
## POST /api/v1/user/UserWhatsApp
### Description
Create new userwhatsapp
### Method
POST
### Endpoint
/api/v1/user/UserWhatsApp
### Responses
#### Success Response (200)
Successful Response
#### Validation Error (422)
Validation Error
```
--------------------------------
### POST /api/v1/prompt
Source: https://docs.insighto.ai/api/create-prompt-api-v-1-prompt-post
Creates a new prompt. Returns a 201 status code on success, or a 422 validation error if the request is invalid.
```APIDOC
## POST /api/v1/prompt
### Description
Create a new prompt.
### Method
POST
### Endpoint
/api/v1/prompt
### Responses
- 201: Successful Response
- 422: Validation Error
```
--------------------------------
### GET /api/v1/agency/:agency_id/staff
Source: https://docs.insighto.ai/api/list-agency-staff-api-v-1-agency-agency-id-staff-get
Lists current staff members and pending invites for an agency. Owner or admin only.
```APIDOC
## GET /api/v1/agency/:agency_id/staff
### Description
List current staff members and pending invites. Owner or admin only.
### Method
GET
### Endpoint
/api/v1/agency/:agency_id/staff
### Parameters
#### Path Parameters
- **agency_id** (string) - Required - The ID of the agency.
### Response
#### Success Response (200)
Successful Response
#### Error Response (422)
Validation Error
```