AerScheduler

Members

People and the roles they hold.

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

get/orgUsers

List members

Every member of your organization with the roles they hold. This is the endpoint to use for “who is in this organization” — the per-role routes (/instructors, /students, and so on) are unimplemented stubs and are not part of this API.

Responses

200OKThe members.{ data: OrganizationUser[] }
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/orgUsers \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/users

List users

Every person in your organization, as User records. Prefer GET /orgUsers, which carries roles.

Responses

200OKThe users.{ data: User[] }
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 \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
patch/users

Update your own profile

Changes your own name, phone, or other profile fields.

Request body

Fields to change.

namestring
phonestring

Responses

200OKUpdated.
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 \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","phone":"…"}'
delete/users

Delete your own account

Soft-deletes the signed-in account.

Responses

204No ContentSuccess. No body.
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 DELETE https://api.aerscheduler.com/users \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/orgUsers/{orgUserId}

Get a member

One membership record, with roles.

Path parameters

orgUserIdrequiredintegerThe membership id. Note this is NOT the user id.

Responses

200OKSuccess.{ data: OrganizationUser }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
404Not FoundNo such member in your organization.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/orgUsers/:orgUserId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/orgUsers/preferences

Get your notification preferences

What you have opted into, for this organization.

Responses

200OKSuccess.{ 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/orgUsers/preferences \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
patch/orgUsers/preferences

Update your notification preferences

Changes only the keys you send.

Responses

200OKSuccess.{ 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 -X PATCH https://api.aerscheduler.com/orgUsers/preferences \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/users/{id}

Get a user

One person in your organization.

Path parameters

idrequiredintegerThe user id.

Responses

200OKSuccess.{ data: User }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
404Not FoundNo such user in your organization.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/users/:id \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/users/{userId}/approvedResources

List a member's approved resources

Which aircraft this person has been checked out on.

Path parameters

userIdrequiredintegerThe user id.

Responses

200OKThe approved resources.{ data: Resource[] }
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/:userId/approvedResources \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/users/{userId}/roles

Get a member's roles

The roles a person holds in your organization. Requires the admin role.

Path parameters

userIdrequiredintegerThe user id.

Responses

200OKSuccess.{ data: User }
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/:userId/roles \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
patch/users/{userId}/roles

Set a member's roles

Replaces the whole role set — send every role you want them to keep, not just the change. Requires the admin role.

Two invariants are enforced: an organization must always have at least one owner and at least one administrator, and an owner must also be an administrator.

Path parameters

userIdrequiredintegerThe user id.

Request body

The complete role set.

ownerboolean
adminboolean
dispatcherboolean
instructorboolean
studentboolean
renterboolean
technicianboolean

Responses

200OKRoles updated.
400Bad RequestThe change would leave the organization without an owner or an administrator.
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/:userId/roles \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"owner":true,"admin":true}'