Developer API

Are you a developer or a potential partner company? Find out more about our REST-based API.

Flightdocs API Agreement

Prior to using this API to integrate with Flightdocs all 3rd parties will need to review the agreement at the following link:

API Agreement

Flightdocs API Authentication

OAuth2 is a protocol that lets external apps request authorization to private customer or aircraft details in a user’s Flightdocs account without getting the user’s password.

Please coordinate with Flightdocs to setup your integration before getting started. A registered 3rd party will be assigned a unique Client ID and Client Secret. The Client Secret should not be shared. You will provide Flightdocs with a Redirect Uri where the user will be sent after authorization and your application will receive an authorization code.

Application Code Flow

Begin by directing your users to https://api.flightdocs.com/oauth2/authorize through a GET request with the following URL encoded parameters:

Name Description
response_type Required. A value of code should be used to request an authentication code used later.
client_id Required. The client ID you received from Flightdocs when you initially setup.
redirect_uri Required. The URL in your app where users will be sent after authorization.
state Optional parameter that is round tripped from the server back to your application. This is could be used to redirect the user to the correct resource on your site or to prevent cross-site-request-forgery by validating the state received from Flightdocs.

An example request might look like this:

GET https://api.flightdocs.com/oauth2/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=REDIRECT_URI &state=YOUR_STATE_INFORMATION

The user will be presented a login page to authenticate with Flightdocs.

Flightdocs will handle for validating the user’s credentials and presenting relevant error messages.

On successful log in the user will be taken to a consent page to authorize your application to access their Flightdocs account.

Clicking “Grant access to Flightdocs” will redirect the user to the URI that you specified with a code parameter and a state parameter if you included one.

For example, Flightdocs might redirect to:

https://www.acme.com/flightdocstoken?code=RETURNED_AUTH_CODE &state=YOUR_STATE_INFORMATION

The code you receive as a query string parameter is used to get an access token. It is a single use code and is good for no more than 10 minutes.

To get an access token you’ll need to make a POST request to https://api.flightdocs.com/oauth2/token with the following parameters:

Name Description
grant_type Required. A value of authorization_code must be used.
code Required. The authorization code you receive previously.
client_id Optional. The client ID you received from Flightdocs when you initially setup.
client_secret Optional. The client secret you received from Flightdocs when you initially setup.
redirect_uri Required. The redirect URI you initially setup with Flightdocs and the same value that was passed in the initial user redirect.

The client_id and client_secret can be supplied in the body of the request or in the authorization header. The preferred approach is in the authorization header and is done by combining the client_id and client_secret into a string like so “client_id:client_secret” and then base64 encoded.

A request for an access token using the authorization header may look like this:

POST /oauth2/token HTTP/1.1
    Host: api.flightdocs.com
    Content-Type: application/x-www-form-urlencoded
    Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    grant_type=authorization_code&code=RETURNED_AUTH_CODE &redirect_uri=REDIRECT_URI

Here is an example request with the client_id and client_secret in the body of the request:

POST /oauth2/token HTTP/1.1
    Host: api.flightdocs.com
    Content-Type: application/x-www-form-urlencoded
    grant_type=authorization_code&client_id=YOUR_CLIENT_ID &client_secret=YOUR_CLIENT_SECRET&code=RETURNED_AUTH_CODE &redirect_uri=REDIRECT_URI

An example of a successful response will be an HTTP response of 200 which will contain a JSON body like this:

{
        "access_token":"Hg3LELHaXu4E0B9R28wOdCqSjJQqqhTjK”,
        "token_type":"bearer",
        "expires_in":3599,
        "refresh_token":"adc96ab9f48740c8915b4ff2b55f18332fb852740d8a4e87ad46317a452e1d49"
    }

The access_token is used to make an API request to Flightdocs. The access_token is valid for 1 hour. You can use a valid token for as many requests as needed but after an hour you will need to get a new valid token by using the provided refresh_token. A refresh_token is valid for only one use in 1 year. Every time you get a new access_token by using a refresh_token you receive a new refresh_token valid for another year. This means that as long as you get a new refresh_token at least once a year the user’s login should be valid forever.

To use a refresh_token to get a new access_token you should make a POST request to https://api.flightdocs.com/oauth2/token with the following URL encoded parameters:

Name Description
grant_type Required. A value of refresh_token must be used.
client_id Optional. The client ID you received from Flightdocs when you initially setup.
client_secret Optional. The client secret you received from Flightdocs when you initially setup.
refresh_token Required. The redirect URI you initially setup with Flightdocs and the same value that was passed in the initial user redirect.

Same as before. The client_id and client_secret can be passed in the body but the preferred way to send these values is in the authorization header.

Here is a sample request that uses the authorization header to get an access token using a refresh token:

POST /oauth2/token HTTP/1.1
    Host: api.flightdocs.com
    Content-Type: application/x-www-form-urlencoded
    Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    grant_type=refresh_token&refresh_token=REFRESH_TOKEN

Here is a sample of a request that put the client_id and client_secret in the request body to get an access token using a refresh token:

POST /oauth2/token HTTP/1.1
    Host: api.flightdocs.com
    Content-Type: application/x-www-form-urlencoded
    grant_type=refresh_token&client_id=YOUR_CLIENT_ID &client_secret=YOUR_CLIENT_SECRET&refresh_token=REFRESH_TOKEN

Flightdocs API Services

Versioning

The Flightdocs API supports versioning of the API to prevent 3rd parties from needing to rewrite their application when the structure or functionality of a request needs to change. By default the Flightdocs API will always conform to v1 of the API. It is recommended that your requests always explicitly include the version of the current API with the request. This is done by including an additional header to each of the requests made to the Flightdocs API.

A request for a versioned API method may look like this:

GET https://api.flightdocs.com/path/method HTTP/1.1
    Host: api.flightdocs.com
    Content-Type: application/x-www-form-urlencoded
    Authorization: Bearer <bearer_token_here>
    api-version: 1

Timezone

The Flightdocs API supports handling for timezones. The use case is primarily for the due list. To get items that are due local to the user we allow the timezone to be set in the header according to the list of names from the Olson database.

A request that specifies a timezone may look like this:

GET https://api.flightdocs.com/path/method HTTP/1.1
    Host: api.flightdocs.com
    Content-Type: application/x-www-form-urlencoded
    Authorization: Bearer <bearer_token_here>
    Time-Zone: America/New_York

Response Structure

200 Success Response

The Flightdocs API has a standard output that is followed for all requests (a few minor exceptions may occur like in the case of authentication or authorization errors outlined in the next section).

A typical response structure will look like this:

Example Response:

HTTP/1.1 200 OK
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Date: Wed, 05 Nov 2014 19:54:59 GMT
    Content-Length: 1437
    {
        "HttpStatusCode":200,
        "Data":[{ "AircraftId":1808, "RegistrationNumber":"N12345 }]
        },
        "Errors":[ ],
        "Messages":[ ],
        "IsSuccess":true,
        "AvailableRecordCount":0,
        "ErrorMessages":"No Errors Reported"
    }

Return Values

Name Description
HttpStatusCode Application status code
Data An array or single instance primitive or object data being returned to the client
Errors List array of errors
Messages List array of information messages
IsSuccess Is the call successful and passes all authentication, and business validation
AvailableRecordCount Available number of records in the current list, or total records if paged
ErrorMessages Concatenated list of error messages joined by a semi colon or “No Errors Reported”

401 Unauthorized Response

If the oauth bearer token being used expires or is in some other way malformed a 401 HTTP response will be returned with a message in the body saying “Authorization has been denied for this request.

Example Response:

HTTP/1.1 401 Unauthorized
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    WWW-Authenticate: Bearer
    Date: Fri, 07 Nov 2014 20:13:36 GMT
    Content-Length: 61
    {"Message":"Authorization has been denied for this request."}

Action on your part: Request a new oauth token by using the saved refresh token or ask the user to authenticate with Flightdocs again.

403 Forbidden Response

If making a request to the API and a 403 forbidden result is returned there are two different reasons for this response.

1. The user does not have permission to call this method on the API. This return a header of “WWW-Authenticate: Bearer error=”insufficient_rights” and a message body of “insufficient_rights”.

Example Response

HTTP/1.1 403 Forbidden
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    WWW-Authenticate: Bearer error="insufficient_rights"
    Date: Fri, 07 Nov 2014 20:19:20 GMT
    Content-Length: 33
    {"Message":"insufficient_rights"}

Action on your part: If you believe that this user should have access to call this method on the API contact Flightdocs to have the permission added to the user.

2. The client application does not have permission to call this method on the API. This return a header of “WWW-Authenticate: Bearer error=”insufficient_scope” and a message body of “insufficient_scope”.

HTTP/1.1 403 Forbidden
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    WWW-Authenticate: Bearer error="insufficient_scope"
    Date: Fri, 07 Nov 2014 20:19:20 GMT
    Content-Length: 33
    {"Message":"insufficient_scope"}

Action on your part: If you believe that your application should have access to call this method on the API contact Flightdocs to have the proper scope added to your client application.

GET /Aircraft/GetMyAircraft

Get a list of aircraft available to the current user.

Parameters

None. The current user is pulled from the auth token passed with the request.

Return Values

Name Data Type Description
Id Int Internal database identifier for this aircraft registration
RegistrationNumber String(12) The current registration or tail number of the aircraft as registered with Flightdocs.
SerialNumber String(40) The current serial number of the aircraft as registered with Flightdocs.

Example Request:

GET https://api.flightdocs.com/Aircraft/GetMyAircraft HTTP/1.1
    Host: api.flightdocs.com
    User-Agent: {user_agent}
    Authorization: Bearer {bearer_token_here}
    

Example Response:

HTTP/1.1 200 OK
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Date: Wed, 05 Nov 2014 19:54:59 GMT
    Content-Length: 333
    {
    "HttpStatusCode":200,
    "Data":[
        {
        "Id":1808,
        "RegistrationNumber":"N12345",
        "SerialNumber":DEMO
        },
        {
        "Id":3471,
        "RegistrationNumber":"N12346",
        "SerialNumber":DEMO2
        }
    ],
    "Errors":[
    ],
    "Messages":[
    ],
    "IsSuccess":true,
    "AvailableRecordCount":2,
    "ErrorMessages":"No Errors Reported"
    }

GET /Aircraft/GetCurrentTimes/{registrationNumber}

Get the current aircraft times for an aircraft.

Parameters

Name Data Type Description
registrationNumber String(12) Required. This is the current registration or tail number of the aircraft as registered with Flightdocs.

Return Values

Name Data Type Description
AircraftId Int Internal database identifier for this registration (integer)
RegistrationNumber String(12) The current registration or tail number of the aircraft as registered with Flightdocs.
Landings Int Current number of landings
LastUpdated DateTime Date/time in UTC of last update
LastUpdatedBy Int Id of the last user to update the aircraft
RIN Int If model has been enabled for RIN tracking, current RIN
ReportedDate Date Date of last reported times (Format YYYY-MM-DD)
TotalTime Decimal(2) Total time on airframe (2 significant digits)
AircraftEquipmentTimes Object Array of installed equipment on the airframe APU, Engines, Props (see AircraftEquipmentTimes object structure below)

AircraftEquipmentTimes

Name Data Type Description
LookupId Guid Unique identifier for the equipment installed on the airframe
AircraftEquipmentTypeId Int Id of the type of equipment
Type String(8) Text description of the type of equipment
Make String(40) Make of equipment
ModelNumber String(40) Model number of equipment
SerialNumber String(40) Serial number of equipment
InstallDate Date Install date of equipment (Format YYYY-MM-DD)
Hours Decimal Number of hours on the equipment (2 significant digits)
Cycles Decimal Number of cycles on the equipment (2 significant digits)
C1C Decimal If enabled for C1C/C2C, number of C1 cycles on the equipment (2 significant digits)
C2C Decimal if enabled for C1C/C2C, number of C2 cycles on the equipment (2 significant digits)
IsTrackedByAirframe Bool Specifies if these times generally track with the airframe. If true validation will require that hours go up if airframe total time goes up and vice versa. If false hours can be updated separately.

Example Request:

GET https://api.flightdocs.com/Aircraft/GetCurrentTimes/{RegistrationNumber} HTTP/1.1
    Host: api.flightdocs.com
    User-Agent: {user_agent}
    Authorization: Bearer {bearer_token_here}
    

Example Response:

HTTP/1.1 200 OK
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Date: Wed, 05 Nov 2014 19:54:59 GMT
    Content-Length: 1437
    {
    "HttpStatusCode":200,
    "Data":{
        "AircraftId":1808,
        "RegistrationNumber":"N12345",
        "Landings":2502,
        "LastUpdated":"2014-09-03T16:00:48.54Z",
        "LastUpdatedBy":0,
        "RIN":0,
        "ReportedDate":"2014-07-28",
        "TotalTime":6004.57,
        "AircraftEquipmentTimes":[
        {
        "LookupId":"14d4b3c8-1f6d-428f-ac57-975ea4236d71",
        "AircraftEquipmentTypeId":2,
        "Type":"APU",
        "Make":null,
        "ModelNumber":"131-9B",
        "SerialNumber":"no_update",
        "InstallDate":null,
        "Hours":81198.00,
        "Cycles":71124.00,
        "C1C":0.00,
        "C2C":0.00,
        "IsTrackedByAirframe":false
        },
        {
        "LookupId":"280b0366-7df4-4d93-baed-2d9494e57eda",
        "AircraftEquipmentTypeId":3,
        "Type":"Engine 1",
        "Make":null,
        "ModelNumber":"CFM56-7B26/B1",
        "SerialNumber":"875922",
        "InstallDate":"1999-10-04",
        "Hours":6004.57,
        "Cycles":2502.00,
        "C1C":0.00,
        "C2C":0.00,
        "IsTrackedByAirframe":true
        }
        ]
    },
    "Errors":[
    ],
    "Messages":[
    ],
    "IsSuccess":true,
    "AvailableRecordCount":0,
    "ErrorMessages":"No Errors Reported"
    }

POST /Aircraft/ReportNewTimes

Updates the current times with a new set of times for an aircraft.

Parameters

Name Data Type Description
RegistrationNumber String(12) The current registration or tail number of the aircraft as registered with Flightdocs.
Landings Int Current number of landings
RIN Int If model has been enabled for RIN tracking, current RIN
ReportedDate Date Date of last reported times (Format as YYYY-MM-DD)
TotalTime Decimal Total time on airframe (2 significant digits)
AircraftEquipmentTimes Object Array of installed equipment on the airframe APU, Engines, Props (see AircraftEquipmentTimes object structure below)

AircraftEquipmentTimes

Name Data Type Description
LookupId Guid Unique identifier for the equipment installed on the airframe
AircraftEquipmentTypeId Int Id of the type of equipment
Type String(8) Text description of the type of equipment
Make String(40) Make of equipment
ModelNumber String(40) Model number of equipment
SerialNumber String(40) Serial number of equipment
InstallDate Date Install date of equipment (Format as YYYY-MM-DD)
Hours Decimal Number of hours on the equipment (2 significant digits)
Cycles Decimal Number of cycles on the equipment (2 significant digits)
C1C Decimal If enabled for C1C/C2C, number of C1 cycles on the equipment (2 significant digits)
C2C Decimal if enabled for C1C/C2C, number of C2 cycles on the equipment (2 significant digits)

Example Request:

POST https://api.flightdocs.com/Aircraft/ReportNewTimes HTTP/1.1
    Host: api.flightdocs.com
    Accept: application/json, text/plain, */*
    Content-Type: application/json
    User-Agent: 
    Authorization: Bearer <bearer_token_here>
    api-version: 1
    {
    "RegistrationNumber":"N12345",
    "Landings":2502,
    "RIN":0,
    "ReportedDate":"2014-07-28T00:00:00Z",
    "TotalTime":6004.57,
    "AircraftEquipmentTimes":[
        {
        "LookupId":"14d4b3c8-1f6d-428f-ac57-975ea4236d71",
        "AircraftEquipmentTypeId":2,
        "Type":"APU",
        "Make":null,
        "ModelNumber":"131-9B",
        "SerialNumber":"no_update",
        "InstallDate":null,
        "Hours":81198.00,
        "Cycles":71124.00,
        "C1C":0.00,
        "C2C":0.00
        },
        {
        "LookupId":"280b0366-7df4-4d93-baed-2d9494e57eda",
        "AircraftEquipmentTypeId":3,
        "Type":"Engine 1",
        "Make":null,
        "ModelNumber":"CFM56-7B26/B1",
        "SerialNumber":"875922",
        "InstallDate":"1999-10-04",
        "Hours":6004.57,
        "Cycles":2502.00,
        "C1C":0.00,
        "C2C":0.00
        }
    ]
    }

Example Response:

HTTP/1.1 200 OK
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Date: Wed, 05 Nov 2014 19:54:59 GMT
    Content-Length: 1437
    {
    "HttpStatusCode":200,
    "Data":{
    "AircraftId":1808,
    "RegistrationNumber":"N12345",
    Flightdocs, Inc. 10 July 2014
    "Landings":2502,
    "LastUpdated":"2014-09-03T16:00:48.54Z",
    "LastUpdatedBy":0,
    "RIN":0,
    "ReportedDate":"2014-07-28",
    "TotalTime":6004.57,
    "AircraftEquipmentTimes":[
        {
        "LookupId":"14d4b3c8-1f6d-428f-ac57-975ea4236d71",
        "AircraftEquipmentTypeId":2,
        "Type":"APU",
        "Make":null,
        "ModelNumber":"131-9B",
        "SerialNumber":"no_update",
        "InstallDate":null,
        "Hours":81198.00,
        "Cycles":71124.00,
        "C1C":0.00,
        "C2C":0.00,
        "IsTrackedByAirframe":false
        },
        {
        "LookupId":"280b0366-7df4-4d93-baed-2d9494e57eda",
        "AircraftEquipmentTypeId":3,
        "Type":"Engine 1",
        "Make":null,
        "ModelNumber":"CFM56-7B26/B1",
        "SerialNumber":"875922",
        "InstallDate":"1999-10-04",
        "Hours":6004.57,
        "Cycles":2502.00,
        "C1C":0.00,
        "C2C":0.00,
        "IsTrackedByAirframe":true
        }
    ]
    },
    "Errors":[
    ],
    "Messages":[
    ],
    "IsSuccess":true,
    "AvailableRecordCount":0,
    "ErrorMessages":"No Errors Reported"
    }

GET /MaintenanceItem/GetDueList /{registrationNumber}

Get the current due list for an aircraft.

Parameters

Name Data Type Description
RegistrationNumber String(12) Required. This is the current registration or tail number of the aircraft as registered with Flightdocs.

Return Values (Array)

Name Data Type Description
AircraftId Int Internal database identifier for this registration (integer)
ATACode Int The ATA code for the item. 101 indicates a MEL item.
ATADisplay String(100) Formatted field combining ATACode, Mfg Maint Code, Amendment, and Version for display on reports.
CyclesOnPart Decimal Number of cycles the part has at installation
DueStatus Int Status Code to categorize items. (1 - No Categorization, 2 - Greater than 10 days till due, 3 - Within 10 days but not overdue, 4 - Past due but within tolerance, 5 - Past due)
Disposition String(50) Disposition of the maintenance task.
HasTaskcard Bool Indicator if the maintenance item has any taskcards.
Id Guid Unique identifier for a maintenance item.
GroupName String(200) Item Grouping Name
IntervalFormatted String(max) A textual formatted version of all intervals
IntervalAdjustmentFormatted String A textual formatted version of all interval adjustments
ItemDescription String(255) The textual description of the item (name).
ItemNumber Int The item number identifier
ItemType Int The type of item this is, which could be part, inspection, AD, etc.
LandingsOnPart Int Number of landings the part has at installation
LastCWFormatted String(max) The last complied with formatted
HoursOnPart Decimal The number of hours the part has at installation
ManufacturingMaintenanceCode String(40) The manufacturer maintenance code
NextDueDate Date The next due date (format YYYY-MM-DD)
NextDueHours Decimal The next due hours
NextDueLandings Int The next due landings
NextDueCycles Decimal The next due cycles
NextDueRIN Int The next due RIN
NextDueFormatted String(max) A formatted text-version of the next due date
PartNumberOn String(40) The part number currently on the aircraft, if applicable for the item
PartNumberOff String(40) The part number that came off the aircraft on last maintenance, if applicable for the item
Position String(30) Information about the position for the item. Open text field for customers to defined, not currently used in reporting.
Reference String(50) Reference field typically used for storing the AMM reference number.
RegularNotes String(max) Text notes
RemainingFormatted String(max) The formatted collection of metrics remaining before the next maintenance is due. For date based items it is a hard date. For all others it is based on the usage preferences for the airframe which can be set in the application.
RINOnPart Int The number of RIN the part has at installation
SerialNumberOn String(40) The serial number of the part currently on the aircraft, if applicable for the item
SerialNumberOff String(40) The serial number of the part that came off the aircraft on last maintenance, if applicable for the item
Tolerance String(50) The tolerance or grace period of a maintenance item
TrackedBy String(8) The major component this item is tracked by
TrackedByFormatted String(max) The tracked by formatted for display.
Aircraft_RegistrationNumber String(12) The current registration or tail number of the aircraft as registered with Flightdocs.

Example Request:

GET https://api.flightdocs.com/MaintenanceItem/GetDueList/N12345 HTTP/1.1
    Host: api.flightdocs.com
    Accept: application/json, text/plain, */*
    User-Agent: {user_agent}
    Authorization: Bearer {bearer_token_here}
    api-version: 1
    Time-Zone: America/New_York

Example Response:

HTTP/1.1 200 OK
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Date: Wed, 05 Nov 2014 19:54:59 GMT
    Content-Length: 1437
    {
    "HttpStatusCode":200,
    "Data":[
        {
        "AircraftId":1808,
        "ATACode":5,
        "ATADisplay":"5 0110",
        "CyclesOnPart":0.00,
        "Disposition":"",
        "DueStatus":1,
        "HasTaskcard":false,
        "GroupName":"1 MO",
        "HoursOnPart":0.00,
        "Id":"11842571-8ce3-40b6-9967-a3c8abc569a3",
        "IntervalFormatted":"M: 1\r\n",
        "IntervalAdjustmentFormatted":"",
        "ItemDescription":"1 MONTH CHECK",
        "ItemNumber":2534,
        "ItemType":1,
        "LandingsOnPart":0,
        "LastCWFormatted":"23/07/2014\r\nH: 81198\r\nL: 71141\r\n",
        "ManufacturingMaintenanceCode":"0110",
        "NextDueDate":"2014-08-31",
        "NextDueHours":null,
        "NextDueLandings":null,
        "NextDueCycles":null,
        "NextDueRIN":null,
        "NextDueFormatted":"31/08/2014\r\n",
        "PartNumberOn":null,
        "PartNumberOff":null,
        "Position":"One",
        "Reference":"",
        "RegularNotes":null,
        "RemainingFormatted":"M: -2\r\n",
        "RINOnPart":0,
        "SerialNumberOn":null,
        "SerialNumberOff":null,
        "Tolerance":"",
        "TrackedBy":"Airframe",
        "TrackedByFormatted":"Airframe",
        "Aircraft_RegistrationNumber":"N12345"
        },
        {
        "AircraftId":1808,
        "ATACode":5,
        "ATADisplay":"5 0135",
        "CyclesOnPart":0.00,
        "Disposition":"",
        "HasTaskcard":false,
        "HoursOnPart":0.00,
        "GroupName":"1m",
        "Id":"a683962b-fb74-4f4e-8edd-839d94d3d327",
        "IntervalFormatted":"D: 30\r\n",
        "IntervalAdjustmentFormatted":"",
        "ItemDescription":"FAR 135 AIRWORTHINESS RELEASE",
        "ItemNumber":5439,
        "ItemType":1,
        "LandingsOnPart":0,
        "LastCWFormatted":"23/07/2014\r\nH: 82000\r\nL: 71141\r\n",
        "ManufacturingMaintenanceCode":"0135",
        "NextDueDate":"2014-08-22",
        "NextDueHours":null,
        "NextDueLandings":null,
        "NextDueCycles":null,
        "NextDueRIN":null,
        "NextDueFormatted":"22/08/2014\r\n",
        "PartNumberOn":null,
        "PartNumberOff":null,
        "Position":"Two",
        "Reference":"",
        "RegularNotes":null,
        "RemainingFormatted":"D: -15\r\n",
        "RINOnPart":0,
        "SerialNumberOn":null,
        "SerialNumberOff":null,
        "Tolerance":"D: 20",
        "TrackedBy":"Airframe",
        "TrackedByFormatted":"Airframe",
        "Aircraft_RegistrationNumber":null
        }
    ],
    "Errors":[
    ],
    "Messages":[
    ],
    "IsSuccess":true,
    "AvailableRecordCount":2,
    "ErrorMessages":"No Errors Reported"
    }

GET /MaintenanceItem/GetDueList

Get the current due list for an aircraft based on passed in criteria. The criteria is used for projecting how far out items are retrieved based on daily aircraft utilization preferences.

Parameters

Name Data Type Description
RegistrationNumber String(12) Required/Optional. This is the current registration or tail number of the aircraft as registered with Flightdocs. This or the AircraftId is required on each request.
AircraftId Int Required/Optional. This is the Flightdocs Id used to identify a customer’s aircraft. This or the RegistrationNumber is required on each request.
ProjectedDays Int Optional. Sets the number of days out to get a due list for based on utilization for non-date based intervals (cycles, landings, hours). The default is 90 days.
ProjectedDueDate Date Optional. Overrides the due date that would be projected above. (Formatted as YYYY-MM-DD)
ProjectedHours Decimal Optional. Overrides calculated hours projection based on daily utilization preferences for hours based intervals.
ProjectedLandings Decimal Optional. Overrides calculated landings projection based on daily utilization preferences for landings based intervals.
ProjectedCycles Decimal Optional. Overrides calculated cycles projection based on daily utilization preferences for cycles based intervals.
ProjectedRIN Decimal Optional. Overrides calculated RIN projection based on daily utilization preferences for RIN based intervals.
ProjectedApuHours Decimal Optional. Overrides calculated APU hours projection based on daily utilization preferences for APU hours based intervals.
ProjectedApuCycles Decimal Optional. Overrides calculated APU cycles projection based on daily utilization preferences for APU cycles based intervals.
IncludePaging Bool Optional. Indicator if the results should be paged.
PageSize Int Optional. Number for records to return in each page of the results.
PageIndex Int Optional. Indicator of which page of the results to return.

Return Values (Array)

Name Data Type Description
AircraftId Int Internal database identifier for this registration (integer)
ATACode Int The ATA code for the item. 101 indicates a MEL item.
ATADisplay String(100) Formatted field combining ATACode, Mfg Maint Code, Amendment, and Version for display on reports.
CyclesOnPart Decimal Number of cycles the part has at installation
DueStatus Int Status Code to categorize items. (1 - No Categorization, 2 - Greater than 10 days till due, 3 - Within 10 days but not overdue, 4 - Past due but within tolerance, 5 - Past due)
Disposition String(50) Disposition of the maintenance task.
HasTaskcard Bool Indicator if the maintenance item has any taskcards.
Id Guid Unique identifier for a maintenance item.
GroupName String(200) Item Grouping Name
IntervalFormatted String(max) A textual formatted version of all intervals
IntervalAdjustmentFormatted String A textual formatted version of all interval adjustments
ItemDescription String(255) The textual description of the item (name).
ItemNumber Int The item number identifier
ItemType Int The type of item this is, which could be part, inspection, AD, etc.
LandingsOnPart Int Number of landings the part has at installation
LastCWFormatted String(max) The last complied with formatted
HoursOnPart Decimal The number of hours the part has at installation
ManufacturingMaintenanceCode String(40) The manufacturer maintenance code
NextDueDate Date The next due date (Format YYYY-MM-DD)
NextDueHours Decimal The next due hours
NextDueLandings Int The next due landings
NextDueCycles Decimal The next due cycles
NextDueRIN Int The next due RIN
NextDueFormatted String(max) A formatted text-version of the next due date
PartNumberOn String(40) The part number currently on the aircraft, if applicable for the item
PartNumberOff String(40) The part number that came off the aircraft on last maintenance, if applicable for the item
Position String(30) Information about the position for the item. Open text field for customers to defined, not currently used in reporting.
Reference String(50) Reference field typically used for storing the AMM reference number.
RegularNotes String(max) Text notes
RemainingFormatted String(max) The formatted collection of metrics remaining before the next maintenance is due. For date based items it is a hard date. For all others it is based on the usage preferences for the airframe which can be set in the application.
RINOnPart Int The number of RIN the part has at installation
SerialNumberOn String(40) The serial number of the part currently on the aircraft, if applicable for the item
SerialNumberOff String(40) The serial number of the part that came off the aircraft on last maintenance, if applicable for the item
Tolerance String(50) The tolerance or grace period of a maintenance item
TrackedBy String(8) The major component this item is tracked by
TrackedByFormatted String(max) The tracked by formatted for display.
Aircraft_RegistrationNumber String(12) The current registration or tail number of the aircraft as registered with Flightdocs.

Example Request:

GET https://api.flightdocs.com/MaintenanceItem/GetDueList?RegistrationNumber=N12345&ProjectedDays=180 HTTP/1.1
    Host: api.flightdocs.com
    Accept: application/json, text/plain, */*
    User-Agent: {user_agent}
    Authorization: Bearer {bearer_token_here}
    api-version: 1
    Time-Zone: America/New_York

Example Response:

HTTP/1.1 200 OK
    Cache-Control: no-cache
    Pragma: no-cache
    Content-Type: application/json; charset=utf-8
    Expires: -1
    Strict-Transport-Security: max-age=2592000
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    Date: Wed, 05 Nov 2014 19:54:59 GMT
    Content-Length: 1437
    {
    "HttpStatusCode":200,
    "Data":[
        {
        "AircraftId":1808,
        "ATACode":5,
        "ATADisplay":"5 0110",
        "CyclesOnPart":0.00,
        "Disposition":"",
        "DueStatus":1,
        "HasTaskcard":false,
        "GroupName":"1 MO",
        "HoursOnPart":0.00,
        "Id":"11842571-8ce3-40b6-9967-a3c8abc569a3",
        "IntervalFormatted":"M: 1\r\n",
        "IntervalAdjustmentFormatted":"",
        "ItemDescription":"1 MONTH CHECK",
        "ItemNumber":2534,
        "ItemType":1,
        "LandingsOnPart":0,
        "LastCWFormatted":"23/07/2014\r\nH: 81198\r\nL: 71141\r\n",
        "ManufacturingMaintenanceCode":"0110",
        "NextDueDate":"2014-08-31",
        "NextDueHours":null,
        "NextDueLandings":null,
        "NextDueCycles":null,
        "NextDueRIN":null,
        "NextDueFormatted":"31/08/2014\r\n",
        "PartNumberOn":null,
        "PartNumberOff":null,
        "Position":"One",
        "Reference":"",
        "RegularNotes":null,
        "RemainingFormatted":"M: -2\r\n",
        "RINOnPart":0,
        "SerialNumberOn":null,
        "SerialNumberOff":null,
        "Tolerance":"",
        "TrackedBy":"Airframe",
        "TrackedByFormatted":"Airframe",
        "Aircraft_RegistrationNumber":"N12345"
        },
        {
        "AircraftId":1808,
        "ATACode":5,
        "ATADisplay":"5 0135",
        "CyclesOnPart":0.00,
        "Disposition":"",
        "HasTaskcard":false,
        "HoursOnPart":0.00,
        "GroupName":"1m",
        "Id":"a683962b-fb74-4f4e-8edd-839d94d3d327",
        "IntervalFormatted":"D: 30\r\n",
        "IntervalAdjustmentFormatted":"",
        "ItemDescription":"FAR 135 AIRWORTHINESS RELEASE",
        "ItemNumber":5439,
        "ItemType":1,
        "LandingsOnPart":0,
        "LastCWFormatted":"23/07/2014\r\nH: 82000\r\nL: 71141\r\n",
        "ManufacturingMaintenanceCode":"0135",
        "NextDueDate":"2014-08-22",
        "NextDueHours":null,
        "NextDueLandings":null,
        "NextDueCycles":null,
        "NextDueRIN":null,
        "NextDueFormatted":"22/08/2014\r\n",
        "PartNumberOn":null,
        "PartNumberOff":null,
        "Position":"Two",
        "Reference":"",
        "RegularNotes":null,
        "RemainingFormatted":"D: -15\r\n",
        "RINOnPart":0,
        "SerialNumberOn":null,
        "SerialNumberOff":null,
        "Tolerance":"D: 20",
        "TrackedBy":"Airframe",
        "TrackedByFormatted":"Airframe",
        "Aircraft_RegistrationNumber":null
        }
    ],
    "Errors":[
    ],
    "Messages":[
    ],
    "IsSuccess":true,
    "AvailableRecordCount":2,
    "ErrorMessages":"No Errors Reported"
    }