Skip to main content
Returns available time slots for booking a meeting with a specific meeting type and optional host selection.

Endpoint

GET /v4/booking-availability

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer <your-api-key>
This endpoint does not require the x-meetergo-api-user-id header as it queries availability for a meeting type.

Query Parameters

ParameterTypeRequiredDescription
meetingTypeIdstringYesThe ID of the meeting type to check availability for
startstringYesStart date in YYYY-MM-DD format
endstringYesEnd date in YYYY-MM-DD format
hostIdsstringNoComma-separated host user IDs. For round-robin meeting types, pass all host IDs from the queue
queueIdstringNoQueue ID for round-robin meeting types
calculationMethodstringNoanyone (default) or everyone. With anyone, a slot is available if any host is free. With everyone, all hosts must be free simultaneously
meetingDurationnumberNoDuration in minutes (for meeting types with multiple duration options)
timezonestringNoTimezone for returned slots (e.g., Europe/Berlin)
channelstringNoMeeting channel (e.g., local, zoom, phone). Uses channel-specific availability if configured
existingAppointmentIdstringNoAppointment ID when rescheduling (ignores its blocked time)
resourceChannelIdsstring[]NoFilter by specific resource channels (e.g., meeting rooms)
troubleshootbooleanNoWhen true, returns diagnostic information about blocked slots
For round-robin / queue meeting types, always pass hostIds with the team member IDs. Without hostIds, the API uses the queue’s distribution logic which may return availability for only one host.

Examples

curl -X GET "https://api.meetergo.com/v4/booking-availability?meetingTypeId=abc123&start=2024-01-15&end=2024-01-20&timezone=Europe/Berlin&hostIds=user1,user2,user3&queueId=queue123" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

Success (200 OK)

{
  "timezone": "Europe/Berlin",
  "timeframes": [
    {
      "start": "2024-01-15T08:00:00.000Z",
      "end": "2024-01-15T16:00:00.000Z"
    },
    {
      "start": "2024-01-16T08:00:00.000Z",
      "end": "2024-01-16T16:00:00.000Z"
    }
  ],
  "dates": [
    {
      "date": "2024-01-15",
      "spots": [
        { "startTime": "2024-01-15T09:00:00.000+01:00" },
        { "startTime": "2024-01-15T09:30:00.000+01:00" },
        { "startTime": "2024-01-15T10:00:00.000+01:00" },
        { "startTime": "2024-01-15T14:00:00.000+01:00" },
        { "startTime": "2024-01-15T14:30:00.000+01:00" }
      ]
    },
    {
      "date": "2024-01-16",
      "spots": [
        { "startTime": "2024-01-16T09:00:00.000+01:00" },
        { "startTime": "2024-01-16T11:00:00.000+01:00" },
        { "startTime": "2024-01-16T15:00:00.000+01:00" }
      ]
    }
  ],
  "earliestAvailableDate": "2024-01-15"
}
FieldDescription
timezoneThe timezone used for the response
timeframesArray of available time windows (UTC)
timeframes[].startStart of the available window in ISO 8601 (UTC)
timeframes[].endEnd of the available window in ISO 8601 (UTC)
datesArray of available dates with bookable spots
dates[].dateThe date in YYYY-MM-DD format
dates[].spotsArray of bookable time slots for the date
dates[].spots[].startTimeStart time in ISO 8601 with timezone offset
earliestAvailableDateThe earliest date with available spots (YYYY-MM-DD)

Error Responses

400 Bad Request - Meeting Type Not Found

{
  "statusCode": 400,
  "message": "Meeting type not found",
  "error": "Bad Request"
}

401 Unauthorized

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

Notes

  • The response respects the meeting type’s buffer times, minimum booking notice, and maximum advance booking settings
  • For round-robin meeting types, pass hostIds with all team members and queueId to get the combined availability of the team
  • When hostIds is provided, only those specific hosts’ availability is considered
  • Connected calendar events (Google Calendar, Outlook, etc.) automatically block the corresponding time slots
Don’t know your meeting type ID? Go to my.meetergo.com/meeting-types, click on a meeting type, and copy the ID from the URL.

Availability Concepts

Learn about availability schedules and configuration

Create Booking

Book a time slot