import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/meetings/"
payload = {
"meeting_url": "<string>",
"title": "<string>",
"brief": "<string>",
"scheduled_start": "2023-11-07T05:31:56Z",
"language": "fr",
"secondary_languages": ["<string>"],
"entry_point": "ui"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
meeting_url: '<string>',
title: '<string>',
brief: '<string>',
scheduled_start: '2023-11-07T05:31:56Z',
language: 'fr',
secondary_languages: ['<string>'],
entry_point: 'ui'
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/meetings/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/meetings/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"meeting_url": "<string>",
"title": "<string>",
"brief": "<string>",
"scheduled_start": "2023-11-07T05:31:56Z",
"language": "fr",
"secondary_languages": [
"<string>"
],
"entry_point": "ui"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"open_insights": {},
"project": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_email": "[email protected]",
"source": "link",
"platform": "google_meet",
"meeting_url": "<string>",
"title": "<string>",
"brief": "<string>",
"context_updated_at": "2023-11-07T05:31:56Z",
"documents": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"processing_status": "<string>",
"source_document": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"character_count": 123,
"page_count": 123,
"size_warning": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"documents_warning": "<string>",
"shared_with_count": 123,
"calendar_event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"language": "fr",
"secondary_languages": [
"en"
],
"scheduled_start": "2023-11-07T05:31:56Z",
"scheduled_end": "2023-11-07T05:31:56Z",
"join_at": "2023-11-07T05:31:56Z",
"status": "scheduled",
"last_status_sub_code": "<string>",
"error": "<string>",
"is_live": true,
"participants": [
{
"id": "<string>",
"name": "<string>",
"is_host": true
}
],
"screenshare_events": [
{}
],
"call_started_at": "2023-11-07T05:31:56Z",
"call_ended_at": "2023-11-07T05:31:56Z",
"transcript_ready_at": "2023-11-07T05:31:56Z",
"last_segment_at": "2023-11-07T05:31:56Z",
"realtime_degraded": true,
"recording_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "You do not have permission to perform this action."
}{
"detail": "<string>",
"meeting_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Send Clara to a meeting
Create a meeting from a Google Meet, Zoom or Microsoft Teams link and dispatch the
bot (joins within seconds, asks to be admitted). Admin only; requires meetings
enabled for the organisation (403 otherwise). If Clara is already joining the
same call in this store the answer is 409 with the existing meeting_id; if
another store of the organisation already sent her, the new meeting shares that
bot (no second Clara in the call). A brief books a preparation insights pass.
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/meetings/"
payload = {
"meeting_url": "<string>",
"title": "<string>",
"brief": "<string>",
"scheduled_start": "2023-11-07T05:31:56Z",
"language": "fr",
"secondary_languages": ["<string>"],
"entry_point": "ui"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
meeting_url: '<string>',
title: '<string>',
brief: '<string>',
scheduled_start: '2023-11-07T05:31:56Z',
language: 'fr',
secondary_languages: ['<string>'],
entry_point: 'ui'
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/meetings/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/meetings/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"meeting_url": "<string>",
"title": "<string>",
"brief": "<string>",
"scheduled_start": "2023-11-07T05:31:56Z",
"language": "fr",
"secondary_languages": [
"<string>"
],
"entry_point": "ui"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"open_insights": {},
"project": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_email": "[email protected]",
"source": "link",
"platform": "google_meet",
"meeting_url": "<string>",
"title": "<string>",
"brief": "<string>",
"context_updated_at": "2023-11-07T05:31:56Z",
"documents": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"processing_status": "<string>",
"source_document": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"character_count": 123,
"page_count": 123,
"size_warning": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"documents_warning": "<string>",
"shared_with_count": 123,
"calendar_event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"language": "fr",
"secondary_languages": [
"en"
],
"scheduled_start": "2023-11-07T05:31:56Z",
"scheduled_end": "2023-11-07T05:31:56Z",
"join_at": "2023-11-07T05:31:56Z",
"status": "scheduled",
"last_status_sub_code": "<string>",
"error": "<string>",
"is_live": true,
"participants": [
{
"id": "<string>",
"name": "<string>",
"is_host": true
}
],
"screenshare_events": [
{}
],
"call_started_at": "2023-11-07T05:31:56Z",
"call_ended_at": "2023-11-07T05:31:56Z",
"transcript_ready_at": "2023-11-07T05:31:56Z",
"last_segment_at": "2023-11-07T05:31:56Z",
"realtime_degraded": true,
"recording_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "You do not have permission to perform this action."
}{
"detail": "<string>",
"meeting_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}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
Body
Google Meet, Zoom or Microsoft Teams link, as given.
30020000When the meeting itself starts. Clara is scheduled to join two minutes before it, so a store can prepare a meeting ahead of time without connecting a calendar. Omitted, or already past, means join now.
ISO code of the meeting's main language, for Clara's live transcription. Omitted,
the organisation's meeting_language, else the creator's preferred language, else
English. 400 when unsupported.
"fr"
Other languages the conversation may switch to. Omitted (or null), the
organisation's meeting_secondary_languages when its meeting_language is the
default used, else none. 400 when unsupported or more than 3.
3Analytics only — which surface created the meeting.
ui, mcp Response
Meeting created and bot dispatched
A meeting Clara attends (or attended) as a bot (CLA-1843).
The transcript conversation (type meeting); null until the call is over and transcribed.
Active insights per kind (contradiction, question, action, takeaway).
Show child attributes
Show child attributes
link, calendar google_meet, zoom, microsoft_teams What the meeting is about (markdown); Clara prepares from it before the call.
Context documents attached to the meeting (local-documents/ route).
Show child attributes
Show child attributes
Other stores' meetings served by the same bot.
ISO code of the meeting's main language. Clara's live transcription is told it
and secondary_languages (open-ended detection mislabels short utterances); the
post-call transcript is re-run over the whole recording without them.
"fr"
Other languages the conversation may switch to; never the main one.
3["en"]
scheduled, joining, waiting_room, in_call_not_recording, recording, ended, processing, ready, failed, cancelled User-facing note when something went wrong ("" otherwise).
Show child attributes
Show child attributes
Recording but no live transcript for too long.
Signed inline URL of our MP4 copy, once copied. Detail only; always null in list responses.