API Documentation
RESTful API for managing bookings, event types, availability, and webhooks
Introduction
The Magpie Meetings API provides programmatic access to your scheduling data. All API requests use JSON and follow REST conventions.
Base URL: https://magpiemeetings.com/api/v1
Authentication
All API requests require authentication using a Bearer token. Include your API token in the Authorization header:
Generate API tokens from your account settings.
Quick Start
Here's a simple example to list your bookings:
Bookings
Manage scheduled meetings and appointments.
/bookings
List all bookings
Query Parameters
| Parameter | Type | Description |
|---|---|---|
status |
string | Filter by status: confirmed, cancelled, or completed |
start_time_gte |
datetime | Filter bookings starting on or after this time |
start_time_lte |
datetime | Filter bookings starting on or before this time |
updated_since |
datetime | Filter bookings updated since this time |
include_archived |
boolean | Include archived bookings (default: false) |
limit |
integer | Results per page (default: 50, max: 200) |
offset |
integer | Pagination offset (default: 0) |
/bookings
Create a new booking
Request Body
/bookings/{uuid}
Get a specific booking
/bookings/{uuid}
Update a booking
/bookings/{uuid}
Delete a booking
/bookings/{uuid}/cancel
Cancel a booking
/bookings/{uuid}/confirm
Confirm a booking as the host
/bookings/{uuid}/archive
Archive a booking
Event Types
Configure different types of meetings you offer.
/event-types
List all event types
Query Parameters
| Parameter | Type | Description |
|---|---|---|
include_inactive |
boolean | Include inactive event types (default: false) |
/event-types
Create a new event type
Request Body
/event-types/{uuid}
Update an event type
/event-types/{uuid}
Delete an event type
Availability
Manage your weekly availability schedule.
/availability
List all availability windows
/availability
Add an availability window
Request Body
Note: day_of_week is 0 (Sunday) through 6 (Saturday)
/availability/slots
Get available time slots for a specific date
Query Parameters
| Parameter | Type | Description |
|---|---|---|
date |
string | Date in YYYY-MM-DD format (required) |
duration_minutes |
integer | Meeting duration in minutes (required) |
/availability/{uuid}
Delete an availability window
/availability/clear
Clear all availability windows
Users
Get information about the authenticated user.
/users/me
Get current user information
Webhooks
Configure webhooks to receive real-time notifications about events.
/webhooks
List all webhooks
/webhooks
Create a new webhook
Request Body
/webhooks/{id}
Update a webhook
Request Body
/webhooks/{id}
Delete a webhook
Webhook Signature Verification
All webhook requests include an X-Magpie-Signature header for verification:
Verify by computing HMAC-SHA256 of timestamp.body using your webhook secret.
Webhook Events
Available event types for webhook subscriptions:
Booking Events
booking.created- A new booking was createdbooking.updated- A booking was updatedbooking.rescheduled- A booking time was changedbooking.cancelled- A booking was cancelledbooking.confirmed- A booking was confirmed by the hostbooking.deleted- A booking was deletedbooking.archived- A booking was archived
Event Type Events
event-type.created- A new event type was createdevent-type.updated- An event type was updatedevent-type.deleted- An event type was deleted
Webhook Payload Structure
OpenAPI Specification
Download the complete machine-readable API specification:
Use this specification with tools like Postman, Swagger UI, or to generate client libraries.