curl --request GET \
--url https://app.famulor.io/api/v1/booking-event-types/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.famulor.io/api/v1/booking-event-types/{id}"
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/booking-event-types/{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://app.famulor.io/api/v1/booking-event-types/{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://app.famulor.io/api/v1/booking-event-types/{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://app.famulor.io/api/v1/booking-event-types/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.io/api/v1/booking-event-types/{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{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"workspace": "<string>",
"description": "<string>",
"duration_min": 242,
"timezone": "<string>",
"availability": {},
"buffer_before_min": 123,
"buffer_after_min": 123,
"min_notice_min": 123,
"max_days_ahead": 123,
"slot_increment_min": 123,
"calendar_connection_id": "<string>",
"reminder_hours": 123,
"is_active": true,
"booking_fields": [
{
"id": "<string>",
"type": "email",
"label": "<string>",
"required": true,
"placeholder": "<string>",
"options": [
"<string>"
],
"disable_if_prefilled": true
}
],
"phone_required": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"email_required": true,
"sender_email_address_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmation_email_subject": "<string>",
"confirmation_email_body": "<string>",
"email_templates": {
"cancellation": {
"subject": "<string>",
"body": "<string>"
},
"reschedule": {
"subject": "<string>",
"body": "<string>"
},
"reminder": {
"subject": "<string>",
"body": "<string>"
},
"host_confirmation": {
"subject": "<string>",
"body": "<string>"
},
"host_cancellation": {
"subject": "<string>",
"body": "<string>"
},
"host_reschedule": {
"subject": "<string>",
"body": "<string>"
}
},
"email_locale": "en",
"guest_emails_enabled": true,
"hour_cycle": "24h"
}
}Get a booking event type
Read a single event type.
Required scope: bookings:read (keys without scope restrictions have full access).
curl --request GET \
--url https://app.famulor.io/api/v1/booking-event-types/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.famulor.io/api/v1/booking-event-types/{id}"
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/booking-event-types/{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://app.famulor.io/api/v1/booking-event-types/{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://app.famulor.io/api/v1/booking-event-types/{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://app.famulor.io/api/v1/booking-event-types/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.io/api/v1/booking-event-types/{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{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"workspace": "<string>",
"description": "<string>",
"duration_min": 242,
"timezone": "<string>",
"availability": {},
"buffer_before_min": 123,
"buffer_after_min": 123,
"min_notice_min": 123,
"max_days_ahead": 123,
"slot_increment_min": 123,
"calendar_connection_id": "<string>",
"reminder_hours": 123,
"is_active": true,
"booking_fields": [
{
"id": "<string>",
"type": "email",
"label": "<string>",
"required": true,
"placeholder": "<string>",
"options": [
"<string>"
],
"disable_if_prefilled": true
}
],
"phone_required": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"email_required": true,
"sender_email_address_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"confirmation_email_subject": "<string>",
"confirmation_email_body": "<string>",
"email_templates": {
"cancellation": {
"subject": "<string>",
"body": "<string>"
},
"reschedule": {
"subject": "<string>",
"body": "<string>"
},
"reminder": {
"subject": "<string>",
"body": "<string>"
},
"host_confirmation": {
"subject": "<string>",
"body": "<string>"
},
"host_cancellation": {
"subject": "<string>",
"body": "<string>"
},
"host_reschedule": {
"subject": "<string>",
"body": "<string>"
}
},
"email_locale": "en",
"guest_emails_enabled": true,
"hour_cycle": "24h"
}
}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.
Path Parameters
Event type ID
Response
The event type.
An event type of the native booking engine. Each active event type has a public, embeddable booking page at /book/{workspace}/{slug}.
Show child attributes
Show child attributes