Endpoints
Complete reference for all InsightAgent API endpoints.
Interviews
List Interviews
GET /api/interviewsQuery parameters (optional):
page
number
Page number (1-indexed)
limit
number
Results per page (max: 100)
status
string
Filter by status: NOT_SCHEDULED, SCHEDULED, IN_PROGRESS, COMPLETED
search
string
Search by interview title or expert name (case-insensitive)
Note: The IN_PROGRESS status filter also includes interviews with DIALING status.
When page and limit are provided, returns paginated response:
{
"data": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"totalPages": 8
}
}Without pagination parameters, returns a plain array of interviews.
Get Interview
Returns the full interview details including sessions with media URLs and AI-generated analysis.
Response:
Analysis Fields
summary
string | null
AI-generated executive summary of the interview
quotes
array | null
Notable quotes extracted from the expert's responses
quotes[].quote
string
Exact verbatim quote from the transcript
quotes[].speaker
string
Always expert (agent quotes are filtered out)
quotes[].context
string
Why this quote is significant
quotes[].timestamp_secs
number
Timestamp in seconds
analysisGeneratedAt
string | null
ISO8601 datetime when analysis was generated
Analysis is automatically generated when an interview completes. Fields are null for interviews that haven't been analyzed yet.
The sessions array contains all interview sessions with signed media URLs (valid for 1 hour). Use the convenience endpoints below for simpler access to the primary session's media.
Create Interview
Body:
Required fields:
interviewType- Must beFULL_INTERVIEWorVETTING_INTERVIEWtitle- Interview titlecallSubject- Subject/topic for the callquestions- Array with at least one questionexpertData.name- Expert's full nameexpertData.title- Expert's job titleexpertData.employmentHistory- At least one employment entryexpertData.employmentHistory[].title- Job title for each employment entryexpertData.employmentHistory[].company- Company name for each employment entry
Custom Variables:
customVariables- Key-value pairs for agent prompt variablesRequired variables (defined in Settings → Variables) must be provided
Returns
400 MISSING_REQUIRED_VARIABLESerror if required variables are missing
Update Interview
Delete Interview
Get Transcription
Returns the transcript from the primary session as an array of entries:
For interviews with multiple sessions, use the sessions array from the Get Interview endpoint to access individual session transcripts via their transcriptUrl.
Get Live Transcript
Returns cached transcript events for an in-progress interview. Use this to observe the conversation in real-time.
Response:
Notes:
Available for interviews with status
IN_PROGRESSorCOMPLETED(during processing)Returns
400if interview is not in progressEvents are cached temporarily during the interview
Get Audio
Returns a signed URL for the audio recording from the primary session.
Response:
The signed URL is valid for 1 hour. For interviews with multiple sessions, use the sessions array from the Get Interview endpoint to access individual session recordings.
Get Interview Stats
Returns aggregate counts of interviews by status for the current account.
Response:
notScheduled
Interviews created but not yet scheduled
scheduled
Interviews scheduled for a future time
inProgress
Interviews currently active (includes DIALING status)
completed
Finished interviews
total
Total interview count
abandoned
In-progress interviews with no activity for 5+ minutes
AI Agents
List Agents
Returns all agents available to the current account, including system default agents and custom agents.
Response:
Get Agent
Retrieve a specific agent configuration by its unique identifier.
Response:
Create Agent
Body:
Supported languages: en, es, fr, de, it, pt, pl, hi, zh, ko, ru, nl, tr, sv, id, fil, ja, uk, el, cs, fi, ro, da, bg, ms, sk, hr, ar, ta, vi, hu, no
Returns 202 Accepted - agent creation is asynchronous and creates both PHONE and WEB platform versions.
Update Agent
Update an existing agent's configuration. Creates a new version in the agent's history.
Delete Agent
Soft delete an agent (marked as inactive, not permanently removed).
Activate Agent
Set an agent as the default for its type (affects both PHONE and WEB platforms).
Get Agent Variables
Returns variables used by an agent's prompt, with their definitions and requirements.
Response:
Variables
Manage custom variables for agent prompts.
List Variables
Returns all custom variables defined for your account.
Response:
Create Variable
Body:
Variable name rules:
Must start with a letter (a-z, A-Z)
Can contain letters, numbers, and underscores
Must be unique within the account
Response: 201 Created with the created variable.
Error responses:
400 INVALID_VARIABLE_NAME- Name doesn't meet format requirements409 VARIABLE_NAME_EXISTS- A variable with this name already exists
Get Variable
Returns a specific variable with its agent usage information.
Update Variable
Body:
Notes:
The
namefield cannot be changed after creationisRequiredcan only be changed fromtruetofalse(not vice versa)
Error responses:
400 CANNOT_MAKE_VARIABLE_REQUIRED- Cannot change optional variable to required404- Variable not found
Delete Variable
Deletes a variable. Variables currently used by agent prompts cannot be deleted.
Error responses:
400 VARIABLE_IN_USE- Variable is referenced in agent prompts (includes list of agents)404- Variable not found
Auth
Get Current User
Returns the authenticated user's profile and account information.
Response:
Webhooks (Post-Interview)
Configure webhooks to receive notifications after interviews complete:
Webhook Payload
Webhook subscriptions are configured per interview via the postNotifications field.
Last updated