LogoRecal
Rest apiEndpoints

Get User Availability

GET
/v1/users/{userId}/calendar/busy

Get the busy times of a user across all their calendars. Calendars that could not be read are listed in failedCalendars and contribute no busy time, so a non-empty failedCalendars means data is a partial answer rather than a complete one — https://docs.recal.dev/core/troubleshooting

AuthorizationBearer <token>

Recal API token

In: header

Path Parameters

userId*string
Match^[A-Za-z0-9][A-Za-z0-9._-]{2,127}$

Query Parameters

end*string

End time of the time range in ISO format

Match^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
start*string

Start time of the time range in ISO format

Match^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
calendarIds?string|array<string>
provider?array<>|unknown|unknown

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/users/user_123/calendar/busy?end=string&start=string"
{  "data": [    {      "end": "2019-08-24T14:15:22Z",      "start": "2019-08-24T14:15:22Z"    }  ],  "failedCalendars": [    {      "calendarId": "string",      "message": "string",      "provider": "google",      "reason": "accessDenied"    }  ]}