Authentication Issues
401 Unauthorized
Symptoms: API returns401 Unauthorized
Causes & Solutions:
Invalid API key format
Invalid API key format
API keys must follow the format:
ak_live:<uuid>:<secret>Expired API key
Expired API key
API keys have mandatory expiration dates (1-90 days). Check when your key was created and generate a new one if expired.
Deactivated key
Deactivated key
Keys can be deactivated in the dashboard. Check my.meetergo.com/admin/api-keys to verify your key is active.
400 Missing x-meetergo-api-user-id Header
Symptoms: API returns400 Bad Request with message about missing header
Solution: Most endpoints require the x-meetergo-api-user-id header:
Availability Issues
No Available Slots Returned
Symptoms:GET /v4/booking-availability returns empty availableSlots
Date range is in the past
Date range is in the past
Ensure
start and end dates are in the future:No availability configured
No availability configured
The user may not have availability set up. Check their availability:
Calendar is fully booked
Calendar is fully booked
The host’s calendar may be full. Try a longer date range or use This returns blocked timeslots with reasons.
troubleshoot: true:Minimum notice period
Minimum notice period
The meeting type may have a minimum notice period. If it’s set to 24 hours, slots within the next 24 hours won’t appear.
Buffer times
Buffer times
Buffer times before/after meetings reduce available slots. A 30-minute meeting with 15-minute buffers needs 60 minutes of free time.
Slots Show Wrong Times
Symptoms: Available slots don’t match expected availabilityTimezone mismatch
Timezone mismatch
All API times are in UTC by default. Specify timezone if needed:
Calendar sync delay
Calendar sync delay
External calendar events may take a few minutes to sync. If a slot was just blocked, it might still appear available briefly.
Booking Issues
400 Bad Request on Booking
Symptoms:POST /v4/booking returns 400
Slot no longer available
Slot no longer available
The slot may have been booked by someone else. Always fetch fresh availability before booking:
Invalid attendee data
Invalid attendee data
Check attendee fields:
Phone-only booking not enabled
Phone-only booking not enabled
If booking without email, enable
allowPhoneOnlyBooking on the meeting type:Invalid start time format
Invalid start time format
Use ISO 8601 format:
Webhook Issues
Webhooks Not Received
Endpoint not reachable
Endpoint not reachable
Your webhook endpoint must be publicly accessible. Test with:
HTTPS required
HTTPS required
Webhook endpoints must use HTTPS in production.
Responding too slowly
Responding too slowly
Respond with
200 OK immediately, then process async:Wrong event types
Wrong event types
Verify your webhook is subscribed to the right events:
Duplicate Webhooks
Symptoms: Same event received multiple times Solution: Implement idempotency:Rate Limiting
429 Too Many Requests
Symptoms: API returns429 status code
Solution: Implement exponential backoff:
- 100 requests/minute per API key
- Burst allowance up to 200 requests
Common Error Codes
| Code | Meaning | Solution |
|---|---|---|
400 | Bad Request | Check request body and parameters |
401 | Unauthorized | Verify API key |
403 | Forbidden | Check permissions for the resource |
404 | Not Found | Verify ID exists |
409 | Conflict | Resource already exists or slot taken |
422 | Unprocessable | Validation failed, check field values |
429 | Rate Limited | Implement backoff, reduce request rate |
500 | Server Error | Retry later, contact support if persistent |
Getting Help
If you’re still stuck:- Check the request/response - Log full request and response bodies
- Use troubleshoot mode - Add
?troubleshoot=trueto availability calls - Test in Swagger UI - api.meetergo.com/spec/v2
- Contact support - [email protected]
- Request URL and method
- Request headers (redact API key)
- Request body
- Response status and body
- Timestamp of the request