Returns free/busy information for a set of calendars. Try it now.
Request
HTTP request
POST https://www.googleapis.com/calendar/v3/freeBusy
Authorization
This request allows authorization with at least one of the following scopes:
Scope |
---|
https://www.googleapis.com/auth/calendar.readonly |
https://www.googleapis.com/auth/calendar |
For more information, see the authentication and authorization page.
Request body
In the request body, supply data with the following structure:
{ "timeMin": datetime, "timeMax": datetime, "timeZone": string, "groupExpansionMax": integer, "calendarExpansionMax": integer, "items": [ { "id": string } ] }
Property name | Value | Description | Notes |
---|---|---|---|
timeMin |
datetime |
The start of the interval for the query formatted as per RFC3339. | |
timeMax |
datetime |
The end of the interval for the query formatted as per RFC3339. | |
timeZone |
string |
Time zone used in the response. Optional. The default is UTC. | |
groupExpansionMax |
integer |
Maximal number of calendar identifiers to be provided for a single group. Optional. An error is returned for a group with more members than this value. Maximum value is 100. | |
calendarExpansionMax |
integer |
Maximal number of calendars for which FreeBusy information is to be provided. Optional. Maximum value is 50. | |
items[] |
list |
List of calendars and/or groups to query. | |
items[].id |
string |
The identifier of a calendar or a group. |
Response
If successful, this method returns a response body with the following structure:
{ "kind": "calendar#freeBusy", "timeMin": datetime, "timeMax": datetime, "groups": { (key): { "errors": [ { "domain": string, "reason": string } ], "calendars": [ string ] } }, "calendars": { (key): { "errors": [ { "domain": string, "reason": string } ], "busy": [ { "start": datetime, "end": datetime } ] } } }
Property name | Value | Description | Notes |
---|---|---|---|
kind |
string |
Type of the resource ("calendar#freeBusy"). | |
timeMin |
datetime |
The start of the interval. | |
timeMax |
datetime |
The end of the interval. | |
groups |
object |
Expansion of groups. | |
groups.(key) |
nested object |
List of calendars that are members of this group. | |
groups.(key).errors[] |
list |
Optional error(s) (if computation for the group failed). | |
groups.(key).errors[].domain |
string |
Domain, or broad category, of the error. | |
groups.(key).errors[].reason |
string |
Specific reason for the error. Some of the possible values are:
|
|
groups.(key).calendars[] |
list |
List of calendars' identifiers within a group. | |
calendars |
object |
List of free/busy information for calendars. | |
calendars.(key) |
nested object |
Free/busy expansions for a single calendar. | |
calendars.(key).errors[] |
list |
Optional error(s) (if computation for the calendar failed). | |
calendars.(key).errors[].domain |
string |
Domain, or broad category, of the error. | |
calendars.(key).errors[].reason |
string |
Specific reason for the error. Some of the possible values are:
|
|
calendars.(key).busy[] |
list |
List of time ranges during which this calendar should be regarded as busy. | |
calendars.(key).busy[].start |
datetime |
The (inclusive) start of the time period. | |
calendars.(key).busy[].end |
datetime |
The (exclusive) end of the time period. |
Try it!
Use the APIs Explorer below to call this method on live data and see the response.