meetergomeetergo Help

API Documentation Overview

Build scheduling into your application with the meetergo Platform API

Updated on December 15, 2025

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

  1. Go to SettingsAPI Keys in your dashboard
  2. Click Create API Key
  3. Set an expiration period (1-90 days)
  4. Copy and securely store your key

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

HeaderRequiredDescription
AuthorizationYesBearer <your-api-key>
x-meetergo-api-user-idFor some endpointsThe 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.

MethodEndpointDescription
POST/v4/userCreate a new user
GET/v4/userList users (paginated)
GET/v4/user/meGet current user info
PATCH/v4/user/:idUpdate a user
DELETE/v4/user/:idDelete 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.

MethodEndpointDescription
POST/v4/meeting-typeCreate meeting type
GET/v4/meeting-typeList meeting types
GET/v4/meeting-type/:idGet meeting type details
PATCH/v4/meeting-type/:idUpdate meeting type
DELETE/v4/meeting-type/:idDelete meeting type

Availability

Query and manage user availability.

MethodEndpointDescription
GET/v4/availabilityGet available time slots
POST/v4/availabilityCreate availability schedule
PATCH/v4/availability/:idUpdate availability

Bookings

Create and manage appointments.

MethodEndpointDescription
POST/v4/bookingCreate a booking
GET/v4/appointmentList appointments
GET/v4/appointment/:idGet appointment details
PATCH/v4/appointment/:idUpdate appointment
DELETE/v4/appointment/:idCancel 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.

MethodEndpointDescription
GET/v4/calendar-connectionsList connected calendars
POST/v4/calendar-connectionsInitiate calendar connection
DELETE/v4/calendar-connections/:idDisconnect calendar

Webhooks

Receive real-time notifications when events occur. See Webhooks documentation for setup instructions.

Available Events

EventDescription
booking_createdNew appointment booked
booking_rescheduledAppointment time changed
booking_cancelledAppointment cancelled
new_employeeTeam 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:

CodeMeaning
200Success
201Created
400Bad Request - Check your input
401Unauthorized - Invalid API key
403Forbidden - Insufficient permissions
404Not Found
429Rate Limited
500Server 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:

Was this article helpful?

Let us know if this article answered your questions.