curl --request GET \
--url https://{host}/api/v1/conference-rooms/{id}/sessions/{sid}/meeting \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/api/v1/conference-rooms/{id}/sessions/{sid}/meeting', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/api/v1/conference-rooms/{id}/sessions/{sid}/meeting"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"agent": "<string>",
"delivered_to": [
"<string>"
],
"minutes": "<string>",
"minutes_error": "<string>",
"notes": [
{
"at": "2023-11-07T05:31:56Z",
"text": "<string>"
}
],
"replies_unheard": 123,
"room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "joining",
"turns": [
{
"at": "2023-11-07T05:31:56Z",
"role": "<string>",
"seq": 123,
"speaker": "<string>",
"text": "<string>"
}
],
"minutes_at": "2023-11-07T05:31:56Z"
}What the virtual agent made of a session
Served by the AI module. When a virtual agent’s extension was a default member and sat in this session: the minutes it wrote when the room closed, the notes it took as things were decided, who said what (each caller turn attributed to who was speaking, approximate), how many of its replies were held back because nobody had addressed it, and where the minutes were sent. 404 when no agent sat in the session, or the module is not on.
curl --request GET \
--url https://{host}/api/v1/conference-rooms/{id}/sessions/{sid}/meeting \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{host}/api/v1/conference-rooms/{id}/sessions/{sid}/meeting', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/api/v1/conference-rooms/{id}/sessions/{sid}/meeting"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"agent": "<string>",
"delivered_to": [
"<string>"
],
"minutes": "<string>",
"minutes_error": "<string>",
"notes": [
{
"at": "2023-11-07T05:31:56Z",
"text": "<string>"
}
],
"replies_unheard": 123,
"room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "joining",
"turns": [
{
"at": "2023-11-07T05:31:56Z",
"role": "<string>",
"seq": 123,
"speaker": "<string>",
"text": "<string>"
}
],
"minutes_at": "2023-11-07T05:31:56Z"
}Authorizations
Every request sends Authorization: Bearer <token>. The token is either a panel session (a JWT from /auth/login, 12 hours) or an API key ft_<id>_<secret>. An API key is accepted only from an address on its IP allowlist (403 ip_not_allowed otherwise; 403 ip_allowlist_required for an old key that has none), is limited to its rate per minute (429 rate_limited with Retry-After; X-RateLimit-Limit/Remaining/Reset on every response), and at most 60 call placements a minute.
Response
The seat.
What a virtual member made of one session (AI module).
The addresses the minutes were queued to.
Why no minutes were written, when none were.
Show child attributes
Show child attributes
Replies the model produced that nobody had asked for, held back by the floor.
joining, in_room, left Show child attributes
Show child attributes