Get routing form responses
curl --request GET \
--url https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses \
--header 'Authorization: <authorization>'import requests
url = "https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses"
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/organizations/{orgId}/routing-forms/{routingFormId}/responses', 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/organizations/{orgId}/routing-forms/{routingFormId}/responses",
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/organizations/{orgId}/routing-forms/{routingFormId}/responses"
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/organizations/{orgId}/routing-forms/{routingFormId}/responses")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses")
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": 123,
"formId": "<string>",
"formFillerId": "<string>",
"routedToBookingUid": "<string>",
"response": {
"f00b26df-f54b-4985-8d98-17c5482c6a24": {
"label": "participant",
"value": "mamut"
}
},
"createdAt": "2023-11-07T05:31:56Z"
}
]
}Routing Forms
Get routing form responses
Required membership role: org admin. PBAC permission: routingForm.readResponsePii. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the ORG_ROUTING_FORM_READ scope is required.
GET
/
v2
/
organizations
/
{orgId}
/
routing-forms
/
{routingFormId}
/
responses
Get routing form responses
curl --request GET \
--url https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses \
--header 'Authorization: <authorization>'import requests
url = "https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses"
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/organizations/{orgId}/routing-forms/{routingFormId}/responses', 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/organizations/{orgId}/routing-forms/{routingFormId}/responses",
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/organizations/{orgId}/routing-forms/{routingFormId}/responses"
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/organizations/{orgId}/routing-forms/{routingFormId}/responses")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses")
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": 123,
"formId": "<string>",
"formFillerId": "<string>",
"routedToBookingUid": "<string>",
"response": {
"f00b26df-f54b-4985-8d98-17c5482c6a24": {
"label": "participant",
"value": "mamut"
}
},
"createdAt": "2023-11-07T05:31:56Z"
}
]
}Headers
value must be Bearer <token> where <token> is api key prefixed with cal_
Query Parameters
Number of responses to skip
Number of responses to take
Sort by creation time
Available options:
asc, desc Sort by update time
Available options:
asc, desc Filter by responses created after this date
Filter by responses created before this date
Filter by responses created after this date
Filter by responses updated before this date
Filter by responses routed to a specific booking
Was this page helpful?