curl --request GET \
--url https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"attendees": [
{
"email": "<string>",
"name": "<string>"
}
],
"calendar_event": {
"id": "<string>",
"invitees": [
{
"email": "<string>",
"name": "<string>"
}
],
"scheduled_end_time": "2023-11-07T05:31:56Z",
"scheduled_start_time": "2023-11-07T05:31:56Z",
"title": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"email": "<string>",
"id": "<string>"
},
"summary_markdown": "<string>",
"title": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}Get a meeting
Get one meeting with its published summary, linked calendar event and attendees.
The same visibility rules as the list endpoint apply. Meetings that do not exist and meetings the organization cannot see both return 404.
curl --request GET \
--url https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wisprflow.ai/public/v1/admin/meetings/{meeting_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"attendees": [
{
"email": "<string>",
"name": "<string>"
}
],
"calendar_event": {
"id": "<string>",
"invitees": [
{
"email": "<string>",
"name": "<string>"
}
],
"scheduled_end_time": "2023-11-07T05:31:56Z",
"scheduled_start_time": "2023-11-07T05:31:56Z",
"title": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"email": "<string>",
"id": "<string>"
},
"summary_markdown": "<string>",
"title": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}Authorizations
A WorkOS-issued organization API key (sk_...) with the admin:meetings:read permission.
Path Parameters
The meeting id returned by the list endpoint.
Response
The meeting.
Meeting metadata plus the published summary, linked calendar event and attendees.
People whose voices were matched in the recording; empty until the meeting has been processed or when no voice is matched. Only calendar-provided names and emails are included.
Show child attributes
Show child attributes
The calendar event linked to the recording, or null if none is linked.
Show child attributes
Show child attributes
When the meeting was created, in UTC.
The meeting ID.
The Flow user who recorded the meeting.
Show child attributes
Show child attributes
The published meeting summary in Markdown, or null if there is none yet.
Meeting title, or null if it has none.
When the meeting was last updated, in UTC.