Aircraft owners
An aircraft owner's own aircraft and the jobs on them. Answered for whatever the caller owns or is billed for; anything else answers 404, exactly as an id that does not exist. The one part of the API an owner from outside the organization may call.
7 endpoints · base URL https://api.aerscheduler.com
/owner/aircraftList my aircraft
The aircraft the caller owns here, each with its open job and its most urgent open inspections (hours in tenths). Also any aircraft they do not own but have an open job or an unpaid bill on, with owns: false, their own jobs only and none of the aircraft's inspections or times. Empty for a member with neither. Found items waiting on an answer are counted in needsAnswer, and job by job, oldest first, in needsAnswerJobs (jobId, label, count); needsAnswerJobId names the first of them. A job that is closed or invoiced asks for no answers.
Query parameters
limit | integer | Aircraft to return, 1 to 1000. Defaults to all. |
offset | integer | Aircraft to skip, for paging. Defaults to 0. |
Responses
200 | OK | My aircraft.→ { data: object[] } |
401 | Unauthorized | No token, an expired token, a malformed one, or a session token naming a membership that is no longer yours ("Your session is out of date"). 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. |
curl https://api.aerscheduler.com/owner/aircraft \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/owner/aircraft/{id}Read one of my aircraft
Its jobs (newest first), every open inspection, and its recent Hobbs and tach readings. mayRecordTimes is true for a customer's aircraft with meters.
Path parameters
idrequired | integer | The resource id. |
Responses
200 | OK | The aircraft.→ { data: object } |
401 | Unauthorized | No token, an expired token, a malformed one, or a session token naming a membership that is no longer yours ("Your session is out of date"). Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
404 | Not Found | Not one of yours. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/owner/aircraft/:id \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/owner/work-orders/{id}Read a job on my aircraft
The owner's view of a job: where it stands, the items (and which found ones wait on an answer), the files shared with the owner, and, only for the person billed, the charges and the invoice (refunded when handed back in full). A finding the shop has not sent is not shown, nor anything priced against it. lines and chargesCents leave out the lines of findings the owner has not agreed to (still waiting, declined or deferred); once the job is invoiced they are the bill's, every billable line, so chargesCents is the invoice's subtotal, and no item needsAnswer. Each item carries estimateCents, what its billable lines come to (null for anybody but the person billed), answeredByYou, true when the caller gave its answer here, and askedAt, when the shop sent it (null if never), which an answer sends back. mayAnswer is true while the job is open and not invoiced; ownsAircraft says whether the caller owns the aircraft. No shop notes, costs, markups or rates.
Path parameters
idrequired | integer | The work order id. |
Responses
200 | OK | The job.→ { data: object } |
401 | Unauthorized | No token, an expired token, a malformed one, or a session token naming a membership that is no longer yours ("Your session is out of date"). Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
404 | Not Found | Not on your aircraft. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/owner/work-orders/:id \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/owner/aircraft/{id}/metersRecord my aircraft's times
Exactly as POST /resources/{id}/meters, for the aircraft's owner, on a customer's aircraft only: the school's own aircraft are read at every close-out and answer 403.
Path parameters
idrequired | integer | The resource id. |
Request body
The reading.
hobbsTime | integer | null | |
tachTime | integer | null | |
readAt | string | null | |
note | string | null | |
fileName | string | null | |
confirmLower | boolean | |
meterReplaced | boolean | |
confirmMaintenanceTrigger | boolean |
Responses
201 | Created | The reading.→ { data: object } |
400 | Bad Request | Not a reading. |
401 | Unauthorized | No token, an expired token, a malformed one, or a session token naming a membership that is no longer yours ("Your session is out of date"). Sign in again. |
403 | Forbidden | One of the organization's own aircraft. |
404 | Not Found | Not one of yours. |
409 | Lower than the aircraft, or would ground it: confirm and send again. | |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X POST https://api.aerscheduler.com/owner/aircraft/:id/meters \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"hobbsTime":1,"tachTime":1}'/owner/aircraft/{id}/requestsRequest work on my aircraft
Opens a Requested job on the shop's board, billed to the aircraft's billed owner. wantedBy (a real date, today or later, within two years) is added to the request; the shop sets the promised date.
Path parameters
idrequired | integer | The resource id. |
Request body
The request.
request | string | What you would like done. |
wantedBy | string | null | When you would like it back. |
Responses
201 | Created | The job's id and label.→ { data: object } |
400 | Bad Request | Not a request. |
401 | Unauthorized | No token, an expired token, a malformed one, or a session token naming a membership that is no longer yours ("Your session is out of date"). Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
404 | Not Found | Not one of yours. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X POST https://api.aerscheduler.com/owner/aircraft/:id/requests \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"request":"…","wantedBy":"…"}'/owner/work-orders/{id}/answersAnswer the shop's found items
Approve, decline or defer found items still waiting on an answer, on an open job. Any owner of the aircraft answers, or the person the job is billed to; the answer names who gave it. An item already answered or done is refused: call the shop to change an answer. Each answer sends back the item's askedAt from the job: a finding reworded since (or reworded and sent again) is refused with a 409, to be read again first. Refused with a 409 once the job is invoiced.
Path parameters
idrequired | integer | The work order id. |
Request body
The answers.
decisions | object[] |
Responses
201 | Created | The answer as recorded.→ { data: object } |
400 | Bad Request | Not an answer, no askedAt, or already answered. |
401 | Unauthorized | No token, an expired token, a malformed one, or a session token naming a membership that is no longer yours ("Your session is out of date"). Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
404 | Not Found | Not on your aircraft. |
409 | Somebody has just answered it, the finding changed since it was read (reload it), or the job is invoiced. | |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X POST https://api.aerscheduler.com/owner/work-orders/:id/answers \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"decisions":[]}'/owner/work-orders/{id}/filesAttach photos to a job on my aircraft
Name up to 5 files and upload each to the returned signedUrlData. They are shown to the shop and to you. An owner adds up to 20 files to a job.
Path parameters
idrequired | integer | The work order id. |
Request body
The files.
fileNames | string[] |
Responses
201 | Created | The files, with signedUrlData.→ { data: object[] } |
400 | Bad Request | No files, or too many. |
401 | Unauthorized | No token, an expired token, a malformed one, or a session token naming a membership that is no longer yours ("Your session is out of date"). Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
404 | Not Found | Not on your aircraft. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X POST https://api.aerscheduler.com/owner/work-orders/:id/files \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"fileNames":[]}'