Wingwork GraphQL API
Integrate with the modern maintenance tracking software, Wingwork to get and update details about the managed aircraft.
API Endpoints
https://app.wingwork.com/.netlify/functions/graphql
Headers
# Your API token from the dashboard. Must be included in all API calls.
Authorization: Bearer <YOUR_TOKEN_HERE>
Queries
aircraft
Example
Query
query aircraft($id: String!) {
aircraft(id: $id) {
id
name
model
tailNumber
serialNumber
metadata
orgSlug
createdAt
updatedAt
nextDueAt
AircraftUsageLog {
...AircraftUsageLogFragment
}
}
}
Variables
{"id": "abc123"}
Response
{
"data": {
"aircraft": {
"id": "xyz789",
"name": "abc123",
"model": "abc123",
"tailNumber": "xyz789",
"serialNumber": "abc123",
"metadata": {},
"orgSlug": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"nextDueAt": "2007-12-03T10:15:30Z",
"AircraftUsageLog": [AircraftUsageLog]
}
}
}
upcomingMaintenanceItems
Response
Returns [MaintenanceItem!]
Example
Query
query upcomingMaintenanceItems(
$limit: Int,
$orgSlug: String,
$aircraftId: String!
) {
upcomingMaintenanceItems(
limit: $limit,
orgSlug: $orgSlug,
aircraftId: $aircraftId
) {
id
createdAt
orgSlug
aircraftId
aircraft {
...AircraftFragment
}
maintenanceType
title
description
tags {
...TagFragment
}
ataCode
manufactureCode
ataManufactureCode
notes
disposition
otherComponent
status
metadata
trackedByComponentId
componentID
cadenceValue
isOptional
isRecurring
nextDueStatus
calculatedNextDueAt
remainingValue
isAdSb
adSbType
otherAdSbType
lastComplianceDate
lastComplianceStampId
lastComplianceStamp {
...AircraftUsageLogFragment
}
importedDataCompliance
isParent
parentId
groupKey
upstreamId
parentTask {
...MaintenanceItemFragment
}
upstreamTask {
...MaintenanceItemFragment
}
childItems {
...MaintenanceItemFragment
}
childCount
downstreamItems {
...MaintenanceItemFragment
}
complianceInProgress
maintenanceNextDue {
...MaintenanceNextDueFragment
}
discrepancyCompActivityId
discrepancyWorkItemId
discrepancyStatus
createdById
estWorkHours
relatedMaintenanceItemIds
}
}
Variables
{
"limit": 123,
"orgSlug": "abc123",
"aircraftId": "xyz789"
}
Response
{
"data": {
"upcomingMaintenanceItems": [
{
"id": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"orgSlug": "abc123",
"aircraftId": "xyz789",
"aircraft": Aircraft,
"maintenanceType": "INSPECTION",
"title": "xyz789",
"description": "abc123",
"tags": [Tag],
"ataCode": "abc123",
"manufactureCode": "xyz789",
"ataManufactureCode": "xyz789",
"notes": "xyz789",
"disposition": "abc123",
"otherComponent": "abc123",
"status": "ENABLED",
"metadata": {},
"trackedByComponentId": "xyz789",
"componentID": "xyz789",
"cadenceValue": {},
"isOptional": true,
"isRecurring": false,
"nextDueStatus": "OVERDUE",
"calculatedNextDueAt": "2007-12-03T10:15:30Z",
"remainingValue": 987.65,
"isAdSb": true,
"adSbType": "DISCREPANCY",
"otherAdSbType": "xyz789",
"lastComplianceDate": "2007-12-03T10:15:30Z",
"lastComplianceStampId": "xyz789",
"lastComplianceStamp": AircraftUsageLog,
"importedDataCompliance": {},
"isParent": false,
"parentId": "abc123",
"groupKey": "abc123",
"upstreamId": "abc123",
"parentTask": MaintenanceItem,
"upstreamTask": MaintenanceItem,
"childItems": [MaintenanceItem],
"childCount": 987,
"downstreamItems": [MaintenanceItem],
"complianceInProgress": false,
"maintenanceNextDue": [MaintenanceNextDue],
"discrepancyCompActivityId": "abc123",
"discrepancyWorkItemId": "xyz789",
"discrepancyStatus": "OPEN",
"createdById": "abc123",
"estWorkHours": 123.45,
"relatedMaintenanceItemIds": [
"xyz789"
]
}
]
}
}
Mutations
createAircraftUsageLogWithComponents
Response
Returns an AircraftUsageLog
Example
Query
mutation createAircraftUsageLogWithComponents {
createAircraftUsageLogWithComponents {
id
aircraftId
aircraft {
...AircraftFragment
}
usageAsOf
airframeTotalTime
airframeCycle
engine1TSN
engine1TSO
engine1CSN
engine1CSO
engine2TSN
engine2TSO
engine2CSN
engine2CSO
apuTSN
apuTSO
apuCSN
apuCSO
createdAt
updatedAt
maintenanceItem {
...MaintenanceItemFragment
}
ComponentUsageLog {
...ComponentUsageLogFragment
}
}
}
Response
{
"data": {
"createAircraftUsageLogWithComponents": {
"id": "abc123",
"aircraftId": "xyz789",
"aircraft": Aircraft,
"usageAsOf": "2007-12-03T10:15:30Z",
"airframeTotalTime": 123.45,
"airframeCycle": 987.65,
"engine1TSN": 123.45,
"engine1TSO": 987.65,
"engine1CSN": 123.45,
"engine1CSO": 987.65,
"engine2TSN": 987.65,
"engine2TSO": 123.45,
"engine2CSN": 123.45,
"engine2CSO": 987.65,
"apuTSN": 123.45,
"apuTSO": 987.65,
"apuCSN": 123.45,
"apuCSO": 987.65,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"maintenanceItem": [MaintenanceItem],
"ComponentUsageLog": [ComponentUsageLog]
}
}
}
createMaintenanceItemTransaction
Response
Returns a MaintenanceItem!
Example
Query
mutation createMaintenanceItemTransaction {
createMaintenanceItemTransaction {
id
createdAt
orgSlug
aircraftId
aircraft {
...AircraftFragment
}
maintenanceType
title
description
tags {
...TagFragment
}
ataCode
manufactureCode
ataManufactureCode
notes
disposition
otherComponent
status
metadata
trackedByComponentId
componentID
cadenceValue
isOptional
isRecurring
nextDueStatus
calculatedNextDueAt
remainingValue
isAdSb
adSbType
otherAdSbType
lastComplianceDate
lastComplianceStampId
lastComplianceStamp {
...AircraftUsageLogFragment
}
importedDataCompliance
isParent
parentId
groupKey
upstreamId
parentTask {
...MaintenanceItemFragment
}
upstreamTask {
...MaintenanceItemFragment
}
childItems {
...MaintenanceItemFragment
}
childCount
downstreamItems {
...MaintenanceItemFragment
}
complianceInProgress
maintenanceNextDue {
...MaintenanceNextDueFragment
}
discrepancyCompActivityId
discrepancyWorkItemId
discrepancyStatus
createdById
estWorkHours
relatedMaintenanceItemIds
}
}
Response
{
"data": {
"createMaintenanceItemTransaction": {
"id": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"orgSlug": "xyz789",
"aircraftId": "abc123",
"aircraft": Aircraft,
"maintenanceType": "INSPECTION",
"title": "abc123",
"description": "xyz789",
"tags": [Tag],
"ataCode": "xyz789",
"manufactureCode": "abc123",
"ataManufactureCode": "xyz789",
"notes": "abc123",
"disposition": "xyz789",
"otherComponent": "abc123",
"status": "ENABLED",
"metadata": {},
"trackedByComponentId": "xyz789",
"componentID": "abc123",
"cadenceValue": {},
"isOptional": false,
"isRecurring": false,
"nextDueStatus": "OVERDUE",
"calculatedNextDueAt": "2007-12-03T10:15:30Z",
"remainingValue": 987.65,
"isAdSb": false,
"adSbType": "DISCREPANCY",
"otherAdSbType": "xyz789",
"lastComplianceDate": "2007-12-03T10:15:30Z",
"lastComplianceStampId": "abc123",
"lastComplianceStamp": AircraftUsageLog,
"importedDataCompliance": {},
"isParent": false,
"parentId": "abc123",
"groupKey": "abc123",
"upstreamId": "abc123",
"parentTask": MaintenanceItem,
"upstreamTask": MaintenanceItem,
"childItems": [MaintenanceItem],
"childCount": 123,
"downstreamItems": [MaintenanceItem],
"complianceInProgress": false,
"maintenanceNextDue": [MaintenanceNextDue],
"discrepancyCompActivityId": "xyz789",
"discrepancyWorkItemId": "abc123",
"discrepancyStatus": "OPEN",
"createdById": "abc123",
"estWorkHours": 123.45,
"relatedMaintenanceItemIds": [
"xyz789"
]
}
}
}
Types
Aircraft
Example
{
"id": "xyz789",
"name": "abc123",
"model": "xyz789",
"tailNumber": "abc123",
"serialNumber": "xyz789",
"metadata": {},
"orgSlug": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"nextDueAt": "2007-12-03T10:15:30Z",
"AircraftUsageLog": [AircraftUsageLog]
}
AircraftUsageLog
Fields
| Field Name | Description |
|---|---|
id - String!
|
|
aircraftId - String
|
|
aircraft - Aircraft!
|
|
usageAsOf - DateTime!
|
|
airframeTotalTime - Float!
|
|
airframeCycle - Float!
|
|
engine1TSN - Float!
|
|
engine1TSO - Float!
|
|
engine1CSN - Float!
|
|
engine1CSO - Float!
|
|
engine2TSN - Float!
|
|
engine2TSO - Float!
|
|
engine2CSN - Float!
|
|
engine2CSO - Float!
|
|
apuTSN - Float!
|
|
apuTSO - Float!
|
|
apuCSN - Float!
|
|
apuCSO - Float!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
maintenanceItem - [MaintenanceItem]!
|
|
ComponentUsageLog - [ComponentUsageLog]!
|
Example
{
"id": "xyz789",
"aircraftId": "abc123",
"aircraft": Aircraft,
"usageAsOf": "2007-12-03T10:15:30Z",
"airframeTotalTime": 987.65,
"airframeCycle": 987.65,
"engine1TSN": 123.45,
"engine1TSO": 123.45,
"engine1CSN": 987.65,
"engine1CSO": 987.65,
"engine2TSN": 123.45,
"engine2TSO": 987.65,
"engine2CSN": 987.65,
"engine2CSO": 123.45,
"apuTSN": 123.45,
"apuTSO": 123.45,
"apuCSN": 987.65,
"apuCSO": 123.45,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"maintenanceItem": [MaintenanceItem],
"ComponentUsageLog": [ComponentUsageLog]
}
Boolean
Description
The Boolean scalar type represents true or false.
ComponentUsageLog
Fields
| Field Name | Description |
|---|---|
id - String!
|
|
orgSlug - String!
|
|
aircraftId - String!
|
|
aircraft - Aircraft!
|
|
usageLogId - String
|
|
aircraftUsageLog - AircraftUsageLog
|
|
componentId - String!
|
|
usageAsOf - DateTime!
|
|
totalTimeSinceNew - Float!
|
|
timeSinceOverhaul - Float!
|
|
timesSinceRepair - Float!
|
|
cycleSinceNew - Float!
|
|
cycleSinceOverhaul - Float!
|
|
cyclesSinceRepair - Float!
|
|
createdAt - DateTime!
|
|
updatedAt - DateTime!
|
|
usageLoggedById - String!
|
|
MaintenanceNextDue - [MaintenanceNextDue]!
|
Example
{
"id": "xyz789",
"orgSlug": "xyz789",
"aircraftId": "abc123",
"aircraft": Aircraft,
"usageLogId": "abc123",
"aircraftUsageLog": AircraftUsageLog,
"componentId": "abc123",
"usageAsOf": "2007-12-03T10:15:30Z",
"totalTimeSinceNew": 987.65,
"timeSinceOverhaul": 987.65,
"timesSinceRepair": 987.65,
"cycleSinceNew": 987.65,
"cycleSinceOverhaul": 987.65,
"cyclesSinceRepair": 123.45,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"usageLoggedById": "abc123",
"MaintenanceNextDue": [MaintenanceNextDue]
}
DateTime
Description
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
Example
"2007-12-03T10:15:30Z"
DiscrepancyStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"OPEN"
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
JSON
Description
The JSON scalar type represents JSON values as specified by ECMA-404.
Example
{}
MaintenanceItem
Fields
| Field Name | Description |
|---|---|
id - String!
|
|
createdAt - DateTime!
|
|
orgSlug - String!
|
|
aircraftId - String!
|
|
aircraft - Aircraft!
|
|
maintenanceType - MaintenanceType!
|
|
title - String!
|
|
description - String!
|
|
tags - [Tag]!
|
|
ataCode - String!
|
|
manufactureCode - String!
|
|
ataManufactureCode - String!
|
|
notes - String
|
|
disposition - String!
|
|
otherComponent - String
|
|
status - MaintenanceStatus!
|
|
metadata - JSON!
|
|
trackedByComponentId - String!
|
|
componentID - String
|
|
cadenceValue - JSON!
|
|
isOptional - Boolean!
|
|
isRecurring - Boolean!
|
|
nextDueStatus - MaintenanceNextDueStatus!
|
|
calculatedNextDueAt - DateTime
|
|
remainingValue - Float!
|
|
isAdSb - Boolean!
|
|
adSbType - UnscheduledTaskTypes
|
|
otherAdSbType - String
|
|
lastComplianceDate - DateTime
|
|
lastComplianceStampId - String
|
|
lastComplianceStamp - AircraftUsageLog
|
|
importedDataCompliance - JSON!
|
|
isParent - Boolean!
|
|
parentId - String
|
|
groupKey - String
|
|
upstreamId - String
|
|
parentTask - MaintenanceItem
|
|
upstreamTask - MaintenanceItem
|
|
childItems - [MaintenanceItem]!
|
|
childCount - Int!
|
|
downstreamItems - [MaintenanceItem]!
|
|
complianceInProgress - Boolean!
|
|
maintenanceNextDue - [MaintenanceNextDue]!
|
|
Arguments
|
|
discrepancyCompActivityId - String
|
|
discrepancyWorkItemId - String
|
|
discrepancyStatus - DiscrepancyStatus
|
|
createdById - String
|
|
estWorkHours - Float
|
|
relatedMaintenanceItemIds - [String!]!
|
|
Example
{
"id": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"orgSlug": "xyz789",
"aircraftId": "abc123",
"aircraft": Aircraft,
"maintenanceType": "INSPECTION",
"title": "abc123",
"description": "xyz789",
"tags": [Tag],
"ataCode": "xyz789",
"manufactureCode": "xyz789",
"ataManufactureCode": "xyz789",
"notes": "abc123",
"disposition": "xyz789",
"otherComponent": "xyz789",
"status": "ENABLED",
"metadata": {},
"trackedByComponentId": "abc123",
"componentID": "xyz789",
"cadenceValue": {},
"isOptional": false,
"isRecurring": false,
"nextDueStatus": "OVERDUE",
"calculatedNextDueAt": "2007-12-03T10:15:30Z",
"remainingValue": 987.65,
"isAdSb": false,
"adSbType": "DISCREPANCY",
"otherAdSbType": "abc123",
"lastComplianceDate": "2007-12-03T10:15:30Z",
"lastComplianceStampId": "xyz789",
"lastComplianceStamp": AircraftUsageLog,
"importedDataCompliance": {},
"isParent": true,
"parentId": "xyz789",
"groupKey": "xyz789",
"upstreamId": "abc123",
"parentTask": MaintenanceItem,
"upstreamTask": MaintenanceItem,
"childItems": [MaintenanceItem],
"childCount": 987,
"downstreamItems": [MaintenanceItem],
"complianceInProgress": true,
"maintenanceNextDue": [MaintenanceNextDue],
"discrepancyCompActivityId": "abc123",
"discrepancyWorkItemId": "abc123",
"discrepancyStatus": "OPEN",
"createdById": "abc123",
"estWorkHours": 123.45,
"relatedMaintenanceItemIds": ["abc123"]
}
MaintenanceItemTag
Fields
| Field Name | Description |
|---|---|
id - String!
|
|
maintenanceItemId - String!
|
|
maintenanceItem - MaintenanceItem!
|
|
tagId - String!
|
|
tag - Tag!
|
Example
{
"id": "xyz789",
"maintenanceItemId": "abc123",
"maintenanceItem": MaintenanceItem,
"tagId": "abc123",
"tag": Tag
}
MaintenanceNextDue
Example
{
"id": "abc123",
"orgSlug": "xyz789",
"maintenanceItemId": "abc123",
"maintenanceItem": MaintenanceItem,
"isCompleted": false,
"nextDueValue": {},
"nextDueOverride": {},
"nextDueOverrideBy": "xyz789",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
MaintenanceNextDueStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"OVERDUE"
MaintenanceStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ENABLED"
MaintenanceType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"INSPECTION"
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
Tag
Fields
| Field Name | Description |
|---|---|
id - String!
|
|
name - String!
|
|
description - String
|
|
maintenanceItems - [MaintenanceItemTag]!
|
Example
{
"id": "xyz789",
"name": "abc123",
"description": "abc123",
"maintenanceItems": [MaintenanceItemTag]
}
UnscheduledTaskTypes
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DISCREPANCY"