Availability
When people and aircraft are free.
5 endpoints · base URL https://api.aerscheduler.com
get
/availability/meYour free windows
When you are free in a window, after bookings are subtracted.
Query parameters
startDate | string | Start of the window, ISO 8601. Include an offset or Z. |
endDate | string | End of the window, ISO 8601. |
reservationId | integer | When editing this booking, treat it as free so its own slot still appears. |
applyBookingPolicy | boolean | When true (default), clip free windows by minimum notice and booking horizon. |
locationId | integer | Airport location for weekly hours and booking-policy time zone. |
bookingOnBehalf | boolean | When true and the caller is staff, skip notice/horizon clipping (dispatch scheduling). |
limit | integer | Rows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected. |
offset | integer | Rows to skip, for paging. Defaults to 0. |
sort | string | Field to order by before paging, as a dot path into the row , total, user.firstName. Omit to keep the endpoint's own order. Numbers and ISO timestamps order as numbers and instants, not as text, and empty values always sort last regardless of direction. Ordering happens before the page is cut, so it orders the whole collection rather than the page you are holding. |
order | "asc" | "desc" | asc (default) or desc. Only meaningful with sort. |
Responses
200 | OK | Success.→ { data: Availability[] } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
Example request
curl https://api.aerscheduler.com/availability/me \
-H "Authorization: Bearer $AERSCHEDULER_KEY"get
/users/availabilityGet your recurring availability
Your standing weekly availability pattern, keyed by day of week , an object, not a list, so it is not paged.
Responses
200 | OK | Your weekly pattern.→ { data: object } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
Example request
curl https://api.aerscheduler.com/users/availability \
-H "Authorization: Bearer $AERSCHEDULER_KEY"patch
/users/availabilitySet your recurring availability
Replaces your standing weekly availability. Keyed by day of week, the same shape the GET returns; send at least one day, and a day you omit is left alone. Each window is { start, end } as "HH:mm" in the organization's timezone, not an ISO timestamp.
Request body
The new pattern, by day. Omit a day to leave it unchanged.
monday | Availability[] | |
tuesday | Availability[] | |
wednesday | Availability[] | |
thursday | Availability[] | |
friday | Availability[] | |
saturday | Availability[] | |
sunday | Availability[] |
Responses
200 | OK | Updated. |
400 | Bad Request | No day was supplied. Send at least one of monday through sunday. |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
Example request
curl -X PATCH https://api.aerscheduler.com/users/availability \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"monday":[],"tuesday":[]}'get
/availability/resource/{id}A resource's free windows
Used to find an aircraft's open slots before booking.
Path parameters
idrequired | integer | The resource id. |
Query parameters
startDate | string | Start of the window, ISO 8601. Include an offset or Z. |
endDate | string | End of the window, ISO 8601. |
reservationId | integer | When editing this booking, treat it as free so its own slot still appears. |
applyBookingPolicy | boolean | When true (default), clip free windows by minimum notice and booking horizon. |
locationId | integer | Airport location for weekly hours and booking-policy time zone. |
bookingOnBehalf | boolean | When true and the caller is staff, skip notice/horizon clipping (dispatch scheduling). |
limit | integer | Rows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected. |
offset | integer | Rows to skip, for paging. Defaults to 0. |
sort | string | Field to order by before paging, as a dot path into the row , total, user.firstName. Omit to keep the endpoint's own order. Numbers and ISO timestamps order as numbers and instants, not as text, and empty values always sort last regardless of direction. Ordering happens before the page is cut, so it orders the whole collection rather than the page you are holding. |
order | "asc" | "desc" | asc (default) or desc. Only meaningful with sort. |
Responses
200 | OK | Success.→ { data: Availability[] } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
Example request
curl https://api.aerscheduler.com/availability/resource/:id \
-H "Authorization: Bearer $AERSCHEDULER_KEY"get
/availability/user/{userId}A person's free windows
Used to find an instructor's open slots.
Path parameters
userIdrequired | integer | The user id. |
Query parameters
startDate | string | Start of the window, ISO 8601. Include an offset or Z. |
endDate | string | End of the window, ISO 8601. |
reservationId | integer | When editing this booking, treat it as free so its own slot still appears. |
applyBookingPolicy | boolean | When true (default), clip free windows by minimum notice and booking horizon. |
locationId | integer | Airport location for weekly hours and booking-policy time zone. |
bookingOnBehalf | boolean | When true and the caller is staff, skip notice/horizon clipping (dispatch scheduling). |
limit | integer | Rows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected. |
offset | integer | Rows to skip, for paging. Defaults to 0. |
sort | string | Field to order by before paging, as a dot path into the row , total, user.firstName. Omit to keep the endpoint's own order. Numbers and ISO timestamps order as numbers and instants, not as text, and empty values always sort last regardless of direction. Ordering happens before the page is cut, so it orders the whole collection rather than the page you are holding. |
order | "asc" | "desc" | asc (default) or desc. Only meaningful with sort. |
Responses
200 | OK | Success.→ { data: Availability[] } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
Example request
curl https://api.aerscheduler.com/availability/user/:userId \
-H "Authorization: Bearer $AERSCHEDULER_KEY"