curl --request GET \
--url https://app.famulor.io/api/v1/bookings \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.famulor.io/api/v1/bookings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.famulor.io/api/v1/bookings', 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.famulor.io/api/v1/bookings",
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.famulor.io/api/v1/bookings"
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.famulor.io/api/v1/bookings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.io/api/v1/bookings")
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{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type_name": "<string>",
"event_type_slug": "<string>",
"invitee_name": "<string>",
"invitee_email": "<string>",
"invitee_phone": "<string>",
"invitee_timezone": "<string>",
"start_at": "2023-11-07T05:31:56Z",
"end_at": "2023-11-07T05:31:56Z",
"status": "confirmed",
"source": "web",
"call_id": "<string>",
"notes": "<string>",
"answers": {},
"created_at": "2023-11-07T05:31:56Z"
}
]
}List bookings
List bookings of the native booking engine. Bookings are created by the public booking page, by assistants mid-call (book_appointment), via the public page API, or by POST /bookings — which also supports a staff override outside the event type’s open times. Use view for the dashboard-style lists, or status for an exact status; they cannot be combined.
Required scope: bookings:read (keys without scope restrictions have full access).
curl --request GET \
--url https://app.famulor.io/api/v1/bookings \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.famulor.io/api/v1/bookings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.famulor.io/api/v1/bookings', 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.famulor.io/api/v1/bookings",
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.famulor.io/api/v1/bookings"
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.famulor.io/api/v1/bookings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.io/api/v1/bookings")
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{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"event_type_name": "<string>",
"event_type_slug": "<string>",
"invitee_name": "<string>",
"invitee_email": "<string>",
"invitee_phone": "<string>",
"invitee_timezone": "<string>",
"start_at": "2023-11-07T05:31:56Z",
"end_at": "2023-11-07T05:31:56Z",
"status": "confirmed",
"source": "web",
"call_id": "<string>",
"notes": "<string>",
"answers": {},
"created_at": "2023-11-07T05:31:56Z"
}
]
}Authorizations
API key (fam_..., created under Settings → API Keys) or an OAuth 2.0 access token (fam_at_...). REST operations also require API Access for the credential's workspace. Keys can be restricted to scopes such as assistants:read, calls:write, campaigns:write, automations:read, dashboards:read, dashboards:write, leads:write, segments:write, loop:read, loop:write, phone_numbers:write, sip_trunks:write, knowledge:write, voices:read, billing:read, billing:write, settings:write, platform:read, platform:write; a *:write scope implies the matching *:read. Automation and dashboard endpoints also accept the legacy calls:* scope. Keys without scope restrictions have full access within the workspace's available capabilities.
Query Parameters
Filter by event type.
Filter by exact status. Cannot be combined with view.
confirmed, cancelled, completed, no_show Filter by booking source.
web, call, api, manual Dashboard-style booking view. Cannot be combined with status.
upcoming, unconfirmed, recurring, past, cancelled Only bookings with start_at >= from.
Only bookings with start_at <= to.
x <= 200Response
Bookings (paginated; meta.pagination.total carries the total count).
Show child attributes
Show child attributes