Availability

When people and aircraft are free.

5 endpoints · base URL https://api.aerscheduler.com

get/availability/me

Your free windows

When you are free in a window, after bookings are subtracted.

Query parameters

startDatestringStart of the window, ISO 8601. Include an offset or Z.
endDatestringEnd of the window, ISO 8601.
reservationIdintegerWhen editing this booking, treat it as free so its own slot still appears.
applyBookingPolicybooleanWhen true (default), clip free windows by minimum notice and booking horizon.
locationIdintegerAirport location for weekly hours and booking-policy time zone.
bookingOnBehalfbooleanWhen true and the caller is staff, skip notice/horizon clipping (dispatch scheduling).
limitintegerRows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected.
offsetintegerRows to skip, for paging. Defaults to 0.
sortstringField 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

200OKSuccess.{ data: Availability[] }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/availability/me \
  -H "Authorization: Bearer $AERSCHEDULER_KEY"
get/users/availability

Get your recurring availability

Your standing weekly availability pattern, keyed by day of week , an object, not a list, so it is not paged.

Responses

200OKYour weekly pattern.{ data: object }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/users/availability \
  -H "Authorization: Bearer $AERSCHEDULER_KEY"
patch/users/availability

Set 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.

mondayAvailability[]
tuesdayAvailability[]
wednesdayAvailability[]
thursdayAvailability[]
fridayAvailability[]
saturdayAvailability[]
sundayAvailability[]

Responses

200OKUpdated.
400Bad RequestNo day was supplied. Send at least one of monday through sunday.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate 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

idrequiredintegerThe resource id.

Query parameters

startDatestringStart of the window, ISO 8601. Include an offset or Z.
endDatestringEnd of the window, ISO 8601.
reservationIdintegerWhen editing this booking, treat it as free so its own slot still appears.
applyBookingPolicybooleanWhen true (default), clip free windows by minimum notice and booking horizon.
locationIdintegerAirport location for weekly hours and booking-policy time zone.
bookingOnBehalfbooleanWhen true and the caller is staff, skip notice/horizon clipping (dispatch scheduling).
limitintegerRows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected.
offsetintegerRows to skip, for paging. Defaults to 0.
sortstringField 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

200OKSuccess.{ data: Availability[] }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate 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

userIdrequiredintegerThe user id.

Query parameters

startDatestringStart of the window, ISO 8601. Include an offset or Z.
endDatestringEnd of the window, ISO 8601.
reservationIdintegerWhen editing this booking, treat it as free so its own slot still appears.
applyBookingPolicybooleanWhen true (default), clip free windows by minimum notice and booking horizon.
locationIdintegerAirport location for weekly hours and booking-policy time zone.
bookingOnBehalfbooleanWhen true and the caller is staff, skip notice/horizon clipping (dispatch scheduling).
limitintegerRows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected.
offsetintegerRows to skip, for paging. Defaults to 0.
sortstringField 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

200OKSuccess.{ data: Availability[] }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/availability/user/:userId \
  -H "Authorization: Bearer $AERSCHEDULER_KEY"