curl --request GET \
--url https://api.cal.com/v2/events/{uuid}/co-hosts \
--header 'Authorization: <authorization>'import requests
url = "https://api.cal.com/v2/events/{uuid}/co-hosts"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.cal.com/v2/events/{uuid}/co-hosts', 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.cal.com/v2/events/{uuid}/co-hosts",
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: <authorization>"
],
]);
$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.cal.com/v2/events/{uuid}/co-hosts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.cal.com/v2/events/{uuid}/co-hosts")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/events/{uuid}/co-hosts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"status": "PENDING",
"name": "<string>",
"avatarUrl": "<string>"
}
]
}List an Event's co-hosts
Returns the Event’s co-hosts in their display order, with pending and declined invitations alongside accepted co-hosts.
Co-hosts are people invited by email to help run the Event without joining the owning team. Unlike hosts — the owner and the team members on the Event’s host roster, who can do everything — an accepted co-host can view and edit the Event’s details and manage its guests (invite, approve, check in), but cannot publish, cancel or delete the Event, change its pricing, or manage co-hosts. An invitation grants nothing until the invitee accepts it while signed in with the invited email address.
The authenticated user must be the Event’s owner, one of its hosts, an accepted co-host, or a member of the owning team; an accepted co-host sees only the accepted co-hosts.
PBAC permission for team events: calEvent.read. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control.
If accessed using an OAuth access token, the EVENT_READ scope is required.
curl --request GET \
--url https://api.cal.com/v2/events/{uuid}/co-hosts \
--header 'Authorization: <authorization>'import requests
url = "https://api.cal.com/v2/events/{uuid}/co-hosts"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.cal.com/v2/events/{uuid}/co-hosts', 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.cal.com/v2/events/{uuid}/co-hosts",
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: <authorization>"
],
]);
$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.cal.com/v2/events/{uuid}/co-hosts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.cal.com/v2/events/{uuid}/co-hosts")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/events/{uuid}/co-hosts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"status": "PENDING",
"name": "<string>",
"avatarUrl": "<string>"
}
]
}Headers
value must be Bearer <token> where <token> is api key prefixed with cal_, managed user access token, or OAuth access token
Path Parameters
Event UUID. Accepts the canonical UUID (e.g. 018ff5cd-6dc4-7d57-bcbc-374702ca8b38) or its short-uuid (Flickr Base58) form (e.g. 1cbZYoAFoJdwqN4tixezd5).
Was this page helpful?