# Zeeg Developer Hub > Zeeg Developer Hub: REST API reference, guides, and webhooks for building scheduling, booking, and AI-agent integrations on the Zeeg platform. ## Docs - [Create Outbound Call](https://developer.zeeg.me/api/ai-agent/create-outbound-call.md): Trigger an immediate or scheduled AI agent outbound phone call. Pass the destination number and any call context required by the agent. - [Create Time-Off Periods](https://developer.zeeg.me/api/availability/create-time-off-periods.md): Bulk-create time-off periods for one or more users (by email, slug, or UUID) to block their availability for vacations or absences. - [Delete Time-Off Period](https://developer.zeeg.me/api/availability/delete-time-off-period.md): Permanently delete a time-off period by UUID, restoring the user's availability for that date range. - [Get All Availability Schedules](https://developer.zeeg.me/api/availability/get-all-availability-schedules.md): Retrieve all availability schedules belonging to the authenticated user, including weekly hours, time zone, and date overrides. - [Get Availability Schedule by UUID](https://developer.zeeg.me/api/availability/get-availability-schedule-by-uuid.md): Retrieve a specific availability schedule by its UUID, with weekly working hours, time zone, and any date-specific overrides. - [Get Default Availability Schedule](https://developer.zeeg.me/api/availability/get-default-availability-schedule.md): Retrieve the user's default availability schedule, used when a scheduling page does not have a specific schedule assigned. - [List Time-Off Periods](https://developer.zeeg.me/api/availability/list-time-off-periods.md): Retrieve all time-off periods configured for users in your workspace, used to block availability during vacations or absences. - [Update Availability Schedule by UUID](https://developer.zeeg.me/api/availability/update-availability-schedule-by-uuid.md): Update a specific availability schedule by its UUID. Modify weekly working hours, time zone, or date-specific overrides. - [Update Default Availability Schedule](https://developer.zeeg.me/api/availability/update-default-availability-schedule.md): Update the user's default availability schedule, including weekly working hours, time zone, and date-specific overrides. - [Update Time-Off Period](https://developer.zeeg.me/api/availability/update-time-off-period.md): Update an existing time-off period by UUID — change start/end dates, time zone, or notes. - [Add Attribute to CRM Object](https://developer.zeeg.me/api/crm/add-attribute-to-crm-object.md): Adds a new custom attribute to an existing CRM object. Works on both standard objects (`people`, `companies`) and custom objects. - [Assert a CRM Company](https://developer.zeeg.me/api/crm/assert-a-crm-company.md): Creates or updates a CRM company using a unique attribute to find an existing match. - [Assert a CRM Record (Upsert)](https://developer.zeeg.me/api/crm/assert-a-crm-record.md): Creates or updates a record using a unique attribute to find an existing match. - [Create a CRM Company](https://developer.zeeg.me/api/crm/create-a-crm-company.md): Creates a new CRM company record. - [Create a CRM Object](https://developer.zeeg.me/api/crm/create-a-crm-object.md): Creates a new custom CRM object in your workspace. Standard objects (`people`, `companies`) are created automatically and cannot be created via this endpoint. - [Create a CRM Person](https://developer.zeeg.me/api/crm/create-a-crm-person.md): Creates a new CRM person record. - [Create a CRM Record](https://developer.zeeg.me/api/crm/create-a-crm-record.md): Creates a new record for a custom CRM object. - [Delete a CRM Company](https://developer.zeeg.me/api/crm/delete-a-crm-company.md): Permanently deletes a CRM company record and all associated data (notes, activity logs, relationships). - [Delete a CRM Object](https://developer.zeeg.me/api/crm/delete-a-crm-object.md): Permanently deletes a custom CRM object along with all its records and attribute definitions. - [Delete a CRM Person](https://developer.zeeg.me/api/crm/delete-a-crm-person.md): Permanently deletes a CRM person record and all associated data (notes, activity logs, relationships). - [Delete a CRM Record](https://developer.zeeg.me/api/crm/delete-a-crm-record.md): Permanently deletes a CRM record and all associated data (notes, activity logs). - [Get a CRM Company](https://developer.zeeg.me/api/crm/get-a-crm-company.md): Returns the full record for a single CRM company by its UUID. - [Get a CRM Object](https://developer.zeeg.me/api/crm/get-a-crm-object.md): Returns the full schema for a single CRM object identified by its slug. - [Get a CRM Person](https://developer.zeeg.me/api/crm/get-a-crm-person.md): Returns the full record for a single CRM person by their UUID. - [Get a CRM Record](https://developer.zeeg.me/api/crm/get-a-crm-record.md): Returns a single record for a custom CRM object by its ID. - [List CRM Companies](https://developer.zeeg.me/api/crm/list-crm-companies.md): Returns a paginated list of CRM company records in your workspace. - [List CRM Objects](https://developer.zeeg.me/api/crm/list-crm-objects.md): Returns all CRM objects available in your workspace — both standard objects (`people`, `companies`) and any custom objects you have created. - [List CRM People](https://developer.zeeg.me/api/crm/list-crm-people.md): Returns a paginated list of CRM person records in your workspace. - [List CRM Records](https://developer.zeeg.me/api/crm/list-crm-records.md): Returns a paginated list of records for a custom CRM object. - [CRM Overview](https://developer.zeeg.me/api/crm/overview.md): Manage contacts, companies, and custom objects through the Zeeg CRM API. - [Patch a CRM Company](https://developer.zeeg.me/api/crm/patch-a-crm-company.md): Partially updates a CRM company record. Only fields included in the request body are changed — omitted fields keep their current values. - [Patch a CRM Person](https://developer.zeeg.me/api/crm/patch-a-crm-person.md): Partially updates a CRM person record. Only fields included in the request body are changed — omitted fields keep their current values. - [Patch a CRM Record](https://developer.zeeg.me/api/crm/patch-a-crm-record.md): Partially updates a CRM record. Only attributes included in the request body are changed — omitted attributes keep their current values. - [Update a CRM Object](https://developer.zeeg.me/api/crm/update-a-crm-object.md): Partially updates a custom CRM object's metadata. Only the fields you provide are updated — omitted fields retain their current values. - [Assert a CRM Person](https://developer.zeeg.me/api/crm/update-a-crm-person.md): Creates or updates a CRM person using a unique attribute to find an existing match. - [Update CRM Object Attribute](https://developer.zeeg.me/api/crm/update-crm-object-attribute.md): Partially updates an existing attribute on a CRM object. Only fields you provide are updated — omitted fields retain their current values. - [Update a CRM Record Relation](https://developer.zeeg.me/api/crm/update-relation-crm-record.md): Adds or removes record IDs (or organization member IDs for `user` type attributes) from a relation or user attribute on a CRM record. - [Create Holiday Subscriptions](https://developer.zeeg.me/api/holidays/create-holiday-subscriptions.md): Bulk-subscribe one or more users to a holiday category so the listed dates are automatically blocked from their availability. - [Delete a Holiday Subscription](https://developer.zeeg.me/api/holidays/delete-holiday-subscription.md): Remove a holiday subscription, unblocking the previously held holiday dates from the user's availability. - [List Holiday Categories](https://developer.zeeg.me/api/holidays/list-holiday-categories.md): List the holiday categories (countries and regions) available for subscription, with localized names and identifiers. - [List Holiday Subscriptions](https://developer.zeeg.me/api/holidays/list-holiday-subscriptions.md): List the holiday subscriptions for users in your workspace, including which categories they follow and any per-holiday overrides. - [Preview Holidays for a Category](https://developer.zeeg.me/api/holidays/preview-holidays.md): Preview the upcoming holidays in a given category before creating a subscription, so users can see exactly which dates will be blocked. - [Toggle Holiday Overrides](https://developer.zeeg.me/api/holidays/toggle-holiday-overrides.md): Override individual holidays within a subscription — opt back in to specific dates without unsubscribing from the entire category. - [Create a Note](https://developer.zeeg.me/api/notes/create-a-note.md): Attach a free-form note to a scheduled event for internal context, meeting prep, or post-call follow-up. - [Delete a Note](https://developer.zeeg.me/api/notes/delete-a-note.md): Permanently delete a note attached to a scheduled event. - [Get a Note](https://developer.zeeg.me/api/notes/get-a-note.md): Retrieve a single note by its identifier, including its content, author, and the event it is attached to. - [List Notes by Event](https://developer.zeeg.me/api/notes/list-notes-by-event.md): List all notes attached to a scheduled event, ordered by creation time, including the author and timestamps. - [Update a Note](https://developer.zeeg.me/api/notes/update-a-note.md): Update the content of an existing note attached to a scheduled event. - [Cancel a Scheduled Event](https://developer.zeeg.me/api/scheduled-events/cancel-a-scheduled-event.md): Cancel a scheduled Zeeg event by UUID. Notifies all invitees and hosts and marks the event as cancelled in the system. - [Cancel a Scheduled Invitee](https://developer.zeeg.me/api/scheduled-events/cancel-a-scheduled-invitee.md): Cancel a single invitee on a scheduled event without cancelling the event itself. Useful for group bookings where one attendee drops out. - [Get a Scheduled Event](https://developer.zeeg.me/api/scheduled-events/get-a-scheduled-event.md): Retrieve full details of a single scheduled event by UUID, including invitees, hosts, location, status, and custom answers. - [Handover a Scheduled Event](https://developer.zeeg.me/api/scheduled-events/handover-a-scheduled-event.md): Reassign a scheduled Round Robin event from its current host to another eligible host in your workspace. - [List Scheduled Events](https://developer.zeeg.me/api/scheduled-events/list-scheduled-events.md): Retrieve a paginated list of scheduled events in your Zeeg workspace, with filters for status, date range, host, team, and invitee. - [Create an Event](https://developer.zeeg.me/api/scheduling-pages/create-an-event.md): Programmatically book a scheduled event on a Zeeg scheduling page by providing an invitee, a chosen time slot, and any required custom answers. - [Get a Scheduling Page](https://developer.zeeg.me/api/scheduling-pages/get-a-scheduling-page.md): Retrieve a single scheduling page by UUID, including its profile, custom invitee questions, duration, and configuration. - [Get a Single-Use Scheduling Link](https://developer.zeeg.me/api/scheduling-pages/get-a-single-use-scheduling-link.md): Generate a one-time-use scheduling link for a scheduling page so that only one invitee can book before the link expires. - [Get Available Time Slots](https://developer.zeeg.me/api/scheduling-pages/get-available-time-slots.md): Query bookable time slots for a scheduling page by owner slug and event-type slug. Used as the first step of a programmatic booking flow. - [Get Available Time Slots by Shared Link](https://developer.zeeg.me/api/scheduling-pages/get-available-time-slots-by-shared-link.md): Resolve a Zeeg shared scheduling link to its available time slots — useful when booking on behalf of an invitee from a public link. - [List Scheduling Pages](https://developer.zeeg.me/api/scheduling-pages/list-scheduling-pages.md): Retrieve a paginated list of scheduling pages (event types) in your workspace, including title, slug, duration, and active status. - [Toggle Scheduling Page Status](https://developer.zeeg.me/api/scheduling-pages/toggle-scheduling-page-status.md): Activate or deactivate a scheduling page so it stops or resumes accepting new bookings without deleting its configuration. - [Event Webhook Payload](https://developer.zeeg.me/api/webhook-payloads/event-webhook-payload.md): Schema reference for the webhook payload Zeeg sends to your callback URL when an invitee schedules, reschedules, or cancels an event. - [Routing Form Webhook Payload](https://developer.zeeg.me/api/webhook-payloads/routing-form-webhook-payload.md): Schema reference for the webhook payload Zeeg sends when a routing form is submitted, including answers and the routed scheduling page. - [Create Webhook Subscription](https://developer.zeeg.me/api/webhooks/create-webhook-subscription.md): Register a webhook callback URL to receive real-time notifications for selected Zeeg events such as bookings, cancellations, and reschedules. - [Delete Webhook Subscription](https://developer.zeeg.me/api/webhooks/delete-webhook-subscription.md): Permanently delete a webhook subscription by UUID. Zeeg will stop sending event notifications to its callback URL. - [Get Webhook Subscription](https://developer.zeeg.me/api/webhooks/get-webhook-subscription.md): Retrieve a single webhook subscription by UUID, including the callback URL, scope, and the event types it is subscribed to. - [List Webhook Subscriptions](https://developer.zeeg.me/api/webhooks/list-webhook-subscriptions.md): List all webhook subscriptions for a given scope (user, team, or organization), including their callback URLs and event types. - [Add a Team Member](https://developer.zeeg.me/api/workspaces-teams/add-a-team-member.md): Add an existing workspace user to a team by team ID. Useful for automating onboarding flows and team membership sync. - [Check Logged-in User](https://developer.zeeg.me/api/workspaces-teams/check-logged-in-user.md): Verify your API token and identify the authenticated user. Use this as the first call to confirm credentials are valid. - [List Users in a Workspace](https://developer.zeeg.me/api/workspaces-teams/list-users-in-a-workspace.md): List all users in your Zeeg workspace, including their roles, slugs, and email addresses. Supports per_page pagination. - [Authentication](https://developer.zeeg.me/authentication.md): Authenticate Zeeg API requests with Bearer tokens. Learn how to generate API keys, scope them to specific permissions, and keep your credentials secure. - [Errors](https://developer.zeeg.me/errors.md): Reference for HTTP status codes and error response shapes returned by the Zeeg API, with examples for 400, 401, 403, 404, 409, 422, and 500 errors. - [AI Agent Calls](https://developer.zeeg.me/guides/ai-agent-calls.md): Use the Zeeg API to trigger immediate or scheduled AI agent outbound phone calls, including how to pass call context and handle responses. - [Booking Flow](https://developer.zeeg.me/guides/booking-flow.md): End-to-end guide for programmatically creating bookings via the Zeeg API — fetch scheduling pages, query available time slots, and create the event. - [CRM Bulk Import](https://developer.zeeg.me/guides/crm-bulk-import.md): Migrate contacts, companies, and custom records from another CRM (HubSpot, Salesforce, Airtable, CSV) into Zeeg using the upsert endpoints — idempotent, batch-safe, and re-runnable. - [Managing Events](https://developer.zeeg.me/guides/managing-events.md): List, filter, inspect, cancel, and hand over scheduled events with the Zeeg API. Includes filtering by host, team, status, and date range. - [Managing Scheduling Pages](https://developer.zeeg.me/guides/managing-scheduling-pages.md): List, inspect, toggle, and issue single-use links for Zeeg scheduling pages programmatically. Provision pages at sign-up, sync from a master config, or generate per-customer booking links. - [Syncing Employee Time-Off](https://developer.zeeg.me/guides/syncing-employee-time-off.md): Push vacations and out-of-office periods from your HRIS (BambooHR, Personio, Workday, a spreadsheet) into Zeeg so bookings never land on someone who's away. - [Webhooks](https://developer.zeeg.me/guides/webhooks-guide.md): Subscribe to Zeeg webhooks to receive real-time notifications when events are scheduled, rescheduled, cancelled, or when routing forms are submitted. - [Introduction](https://developer.zeeg.me/introduction.md): Overview of the Zeeg REST API — endpoints, scopes, webhooks, and SDKs for building scheduling and booking integrations on the Zeeg platform. - [Pagination](https://developer.zeeg.me/pagination.md): How page-based pagination works in the Zeeg API. Use the count and page query parameters and walk through results with the nextPage cursor. - [Quickstart](https://developer.zeeg.me/quickstart.md): Make your first authenticated request to the Zeeg API in under 5 minutes — generate an API key, verify your token, and list scheduled events. - [Rate Limits](https://developer.zeeg.me/rate-limits.md): How the Zeeg API rate-limits requests, how to handle 429 responses with exponential backoff, and best practices to stay within your quota. ## OpenAPI Specs - [openapi](https://developer.zeeg.me/openapi.yaml) - [stoplight-20260323](https://developer.zeeg.me/stoplight-20260323.yaml)