import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/interviews/{interview_id}/"
payload = {
"name": "<string>",
"type": "<string>",
"type_additional_parameters": {},
"chat_history": [{}],
"chat_memory": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
type: '<string>',
type_additional_parameters: {},
chat_history: [{}],
chat_memory: {}
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/interviews/{interview_id}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PATCH \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/interviews/{interview_id}/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"type": "<string>",
"type_additional_parameters": {},
"chat_history": [
{}
],
"chat_memory": {}
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_email": "[email protected]",
"type": "<string>",
"type_additional_parameters": {},
"chat_history": [
{}
],
"chat_memory": {},
"local_documents": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"assigned_to": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assigned_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assigned_to_email": "[email protected]",
"assigned_by_email": "[email protected]",
"is_pending_invite": true,
"topics": [
{
"title": "<string>",
"description": "<string>",
"status": "open",
"skill_id": "<string>"
}
],
"campaign": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"import_info": {
"import_status": "parsing",
"participants": [
"<string>"
],
"interview_date": "2023-12-25",
"error": "<string>"
},
"meeting_info": {
"meeting_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"platform": "google_meet",
"participants": [
{
"id": "<string>",
"name": "<string>",
"is_host": true
}
],
"duration_ms": 123,
"started_at": "2023-11-07T05:31:56Z",
"url": "<string>"
},
"status": "pending",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "User not found"
}{
"error": "Authentication credentials were not provided."
}{
"error": "You do not have permission to perform this action."
}{
"error": "Not found."
}Update an interview
Partially update an interview’s writable fields — most usefully name
(rename) and campaign_id (move the interview to another campaign of the
project, or null to remove it from its campaign, so past interviews can be
re-bucketed retroactively). Lifecycle and transcript fields are read-only.
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/interviews/{interview_id}/"
payload = {
"name": "<string>",
"type": "<string>",
"type_additional_parameters": {},
"chat_history": [{}],
"chat_memory": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
type: '<string>',
type_additional_parameters: {},
chat_history: [{}],
chat_memory: {}
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/interviews/{interview_id}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PATCH \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/interviews/{interview_id}/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"type": "<string>",
"type_additional_parameters": {},
"chat_history": [
{}
],
"chat_memory": {}
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_email": "[email protected]",
"type": "<string>",
"type_additional_parameters": {},
"chat_history": [
{}
],
"chat_memory": {},
"local_documents": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"assigned_to": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assigned_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assigned_to_email": "[email protected]",
"assigned_by_email": "[email protected]",
"is_pending_invite": true,
"topics": [
{
"title": "<string>",
"description": "<string>",
"status": "open",
"skill_id": "<string>"
}
],
"campaign": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"import_info": {
"import_status": "parsing",
"participants": [
"<string>"
],
"interview_date": "2023-12-25",
"error": "<string>"
},
"meeting_info": {
"meeting_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"platform": "google_meet",
"participants": [
{
"id": "<string>",
"name": "<string>",
"is_host": true
}
],
"duration_ms": 123,
"started_at": "2023-11-07T05:31:56Z",
"url": "<string>"
},
"status": "pending",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "User not found"
}{
"error": "Authentication credentials were not provided."
}{
"error": "You do not have permission to perform this action."
}{
"error": "Not found."
}Authorizations
Use Authorization: Bearer <token>. The token is either a user token / OAuth access
token, or a service-account API key (cfk_...). A key is valid on every endpoint and
acts as its service account, an organization member with per-store permissions.
Refused keys answer 403 with Invalid API key., API key revoked.,
API key expired. or API key disabled..
Path Parameters
UUID of the project
UUID of the interview
Body
A structured interview conversation, including its full transcript.
Interview title (auto-generated from the topic when not provided).
Conversation type: "interview" (standard), "guided-interview" (multi-topic), or "imported-interview" (a read-only transcript of an interview recorded outside the platform, created via the import-transcript endpoint).
Free-form parameters associated with the conversation type.
Ordered list of transcript entries (messages, tool calls, etc.).
Assistant memory state accumulated over the conversation.
Response
Interview updated
A structured interview conversation, including its full transcript.
Interview title (auto-generated from the topic when not provided).
UUID of the user who created the interview.
Email of the user who created the interview (the importer, for imported interviews).
Conversation type: "interview" (standard), "guided-interview" (multi-topic), or "imported-interview" (a read-only transcript of an interview recorded outside the platform, created via the import-transcript endpoint).
Free-form parameters associated with the conversation type.
Ordered list of transcript entries (messages, tool calls, etc.).
Assistant memory state accumulated over the conversation.
UUIDs of documents scoped locally to this interview.
UUID of the assigned user (null while a pending invite has not yet joined).
UUID of the user who created the assignment.
Assignee email, falling back to the invite email for not-yet-joined invitees.
True when assigned to someone who has not yet joined the project.
Guided interviews only: the ordered topic agenda seeded at assign time, with per-topic progress. Empty for every other interview type.
Show child attributes
Show child attributes
Campaign this interview belongs to; null for ad hoc interviews.
Show child attributes
Show child attributes
Parse-pipeline state of an imported external transcript (interviews of type
"imported-interview"). Null on every other interview type. The raw submitted
transcript is never returned — the parsed chat_history is the transcript.
Show child attributes
Show child attributes
Set on conversations of type meeting — the transcript of a call Clara attended
as a bot (CLA-1843). The conversation is created post-call, so this block is always
complete when present. Every turn of such a transcript is role: user with a
speaker name and a meeting_offset_ms; attribute by speaker.
Show child attributes
Show child attributes
Null for imported interviews until their transcript parse completes.
pending, in_progress, completed