AerScheduler

Maintenance

Squawks and maintenance reminders.

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

get/maintenance/reminders

List maintenance reminders

Live reminders across the fleet.

Responses

200OKThe reminders.{ data: MaintenanceReminder[] }
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/maintenance/reminders \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/maintenance/squawks

List squawks

Reported discrepancies. Visible to technicians, dispatchers, and administrators.

Query parameters

qstringFree-text filter. Matches the fields a person would search on.
resolvedbooleanFilter on resolved state.
resourceIdstringComma-separated resource ids.
startDatestringStart of the window, ISO 8601. Include an offset or Z.
endDatestringEnd of the window, ISO 8601.

Responses

200OKThe squawks.{ data: Squawk[] }
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/maintenance/squawks \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
post/maintenance/squawks

Report a squawk

Note the resource is given as a flat resourceId here, where reservations take a nested resource: { id }. That inconsistency is real and is on the list to reconcile.

Request body

The discrepancy.

titlerequiredstring
descriptionrequiredstring
resourceIdrequiredinteger

Responses

201CreatedSuccess.{ data: Squawk }
400Bad RequestValidation failed.
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 POST https://api.aerscheduler.com/maintenance/squawks \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"…","description":"…","resourceId":1}'
get/maintenance/reminders/{maintenanceReminderId}

Get a maintenance reminder

One reminder.

Path parameters

maintenanceReminderIdrequiredintegerThe reminder id.

Responses

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

Sign off a maintenance reminder

Marks the work done, which starts the next interval if the template repeats. POST rather than PATCH for historical reasons.

Path parameters

maintenanceReminderIdrequiredintegerThe reminder id.

Request body

Completion detail.

completedAtstring

Responses

200OKSuccess.{ data: MaintenanceReminder }
400Bad RequestValidation failed.
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 POST https://api.aerscheduler.com/maintenance/reminders/:maintenanceReminderId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"completedAt":"2026-08-04T15:00:00-06:00"}'
get/maintenance/reminders/templates

List reminder templates

Every reminder template in your organization.

Responses

200OKThe reminder templates.{ data: MaintenanceReminderTemplate[] }
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/maintenance/reminders/templates \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
post/maintenance/reminders/templates

Create a reminder template

Adds a reminder template to your organization.

Request body

The rule. Set exactly one of remindDays, remindHours, or remindDate, along with its matching *Before field. remindHours is an INTERVAL in hours (every 100), not a flag.

namerequiredstring
notesstring
repeatrequiredboolean
groundboolean
remindHoursinteger
remindHoursBeforeinteger
hourBasedOn"tach" | "hobbs"
remindDaysinteger
remindDaysBeforeinteger
remindDatestring
templateResourcesobject[]

Responses

201CreatedThe reminder template that was created.{ data: MaintenanceReminderTemplate }
400Bad RequestThe body failed validation. message says which field.
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 POST https://api.aerscheduler.com/maintenance/reminders/templates \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","repeat":true}'
get/maintenance/squawks/{squawkId}

Get a squawk

One reported discrepancy.

Path parameters

squawkIdrequiredintegerThe squawk id.

Responses

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

Act on a squawk

Resolves or reopens a squawk. This is a POST rather than a PATCH for historical reasons; an action field in the body is required.

Path parameters

squawkIdrequiredintegerThe squawk id.

Request body

What to do.

actionrequiredstring
titlestring
descriptionstring

Responses

200OKSuccess.{ data: Squawk }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
404Not FoundNo such squawk, or no action was supplied.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X POST https://api.aerscheduler.com/maintenance/squawks/:squawkId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action":"…"}'
get/maintenance/reminders/templates/{maintenanceReminderTemplateId}

Get a reminder template

Fetches one reminder template by id.

Path parameters

maintenanceReminderTemplateIdrequiredintegerThe reminder template id.

Responses

200OKSuccess.{ data: MaintenanceReminderTemplate }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
404Not FoundNo such reminder template, or it belongs to another organization.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/maintenance/reminders/templates/:maintenanceReminderTemplateId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
patch/maintenance/reminders/templates/{maintenanceReminderTemplateId}

Update a reminder template

Changes the fields you send and leaves the rest alone.

Path parameters

maintenanceReminderTemplateIdrequiredintegerThe reminder template id.

Request body

Fields to change.

namestring
notesstring
repeatboolean

Responses

200OKThe updated reminder template.{ data: MaintenanceReminderTemplate }
400Bad RequestThe body failed validation.
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/maintenance/reminders/templates/:maintenanceReminderTemplateId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","notes":"…"}'
delete/maintenance/reminders/templates/{maintenanceReminderTemplateId}

Delete a reminder template

Removes the reminder template.

Path parameters

maintenanceReminderTemplateIdrequiredintegerThe reminder template id.

Responses

204No ContentSuccess. No body.
400Bad RequestThe reminder template could not be deleted — usually because something still references it.
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/maintenance/reminders/templates/:maintenanceReminderTemplateId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/maintenance/resources/{resourceId}/squawks

List an aircraft's squawks

Discrepancies against one resource.

Path parameters

resourceIdrequiredintegerThe resource id.

Query parameters

resolvedbooleanFilter on resolved state.

Responses

200OKThe squawks.{ data: Squawk[] }
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/maintenance/resources/:resourceId/squawks \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"