Skip to main content
All API requests require authentication using an API key. meetergo offers two types of API access depending on your use case.

API Access Types

meetergo provides two distinct API access levels, each designed for different integration scenarios:

Personal Access Token

Growth plan and aboveTied to your individual user account. Ideal for personal automations and single-user integrations.

Platform API Key

Enterprise / API PlatformFull platform access for building multi-tenant applications and managing multiple users programmatically.

Personal Access Token

A Personal Access Token is scoped to your individual user account only. It can only read and write data for the specific user who created it. Best for:
  • Zapier automations
  • Personal CRM integrations
  • Syncing with Google Sheets or Airtable
  • Individual workflow automation
Limitations:
  • Cannot create new users
  • Cannot query availability for other team members
  • Cannot create bookings on behalf of other users
  • Cannot access company-wide settings or data
Where to get it: Integrations → API (Growth plan and above)

Platform API Key

A Platform API Key provides full administrative access to your meetergo organization. It can create and manage users, access all resources, and perform operations across your entire account. Best for:
  • Building a scheduling marketplace
  • White-label integrations
  • Telehealth or coaching platforms
  • Hiring and recruitment software
  • Any multi-tenant application
Capabilities:
  • Create and manage platform users programmatically
  • Access availability for all users
  • Create bookings on behalf of any user
  • Manage meeting types across the organization
  • Access webhooks and real-time events
Where to get it: Settings → API (Enterprise plan or API Platform access)
Need Platform API access? Book a demo to discuss your integration requirements.

API Key Format

ak_live:<uuid>:<secret>
Example:
ak_live:01234567-89ab-cdef-1234-567890abcdef:secretpart123

Required Headers

HeaderRequiredDescription
AuthorizationYesBearer <your-api-key>
x-meetergo-api-user-idMost endpointsUUID of the user context
Content-TypePOST/PUT/PATCHapplication/json

Authorization Header

Authorization: Bearer ak_live:01234567-89ab-cdef-1234-567890abcdef:secretpart123

User Context Header

The x-meetergo-api-user-id header specifies which user’s context to use. Required for endpoints that operate on user-specific data.
x-meetergo-api-user-id: 550e8400-e29b-41d4-a716-446655440000
Get your user ID by calling /v4/user/me, or use the userId returned when creating a user.

Creating API Keys

Personal Access Token

1

Navigate to Integrations

Go to my.meetergo.com/integrations and find the API card
2

Create a new token

Click Connect and give it a descriptive name (e.g., “Zapier”, “CRM Sync”)
3

Set expiration

Choose an expiration period. Tokens expire automatically for security.
4

Copy immediately

The token is shown only once. Store it securely.

Platform API Key

1

Navigate to API Settings

Go to my.meetergo.com/admin/api-keys (Settings → API tab)
2

Create a new key

Click Create API Key and give it a descriptive name (e.g., “Production”, “Staging”)
3

Set expiration

Choose 1-365 days. Keys expire automatically for security.
4

Copy immediately

The key is shown only once. Store it securely.
API keys are shown only once. Store them in a password manager or secrets vault.

Example Request

curl -X GET "https://api.meetergo.com/v4/meeting-type" \
  -H "Authorization: Bearer ak_live:uuid:secret" \
  -H "x-meetergo-api-user-id: 550e8400-e29b-41d4-a716-446655440000"

Key Management

Rotation Strategy

Keys expire after 1-90 days. Plan rotation before expiration:
  1. Create a new key before the old one expires
  2. Update your application to use the new key
  3. Old key automatically stops working after expiration
Set calendar reminders to rotate keys before expiration.

Deactivating Keys

Temporarily disable a key without deleting it:
  1. Go to my.meetergo.com/admin/api-keys
  2. Find the key and click Deactivate
  3. Click Activate to re-enable later

Revoking Compromised Keys

If a key is compromised:
  1. Go to my.meetergo.com/admin/api-keys
  2. Click Revoke to permanently delete it
  3. Create a new key immediately
  4. Update your application

Permissions

Personal Access Token Permissions

ResourceReadWriteCreateDelete
Own user profile--
Own meeting types
Own availability
Own bookings
Other users
Company settings--
Webhooks

Platform API Key Permissions

ResourceReadWriteCreateDelete
All users
All meeting types
All availability
All bookings
Company settings--
Webhooks
Platform API Keys require the x-meetergo-api-user-id header to specify which user context to use for operations.

Error Responses

Missing Authorization Header

{
  "statusCode": 401,
  "message": "Missing authorization header",
  "error": "Unauthorized"
}

Invalid API Key

{
  "statusCode": 401,
  "message": "Invalid API key",
  "error": "Unauthorized"
}

Expired API Key

{
  "statusCode": 401,
  "message": "API key has expired",
  "error": "Unauthorized"
}

Missing User Header

{
  "statusCode": 400,
  "message": "Missing required header 'x-meetergo-api-user-id' for API key authentication",
  "error": "Bad Request"
}

Invalid User

{
  "statusCode": 500,
  "message": "API user does not belong to company",
  "error": "Internal Server Error"
}

Security Best Practices

Never expose API keys in client-side code, public repositories, or logs.

Do

  • Store keys in environment variables or secrets managers
  • Use different keys for development and production
  • Rotate keys regularly (before the 90-day expiration)
  • Monitor API usage for unexpected activity
  • Use HTTPS for all requests (enforced by our API)

Don’t

  • Commit keys to version control
  • Share keys via email, chat, or insecure channels
  • Log API keys in application logs
  • Use the same key across unrelated applications
  • Store keys in frontend JavaScript

Environment Variable Example

# .env (never commit this file)
MEETERGO_API_KEY=ak_live:01234567-89ab-cdef-1234-567890abcdef:secretpart123
// Node.js
const apiKey = process.env.MEETERGO_API_KEY;

const response = await fetch('https://api.meetergo.com/v4/user/me', {
  headers: {
    'Authorization': `Bearer ${apiKey}`
  }
});
# Python
import os
import requests

api_key = os.environ['MEETERGO_API_KEY']

response = requests.get(
    'https://api.meetergo.com/v4/user/me',
    headers={'Authorization': f'Bearer {api_key}'}
)