List Scheduling Pages
Retrieve a paginated list of scheduling pages (event types) in your workspace, including title, slug, duration, and active status.
curl --request GET \
--url https://api.zeeg.me/v2/event-types \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zeeg.me/v2/event-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zeeg.me/v2/event-types', 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.zeeg.me/v2/event-types",
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://api.zeeg.me/v2/event-types"
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://api.zeeg.me/v2/event-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeeg.me/v2/event-types")
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{
"collection": [
{
"uri": "https://api.zeeg.me/v2/event-types/80f46bf5-eb01-4c07-960e-a9a3e18aae5e",
"uuid": "80f46bf5-eb01-4c07-960e-a9a3e18aae5e",
"title": "30-Minute Discovery Call",
"type": "ONE_ON_ONE",
"slug": "30min-discovery-call",
"schedulingUrl": "https://zeeg.me/lena-meier/30min-discovery-call",
"isActive": true,
"duration": 30,
"eventDurations": [
{
"minutes": 30,
"default": true
}
],
"profile": {
"type": "User",
"firstName": "Lena",
"lastName": "Meier",
"slug": "lena-meier",
"url": "https://zeeg.me/lena-meier",
"avatarUrl": null,
"email": "lena.meier@horizondigital.de"
},
"description": "<p>Let's connect for a quick 30-minute discovery call to explore how we can help your business grow.</p>",
"color": "2196f3",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": false,
"inviteeQuestions": [
{
"id": 1,
"order": 1,
"question": "What would you like to discuss?",
"isActive": true,
"isRequired": true,
"type": "TEXT_INPUT",
"options": null
}
],
"availabilityType": "shared",
"schedule": {
"uri": "https://api.zeeg.me/v2/schedules/Q1ZYo391da",
"uuid": "Q1ZYo391da",
"title": "Working hours"
}
},
{
"uri": "https://api.zeeg.me/v2/event-types/c12e6d26-1051-4e24-9380-8cca56609b9c",
"uuid": "c12e6d26-1051-4e24-9380-8cca56609b9c",
"title": "Product Demo",
"type": "ONE_ON_ONE",
"slug": "product-demo",
"schedulingUrl": "https://zeeg.me/lena-meier/product-demo",
"isActive": true,
"duration": 60,
"eventDurations": [
{
"minutes": 60,
"default": true
},
{
"minutes": 45,
"default": false
}
],
"profile": {
"type": "User",
"firstName": "Lena",
"lastName": "Meier",
"slug": "lena-meier",
"url": "https://zeeg.me/lena-meier",
"avatarUrl": null,
"email": "lena.meier@horizondigital.de"
},
"description": "<p>See our product in action with a comprehensive demo tailored to your needs.</p>",
"color": "4caf50",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": true,
"inviteeQuestions": [
{
"id": 2,
"order": 1,
"question": "What is your company size?",
"isActive": true,
"isRequired": true,
"type": "RADIO_INPUT",
"options": [
"1-10",
"11-50",
"51-200",
"200+"
]
},
{
"id": 3,
"order": 2,
"question": "Please share anything that will help prepare for our meeting.",
"isActive": true,
"isRequired": false,
"type": "TEXT_INPUT",
"options": null
}
],
"availabilityType": "shared",
"schedule": {
"uri": "https://api.zeeg.me/v2/schedules/Q1ZYo391da",
"uuid": "Q1ZYo391da",
"title": "Working hours"
}
},
{
"uri": "https://api.zeeg.me/v2/event-types/3f8a1c2d-5b6e-4f7a-9c0d-1e2f3a4b5c6d",
"uuid": "3f8a1c2d-5b6e-4f7a-9c0d-1e2f3a4b5c6d",
"title": "Kostenloses Erstgespräch",
"type": "ROUND_ROBIN",
"slug": "erstgespraech",
"schedulingUrl": "https://zeeg.me/R/erstgespraech",
"isActive": true,
"duration": 45,
"eventDurations": [
{
"minutes": 45,
"default": true
}
],
"profile": {
"type": "Organization",
"id": 1842,
"title": "Horizon Digital GmbH",
"logoUrl": null
},
"description": null,
"color": "2196f3",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": false,
"inviteeQuestions": [],
"availabilityType": "per_host",
"schedule": null
},
{
"uri": "https://api.zeeg.me/v2/event-types/9b2d3c4e-5f6a-4b7c-8d9e-0a1b2c3d4e5f",
"uuid": "9b2d3c4e-5f6a-4b7c-8d9e-0a1b2c3d4e5f",
"title": "Team Onboarding Session",
"type": "COLLECTIVE",
"slug": "team-onboarding",
"schedulingUrl": "https://zeeg.me/C/team-onboarding",
"isActive": true,
"duration": 60,
"eventDurations": [
{
"minutes": 60,
"default": true
}
],
"profile": {
"type": "Organization",
"id": 1842,
"title": "Horizon Digital GmbH",
"logoUrl": null
},
"description": null,
"color": "4caf50",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": false,
"inviteeQuestions": [],
"availabilityType": "per_host",
"schedule": null
}
],
"pagination": {
"total": 4,
"count": 4,
"totalPages": 1,
"previousPage": null,
"currentPage": 1,
"nextPage": null
}
}{
"message": "Unauthenticated."
}{
"success": false,
"message": "You cannot access this resource.",
"data": [],
"status": 403
}{
"message": "Provide only one of userSlug, email, or publicId.",
"errors": {
"filter": [
"Provide only one of userSlug, email, or publicId."
]
}
}Authorizations
Query Parameters
Filter for scheduling pages of a specific user in your organization by slug. Only usable with an organization admin/owner token. Mutually exclusive with email and publicId.
"lena-meier"
Filter for scheduling pages of a specific user in your organization by email. Case-insensitive. Only usable with an organization admin/owner token. Mutually exclusive with userSlug and publicId.
"lena@acme.com"
Filter for scheduling pages of a specific user in your organization by their stable public identifier. Case-insensitive. Only usable with an organization admin/owner token. Mutually exclusive with userSlug and email.
"aBc123"
Limit the number of returned results per page.
1 <= x <= 10010
Page number for paginated results.
x >= 1Response
OK
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Numeric ID of the question, used when submitting answers via the booking API.
Where the availability schedule for this scheduling page lives. shared — one schedule is set on the page itself and applies to everyone; see schedule. per_host — each host has their own schedule for this page (COLLECTIVE / ROUND_ROBIN); the per-host schedules are returned on the single-page endpoint in hosts[].schedule.
shared, per_host Reference to the page-level availability schedule shared by all hosts. null when availabilityType is per_host. In list responses this is a reference only; the single-page endpoint inlines the full schedule (hours and overrides).
Hide child attributes
Hide child attributes
Total number of records.
x >= 0Number of records per page.
x >= 0Total number of pages.
x >= 0Current page number.
x >= 1Link to previous page, or null.
"/v2/event-types?page=1"
Link to next page, or null.
"/v2/event-types?page=3"
curl --request GET \
--url https://api.zeeg.me/v2/event-types \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zeeg.me/v2/event-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zeeg.me/v2/event-types', 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.zeeg.me/v2/event-types",
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://api.zeeg.me/v2/event-types"
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://api.zeeg.me/v2/event-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeeg.me/v2/event-types")
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{
"collection": [
{
"uri": "https://api.zeeg.me/v2/event-types/80f46bf5-eb01-4c07-960e-a9a3e18aae5e",
"uuid": "80f46bf5-eb01-4c07-960e-a9a3e18aae5e",
"title": "30-Minute Discovery Call",
"type": "ONE_ON_ONE",
"slug": "30min-discovery-call",
"schedulingUrl": "https://zeeg.me/lena-meier/30min-discovery-call",
"isActive": true,
"duration": 30,
"eventDurations": [
{
"minutes": 30,
"default": true
}
],
"profile": {
"type": "User",
"firstName": "Lena",
"lastName": "Meier",
"slug": "lena-meier",
"url": "https://zeeg.me/lena-meier",
"avatarUrl": null,
"email": "lena.meier@horizondigital.de"
},
"description": "<p>Let's connect for a quick 30-minute discovery call to explore how we can help your business grow.</p>",
"color": "2196f3",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": false,
"inviteeQuestions": [
{
"id": 1,
"order": 1,
"question": "What would you like to discuss?",
"isActive": true,
"isRequired": true,
"type": "TEXT_INPUT",
"options": null
}
],
"availabilityType": "shared",
"schedule": {
"uri": "https://api.zeeg.me/v2/schedules/Q1ZYo391da",
"uuid": "Q1ZYo391da",
"title": "Working hours"
}
},
{
"uri": "https://api.zeeg.me/v2/event-types/c12e6d26-1051-4e24-9380-8cca56609b9c",
"uuid": "c12e6d26-1051-4e24-9380-8cca56609b9c",
"title": "Product Demo",
"type": "ONE_ON_ONE",
"slug": "product-demo",
"schedulingUrl": "https://zeeg.me/lena-meier/product-demo",
"isActive": true,
"duration": 60,
"eventDurations": [
{
"minutes": 60,
"default": true
},
{
"minutes": 45,
"default": false
}
],
"profile": {
"type": "User",
"firstName": "Lena",
"lastName": "Meier",
"slug": "lena-meier",
"url": "https://zeeg.me/lena-meier",
"avatarUrl": null,
"email": "lena.meier@horizondigital.de"
},
"description": "<p>See our product in action with a comprehensive demo tailored to your needs.</p>",
"color": "4caf50",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": true,
"inviteeQuestions": [
{
"id": 2,
"order": 1,
"question": "What is your company size?",
"isActive": true,
"isRequired": true,
"type": "RADIO_INPUT",
"options": [
"1-10",
"11-50",
"51-200",
"200+"
]
},
{
"id": 3,
"order": 2,
"question": "Please share anything that will help prepare for our meeting.",
"isActive": true,
"isRequired": false,
"type": "TEXT_INPUT",
"options": null
}
],
"availabilityType": "shared",
"schedule": {
"uri": "https://api.zeeg.me/v2/schedules/Q1ZYo391da",
"uuid": "Q1ZYo391da",
"title": "Working hours"
}
},
{
"uri": "https://api.zeeg.me/v2/event-types/3f8a1c2d-5b6e-4f7a-9c0d-1e2f3a4b5c6d",
"uuid": "3f8a1c2d-5b6e-4f7a-9c0d-1e2f3a4b5c6d",
"title": "Kostenloses Erstgespräch",
"type": "ROUND_ROBIN",
"slug": "erstgespraech",
"schedulingUrl": "https://zeeg.me/R/erstgespraech",
"isActive": true,
"duration": 45,
"eventDurations": [
{
"minutes": 45,
"default": true
}
],
"profile": {
"type": "Organization",
"id": 1842,
"title": "Horizon Digital GmbH",
"logoUrl": null
},
"description": null,
"color": "2196f3",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": false,
"inviteeQuestions": [],
"availabilityType": "per_host",
"schedule": null
},
{
"uri": "https://api.zeeg.me/v2/event-types/9b2d3c4e-5f6a-4b7c-8d9e-0a1b2c3d4e5f",
"uuid": "9b2d3c4e-5f6a-4b7c-8d9e-0a1b2c3d4e5f",
"title": "Team Onboarding Session",
"type": "COLLECTIVE",
"slug": "team-onboarding",
"schedulingUrl": "https://zeeg.me/C/team-onboarding",
"isActive": true,
"duration": 60,
"eventDurations": [
{
"minutes": 60,
"default": true
}
],
"profile": {
"type": "Organization",
"id": 1842,
"title": "Horizon Digital GmbH",
"logoUrl": null
},
"description": null,
"color": "4caf50",
"maxActiveInvitees": 1,
"inviteeNameFormat": "FULL_NAME",
"inviteePhoneNumber": false,
"inviteeQuestions": [],
"availabilityType": "per_host",
"schedule": null
}
],
"pagination": {
"total": 4,
"count": 4,
"totalPages": 1,
"previousPage": null,
"currentPage": 1,
"nextPage": null
}
}{
"message": "Unauthenticated."
}{
"success": false,
"message": "You cannot access this resource.",
"data": [],
"status": 403
}{
"message": "Provide only one of userSlug, email, or publicId.",
"errors": {
"filter": [
"Provide only one of userSlug, email, or publicId."
]
}
}