API Documentation Overview
Build scheduling into your application with the meetergo Platform API
The meetergo Platform API lets you integrate scheduling directly into your application. Create users, manage availability, handle bookings, and connect calendars—all programmatically.
Getting Started
1. Get API Access
The API Platform is available on eligible plans. Contact support to enable API access for your account.
2. Create an API Key
- Go to Settings → API Keys in your dashboard
- Click Create API Key
- Set an expiration period (1-90 days)
- Copy and securely store your key
API keys are shown only once. Store them securely—you cannot retrieve them later.
3. API Key Format
Your API key follows this format:
ak_live:<uuid>:<secret>
Use the full string as your Bearer token.
Authentication
All API requests require authentication via Bearer token:
curl -X GET "https://api.meetergo.com/v4/user/me" \
-H "Authorization: Bearer ak_live:uuid:secret" \
-H "x-meetergo-api-user-id: user-uuid"
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <your-api-key> |
x-meetergo-api-user-id | For some endpoints | The user ID to act on behalf of |
API Reference
Interactive API documentation is available at:
https://api.meetergo.com/spec/v2
This Swagger UI lets you explore endpoints, see request/response schemas, and test API calls directly.
Core Endpoints
Users
Manage platform users programmatically.
| Method | Endpoint | Description |
|---|---|---|
POST | /v4/user | Create a new user |
GET | /v4/user | List users (paginated) |
GET | /v4/user/me | Get current user info |
PATCH | /v4/user/:id | Update a user |
DELETE | /v4/user/:id | Delete a user |
Create User Example
curl -X POST "https://api.meetergo.com/v4/user" \
-H "Authorization: Bearer ak_live:uuid:secret" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"firstname": "John",
"lastname": "Doe",
"timezone": "Europe/Berlin"
}'
Meeting Types
Manage bookable meeting types.
| Method | Endpoint | Description |
|---|---|---|
POST | /v4/meeting-type | Create meeting type |
GET | /v4/meeting-type | List meeting types |
GET | /v4/meeting-type/:id | Get meeting type details |
PATCH | /v4/meeting-type/:id | Update meeting type |
DELETE | /v4/meeting-type/:id | Delete meeting type |
Availability
Query and manage user availability.
| Method | Endpoint | Description |
|---|---|---|
GET | /v4/availability | Get available time slots |
POST | /v4/availability | Create availability schedule |
PATCH | /v4/availability/:id | Update availability |
Bookings
Create and manage appointments.
| Method | Endpoint | Description |
|---|---|---|
POST | /v4/booking | Create a booking |
GET | /v4/appointment | List appointments |
GET | /v4/appointment/:id | Get appointment details |
PATCH | /v4/appointment/:id | Update appointment |
DELETE | /v4/appointment/:id | Cancel appointment |
Create Booking Example
curl -X POST "https://api.meetergo.com/v4/booking" \
-H "Content-Type: application/json" \
-d '{
"meetingTypeId": "meeting-type-uuid",
"start": "2025-01-15T10:00:00Z",
"attendee": {
"email": "attendee@example.com",
"firstname": "Jane",
"lastname": "Smith"
}
}'
Calendar Connections
Connect and manage calendar integrations.
| Method | Endpoint | Description |
|---|---|---|
GET | /v4/calendar-connections | List connected calendars |
POST | /v4/calendar-connections | Initiate calendar connection |
DELETE | /v4/calendar-connections/:id | Disconnect calendar |
Webhooks
Receive real-time notifications when events occur. See Webhooks documentation for setup instructions.
Available Events
| Event | Description |
|---|---|
booking_created | New appointment booked |
booking_rescheduled | Appointment time changed |
booking_cancelled | Appointment cancelled |
new_employee | Team member added |
Webhook Payload Example
{
"event": "booking_created",
"timestamp": "2025-01-15T10:30:00Z",
"data": {
"appointmentId": "uuid",
"meetingTypeId": "uuid",
"start": "2025-01-15T10:00:00Z",
"end": "2025-01-15T10:30:00Z",
"attendee": {
"email": "attendee@example.com",
"firstname": "Jane",
"lastname": "Smith"
}
}
}
Usage-Based Billing
API Platform usage is metered. Each booking created via API counts toward your usage. Monitor your usage in the dashboard under Billing.
Rate Limits
To ensure platform stability:
- Standard rate: 100 requests per minute per API key
- Burst allowance: Short bursts up to 200 requests
When rate limited, you'll receive a 429 Too Many Requests response. Implement exponential backoff for retries.
Error Handling
The API returns standard HTTP status codes:
| Code | Meaning |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request - Check your input |
401 | Unauthorized - Invalid API key |
403 | Forbidden - Insufficient permissions |
404 | Not Found |
429 | Rate Limited |
500 | Server Error |
Error Response Format
{
"statusCode": 400,
"message": "Validation failed",
"errors": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
Best Practices
Secure Your API Keys
- Never expose keys in client-side code
- Use environment variables
- Rotate keys regularly
- Use the minimum required permissions
Handle Errors Gracefully
- Implement retry logic with exponential backoff
- Log errors for debugging
- Provide meaningful error messages to users
Optimize Performance
- Cache responses when appropriate
- Use pagination for large datasets
- Batch operations when possible
SDKs and Libraries
While we don't provide official SDKs yet, the OpenAPI specification at /spec/v2 can generate client libraries for most languages using tools like:
Support
For API-related questions:
- Check the interactive docs at
/spec/v2 - Contact support via chat
- Email api-support@meetergo.com
Related Articles
Was this article helpful?
Let us know if this article answered your questions.