Permanently deletes an interview and its associated data. This action cannot be undone.
Overview
The delete interview endpoint permanently removes an interview and all its data (transcripts, recordings, analyses) from your account. This is useful for data hygiene or removing unwanted tests.
Use Cases
- Remove Canceled Interviews: Clean up interviews that were scheduled but no longer needed
- Clean Up Test Interviews: Remove test or development interviews from production
- Data Management: Permanently remove interviews and all associated data
Impact on Associated Data
Permanent Deletion: This action is irreversible. All associated data (transcripts, recordings, and analysis) will be permanently deleted.
Interview States
Interviews can be deleted regardless of their current status:
| Status | Deletable | Notes |
|---|
SCHEDULED | ✅ Yes | Interview is removed from queue automatically |
IN_PROGRESS | ✅ Yes | Call continues, but post-call processing is skipped |
COMPLETED | ✅ Yes | Interview finished, analysis available |
FAILED | ✅ Yes | Interview failed to complete |
CANCELED | ✅ Yes | Already canceled |
Scheduled Interview Behavior
When you delete a scheduled interview, it is automatically removed from
the processing queue. The call will not be initiated. Any scheduled call
attempts are marked as CANCELLED and removed from the queue.
In-Progress Interview Behavior
Deleting an in-progress interview allows the active call to continue
naturally until completion. However, all post-call processing will be
skipped when the call ends.
When you delete an in-progress interview:
- The active phone call continues until it ends naturally
- When the call ends, no post-call processing occurs:
- No transcript generation
- No analysis or scoring
- No completion webhooks
- Concurrency slots are released when the call ends
If you need the interview data (transcripts, analysis), wait until the
interview completes before deleting it. Deleting an in-progress interview
prevents any data collection for that call.
Example Usage
async function deleteInterview(interviewId) {
const response = await fetch(
`https://api.instaview.sk/interviews/${interviewId}`,
{
method: "DELETE",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
}
);
if (!response.ok) {
const error = await response.json();
throw new Error(error.message);
}
const { data } = await response.json();
return data; // Returns true on success
}
// Usage
const deleted = await deleteInterview("550e8400-e29b-41d4-a716-446655440000");
console.log("Interview deleted:", deleted);
Company Isolation
You can only delete interviews that belong to your API key’s company. Attempting to delete an interview from another company will result in a 403 Forbidden error.
Required Scopes
This endpoint requires the delete:interviews scope. Ensure your API key has this scope enabled.
Error Scenarios
| Status Code | Error | Description |
|---|
| 404 | Not Found | Interview doesn’t exist or has already been deleted |
| 403 | Forbidden | Interview belongs to a different company |
| 401 | Unauthorized | Invalid or missing API key |
| 400 | Bad Request | Invalid interview ID format |
API key for authentication using Bearer scheme
Required for ATS API keys to specify which company to access. Ignored for standard company API keys.
Interview deleted successfully
The response is of type boolean.