List meetings
curl --request GET \
--url https://app.cassidyai.com/api/admin/v1/meetings \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.cassidyai.com/api/admin/v1/meetings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.cassidyai.com/api/admin/v1/meetings', 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://app.cassidyai.com/api/admin/v1/meetings",
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://app.cassidyai.com/api/admin/v1/meetings"
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://app.cassidyai.com/api/admin/v1/meetings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.cassidyai.com/api/admin/v1/meetings")
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{
"nextCursor": "<string>",
"meetings": [
{
"id": "<string>",
"title": "<string>",
"platform": "googleMeet",
"recordingStartedAt": "<string>",
"recordingEndedAt": "<string>",
"hours": 123,
"owners": [
{
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
],
"participants": [
{
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
],
"externalParticipantCount": 0
}
]
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Meetings
List meetings
Lists recorded meetings whose recording ended in the range, newest first.
Each meeting includes
- Its title and meeting platform
- When recording started and ended, and the hours recorded
- The members who added the notetaker
- The members who joined, and how many other people joined
Filter by a person to list the meetings they joined. Page through results with cursor.
Requires the Meetings permission (meetings:read).
GET
/
meetings
List meetings
curl --request GET \
--url https://app.cassidyai.com/api/admin/v1/meetings \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.cassidyai.com/api/admin/v1/meetings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.cassidyai.com/api/admin/v1/meetings', 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://app.cassidyai.com/api/admin/v1/meetings",
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://app.cassidyai.com/api/admin/v1/meetings"
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://app.cassidyai.com/api/admin/v1/meetings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.cassidyai.com/api/admin/v1/meetings")
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{
"nextCursor": "<string>",
"meetings": [
{
"id": "<string>",
"title": "<string>",
"platform": "googleMeet",
"recordingStartedAt": "<string>",
"recordingEndedAt": "<string>",
"hours": 123,
"owners": [
{
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
],
"participants": [
{
"id": "<string>",
"name": "<string>",
"email": "<string>"
}
],
"externalParticipantCount": 0
}
]
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Authorizations
An Admin API key, starting with cas_admin_.
Query Parameters
Inclusive start of the range, by when recording ended, as an ISO 8601 timestamp.
Exclusive end of the range as an ISO 8601 timestamp. The range can span at most 31 days.
Maximum number of records to return.
Required range:
1 <= x <= 1000The nextCursor from the previous page.
Only list meetings this user joined.