Aircraft Registration API

This API exposes registration data and additional functionalities to enable developers and interested parties build applications and tools that utilize the data in the registry. The API is JSON-rest based and uses standard HTTP response codes to indicate API errors and successes.

Token Authentication

The registration data is exposed via a OAUTH token that is linked to a user account on the system. To generate a OAUTH token and credentials you must first create a account and follow instructions at the Token Generation page on our website. If your account is for specific law enforcement bodies or regulatory bodies, you will be required to request privileged access, you can get your tokens by filling out the form here Privileged Access request

Access

This API supports only https:// connections via the API. http:// connections will be given a automatic HTTP 301 response.

Read-only

This API supports only data to be read out of the registry. At this moment, we do not support write calls into the registry. It is assumed that the writes will be done through a different workflow that require additional documentation. This registry API can easily be extended to make write calls as well.

Pagination

API responses are paginated. The default page size is 20; you can alter this by adding the page_size parameter to your request.

Limits

The API system throttles reqests to 1000 per hour for a particular token after which it will deny repeated requests for 30 minutes. If you require unthrottled access, please contact us using the Special Access request. For more information please review Identity and Authentication document.

Response Codes

The API uses standard HTTP response codes to communicate the status of the request. In general, 2xx codes signify success and 4xx codes signify failure, and these codes are generally associated with an invalid parameter being provided in the request. A 5xx code is a general server failure on our side. Please contact our support team if you encounter 5xx errors. Please refer to the Wikipedia page on HTTP request codes for more information

Operator API

Resources related to Operator Registration in the API

All Operators

GET https://www.caa.com/api/v1/operators/
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": "41174c3f-e86c-4e5a-a629-32d4d9da6011",
    "company_name": "A.J. August Photography",
    "website": "august.com",
    "email": "aj@august.com",
    "phone_number": "+497221816880"
  },
  {
    "id": "566d63bb-cb1c-42dc-9a51-baef0d0a8d04",
    "company_name": "Electric Inspection",
    "website": "electricinspection.com",
    "email": "contact@electricinspection.com",
    "phone_number": "+4930292487"
  }
]

List all operators
GET/operators/

Scope registry.read.operator

Returns a list of operators in the registry


Single Operator Details

GET https://www.caa.com/api/v1/operators/4f140e59/
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "250FF",
  "company_name": "Aalto Korkeakoulusäätiö",
  "email": "mikko.raskinen@aalto.fi",
  "website": "aalto.fi"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "company_name": {
      "type": "string",
      "description": "Registered name of the operator"
    },
    "email": {
      "type": "string",
      "description": "email contact address of operator\n\nA valid email address per [IETF](https://tools.ietf.org/html/rfc5322)"
    },
    "website": {
      "type": "string",
      "description": "Web address of operator"
    }
  },
  "required": [
    "id"
  ]
}

Get a single operator
GET/operators/{operatorid}/

Scope registry.read.operator_detail

Returns all the details of a single operator available in the database. The operator id is the unique ID assoicated with the operator that is in the form of a uuid.

URI Parameters
HideShow
operatorid
string (required) Example: 4f140e59

98c3-4bc2-bf30-eec982c132ad (string) - The ID of a operator in the form of an string


Privileged Single Operator Details

GET https://www.caa.com/api/v1/operators/4f140e59/privileged/
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "41174c3f-e86c-4e5a-a629-32d4d9da6011",
  "company_name": "A.J. August Photography",
  "country": "NA",
  "website": "august.com",
  "email": "aj@august.com",
  "operator_type": 0,
  "address": {
    "id": "8ddda026-2995-44ef-9eab-55e396eaef0d",
    "address_line_1": "Claureen Lahinch rd Ennis",
    "address_line_2": "",
    "address_line_3": "",
    "postcode": "D02VE22",
    "city": "Westport",
    "country": "IE",
    "created_at": "2018-09-04T12:20:30Z",
    "updated_at": "2018-09-04T12:20:30Z"
  },
  "operational_authorizations": [
    "SORA"
  ],
  "authorized_activities": [
    "videotaping",
    "photographing"
  ],
  "created_at": "2018-09-04T12:20:30Z",
  "updated_at": "2018-09-04T12:20:30Z"
}

Get a operator (Privileged)
GET/operators/{operatorid}/privileged/

Scope registry.read.operator_detail.privileged

This is a privileged request made by a interested party that has special access privileges in the registry. Returns all the details of a single operator available in the database. The operatorid is the unique ID assoicated with the operator that is in the form of a uuid.

URI Parameters
HideShow
operatorid
string (required) Example: 4f140e59

98c3-4bc2-bf30-eec982c132ad (string) - The ID of a operator in the form of an string


Operator Aircraft Details

GET https://www.caa.com/api/v1/operators/4f140e59/aircraft
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "250FF",
  "mass": 300,
  "manufacturer": "6f9cd973",
  "esn": "6f9cd973",
  "maci_number": "86ac",
  "status": 1,
  "registration_mark": "EF3FE",
  "category": "Fixed Wing",
  "master_series": "null",
  "series": "null",
  "photo": "null",
  "photo_small": "null",
  "sub_category": "null",
  "icao_aircraft_type_designator": "null",
  "max_certified_takeoff_weight": "null"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "mass": {
      "type": "number",
      "description": "Mass of the aircraft"
    },
    "manufacturer": {
      "type": "string",
      "description": "15b9-4066-b4d0-1e8bbd0f279d (string) - ID of the manufacturer in the registry"
    },
    "esn": {
      "type": "string",
      "description": "15b9-4066-b4d0-1e8bbd0f279d (string) - Electronic serial number of the aircraft"
    },
    "maci_number": {
      "type": "string",
      "description": "42dc-8d19 (string) - MACI Number of the aircraft"
    },
    "status": {
      "type": "number",
      "description": "1 if aircraft is active and in service, 0 if not"
    },
    "registration_mark": {
      "type": "string",
      "description": "Registration mark on the aircraft"
    },
    "category": {
      "type": "string",
      "description": "Category of the aircraft"
    },
    "master_series": {
      "type": "string",
      "description": "Master Series of the aircraft if available"
    },
    "series": {
      "type": "string",
      "description": "Series of the aircraft if available"
    },
    "photo": {
      "type": "string",
      "description": "URL to the photo of the aircraft"
    },
    "photo_small": {
      "type": "string",
      "description": "URL to a small  photo of the aircraft"
    },
    "sub_category": {
      "type": "string",
      "description": "Sub-category of aircraft if available"
    },
    "icao_aircraft_type_designator": {
      "type": "string",
      "description": "ICAO aircraft type if available"
    },
    "max_certified_takeoff_weight": {
      "type": "string",
      "description": "Maximum certified take off weight"
    }
  },
  "required": [
    "id"
  ]
}

Get aircraft for operator
GET/operators/{operatorid}/aircraft

Scope registry.read.operator_aircraft

Returns all the details of a single operator available in the database. The operator id is the unique ID assoicated with the operator that is in the form of a uuid.

URI Parameters
HideShow
operatorid
string (required) Example: 4f140e59

98c3-4bc2-bf30-eec982c132ad (string) - The ID of a operator in the form of an string


Contact API

Resources related to Contacts with in the Registration in the API

All Contacts

GET https://www.caa.com/api/v1/contacts/
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": "a7646ce2-f7df-48a9-9ff8-98dfd04794be",
    "operator": {
      "id": "41174c3f-e86c-4e5a-a629-32d4d9da6011",
      "company_name": "A.J. August Photography",
      "website": "august.com",
      "email": "aj@august.com",
      "phone_number": "+497221816880"
    },
    "person": {
      "id": "e61a74c8-7aa4-4dd3-82ba-11b174a44870",
      "first_name": "Catherine",
      "middle_name": null,
      "last_name": "OConor",
      "email": "catherine@gmail.com",
      "created_at": "2018-09-04T12:20:30Z",
      "updated_at": "2018-09-04T12:20:30Z"
    },
    "role_type": 0,
    "updated_at": "2018-09-04T12:20:30Z"
  },
  {
    "id": "c3ae2bb0-19f6-4738-a53b-cdb0acbaf5b1",
    "operator": {
      "id": "566d63bb-cb1c-42dc-9a51-baef0d0a8d04",
      "company_name": "Electric Inspection",
      "website": "electricinspection.com",
      "email": "contact@electricinspection.com",
      "phone_number": "+4930292487"
    },
    "person": {
      "id": "a2f3b8b2-183d-44df-9254-83aca26d01c0",
      "first_name": "Molly",
      "middle_name": "S",
      "last_name": "Storey",
      "email": "molly@hotmail.com",
      "created_at": "2018-09-04T12:20:30Z",
      "updated_at": "2018-09-04T12:20:30Z"
    },
    "role_type": 1,
    "updated_at": "2018-09-04T12:20:30Z"
  }
]

List all contacts
GET/contacts/

Scope registry.read.contact

Returns a list of contact people in the registry


Single Contact Details

GET https://www.caa.com/api/v1/contacts/4f140e59/
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "250FF",
  "company_name": "Aalto Korkeakoulusäätiö",
  "contact_name": "Aalto Korkeakoulusäätiö",
  "email": "mikko.raskinen@aalto.fi"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "company_name": {
      "type": "string",
      "description": "Registered name of the operator"
    },
    "contact_name": {
      "type": "string",
      "description": "Name of the contact person in the operator"
    },
    "email": {
      "type": "string",
      "description": "email contact address of operator\n\nA valid email address per [IETF](https://tools.ietf.org/html/rfc5322)"
    }
  },
  "required": [
    "id"
  ]
}

Get a single contact
GET/contacts/{contactid}/

Scope registry.read.contact_detail

Returns all the details of a single contact and basic information about the contact person available in the database. The contact id is the unique ID assoicated with a contact person for the operator that is in the form of a uuid.

URI Parameters
HideShow
contactid
string (required) Example: 4f140e59

98c3-4bc2-bf30-eec982c132ad (string) - The ID of a contact person for a operator in the form of an string


Privileged Single Contact Details

GET https://www.caa.com/api/v1/contacts/4f140e59/privileged
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "250FF",
  "company_name": "Aalto Korkeakoulusäätiö",
  "contact_name": "Aalto Korkeakoulusäätiö",
  "email": "mikko.raskinen@aalto.fi"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "company_name": {
      "type": "string",
      "description": "Registered name of the operator"
    },
    "contact_name": {
      "type": "string",
      "description": "Name of the contact person in the operator"
    },
    "email": {
      "type": "string",
      "description": "email contact address of operator\n\nA valid email address per [IETF](https://tools.ietf.org/html/rfc5322)"
    }
  },
  "required": [
    "id"
  ]
}

Get a single contact
GET/contacts/{contactid}/privileged

Scope registry.read.contact_detail.privileged

Returns all the details of a single contact and basic information about the contact person available in the database. The contact id is the unique ID assoicated with a contact person for the operator that is in the form of a uuid.

URI Parameters
HideShow
contactid
string (required) Example: 4f140e59

98c3-4bc2-bf30-eec982c132ad (string) - The ID of a contact person for a operator in the form of an string


Pilot API

Resources related to Pilots with in the Registration in the API

All Pilots

GET https://www.caa.com/api/v1/pilots/
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
[
  {
    "id": "d4b8aa2c-0a52-4adc-806a-f363deb6a1e0",
    "created_at": "2018-09-04T12:20:30Z",
    "updated_at": "2018-09-04T12:20:30Z"
  },
  {
    "id": "2f15a395-65a3-4a73-a492-57c7c470d527",
    "created_at": "2018-09-04T12:20:30Z",
    "updated_at": "2018-09-04T12:20:30Z"
  }
]

List all pilots
GET/pilots/

Scope registry.read.pilot

Returns a list of pilots in the registry


Single Pilot Details

GET https://www.caa.com/api/v1/pilots/4f140e59
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "d4b8aa2c-0a52-4adc-806a-f363deb6a1e0",
  "is_active": true,
  "tests": [],
  "updated_at": "2018-09-04T12:20:30Z",
  "created_at": "2018-09-04T12:20:30Z",
  "person": {
    "id": "32153c3b-663b-41e4-afc2-47127a713704",
    "first_name": "Mickey",
    "middle_name": "Richard",
    "last_name": "Matheny",
    "email": "MickeyRMatheny@teleworm.us",
    "created_at": "2018-09-04T12:20:30Z",
    "updated_at": "2018-09-04T12:20:30Z"
  }
}

Get a single pilot
GET/pilots/{pilotid}

Scope registry.read.pilot_detail

Returns all the details of a single pilot and basic information about the pilot available in the database. The pilot id is the unique ID assoicated with a pilot for the operator that is in the form of a uuid.

URI Parameters
HideShow
pilotid
string (required) Example: 4f140e59

98c3-4bc2-bf30-eec982c132ad (string) - The ID of a pilot for a operator in the form of an string


Privileged Single Pilot Details

GET https://www.caa.com/api/v1/pilots/4f140e59/privileged
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "d4b8aa2c-0a52-4adc-806a-f363deb6a1e0",
  "operator": {
    "id": "566d63bb-cb1c-42dc-9a51-baef0d0a8d04",
    "company_name": "Electric Inspection",
    "website": "electricinspection.com",
    "email": "contact@electricinspection.com",
    "phone_number": "+4930292487"
  },
  "is_active": true,
  "tests": [],
  "address": {
    "id": "28b2f84c-6798-49b9-9114-97d1d14f49f2",
    "address_line_1": "8 Biscay Rd, Sorrento",
    "address_line_2": "",
    "address_line_3": "",
    "postcode": "NR24 7DZ",
    "city": "SHARRINGTON",
    "country": "GB",
    "created_at": "2018-09-04T12:20:30Z",
    "updated_at": "2018-09-04T12:20:30Z"
  },
  "person": {
    "id": "32153c3b-663b-41e4-afc2-47127a713704",
    "first_name": "Mickey",
    "middle_name": "Richard",
    "last_name": "Matheny",
    "email": "MickeyRMatheny@teleworm.us",
    "created_at": "2018-09-04T12:20:30Z",
    "updated_at": "2018-09-04T12:20:30Z"
  },
  "updated_at": "2018-09-04T12:20:30Z",
  "created_at": "2018-09-04T12:20:30Z",
  "photo_small": "https://i.imgur.com/p9wrHKC.png",
  "photo": "https://i.imgur.com/3j5jWDt.png"
}

Get a single pilot (Privileged)
GET/pilots/{pilotid}/privileged

Scope registry.read.pilot_detail.privileged

Returns all the details of a single pilot and basic information about the pilot available in the database. The pilot id is the unique ID assoicated with a pilot for the operator that is in the form of a uuid.

URI Parameters
HideShow
pilotid
string (required) Example: 4f140e59

98c3-4bc2-bf30-eec982c132ad (string) - The ID of a pilot for a operator in the form of an string


Aircraft API

Resources related to Aircraft with in the Registration in the API

All Aircraft

GET https://www.caa.com/api/v1/aircrafts/
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Body
{
  "manufacturer": "DJI",
  "model": "Parrot",
  "mass": "300",
  "esn": "5G6532640000000000000000823050083171098833641055",
  "maci_number": "3d9-23",
  "status": "active"
}
Schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "manufacturer": {
      "type": "string"
    },
    "model": {
      "type": "string"
    },
    "mass": {
      "type": "number"
    },
    "esn": {
      "type": "string"
    },
    "maci_number": {
      "type": "string"
    }
  }
}
Responses200
Headers
Content-Type: application/json
Body
{
  "equipment_id": "26bc3e7710ea"
}

List all Aircraft
GET/aircrafts/

Scope registry.read.aircraft

List all aircraft in the registry


Single Aircraft Details

GET https://www.caa.com/api/v1/aircrafts/4D4652310000000000000000313233343436373839414243
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "0797d9ef-02d9-41cf-93ff-439aaf1609ae",
  "registration_mark": null,
  "maci_number": "86ac-42dc-8d19",
  "updated_at": "2018-09-04T12:20:30Z",
  "mass": 300,
  "manufacturer": "6f9cd973-15b9-4066-b4d0-1e8bbd0f279d",
  "model": "Parrot",
  "status": 1,
  "created_at": "2018-09-04T12:20:30Z"
}

Get a single Aircraft
GET/aircrafts/{aircraftid}

Scope registry.read.aircraft_detail

Get information about a Aircraft by looking up its ESN

URI Parameters
HideShow
aircraftid
string (required) Example: 4D4652310000000000000000313233343436373839414243

ESN of Aircraft, ESN = [Manufacturer’s Code] [Serial Number] [IMEISV] [Performative Characteristics]


Single Aircraft Details

GET https://www.caa.com/api/v1/aircrafts/4D4652310000000000000000313233343436373839414243/privileged
Requestsexample 1
Headers
Content-Type: application/json
Authorization: Bearer ABC123
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "0450852f-856e-4ecb-beb6-01ccded8529d",
  "mass": 700,
  "manufacturer": {
    "id": "4effcea2-e9d4-4696-891f-52d350d68a9f",
    "full_name": "Sensefly Drones Inc",
    "common_name": "Sensefly",
    "address": null,
    "role": "Manufacturer"
  },
  "model": "eBee",
  "esn": "5G6532640000000000000000823050083171098833641055",
  "maci_number": "eb30-4fb4-b12d",
  "status": 1,
  "registration_mark": null,
  "category": "FIXED WING",
  "type_certificate": {
    "id": "75f358c6-e8d3-46aa-a3de-172bdcea469d",
    "type_certificate_id": "1dc42b2a-7e3f-4e87-b23d-353ec8a06705",
    "type_certificate_issuing_country": "IRE",
    "type_certificate_holder": "Agro Products Inc.",
    "type_certificate_holder_country": "IRE"
  },
  "created_at": "2018-09-04T12:20:30Z",
  "master_series": null,
  "series": null,
  "popular_name": null,
  "sub_category": "UAV",
  "photo": "https://i.imgur.com/d8QP0Ay.png",
  "photo_small": "https://i.imgur.com/gwV04ms.png",
  "icao_aircraft_type_designator": "STRM",
  "max_certified_takeoff_weight": "0.000",
  "updated_at": "2018-09-04T12:20:30Z"
}

Get a single Aircraft (privileged)
GET/aircrafts/{aircraftid}/privileged

Scope registry.read.aircraft_detail.privileged

Get privileged information about a Aircraft by looking up its ESN

URI Parameters
HideShow
aircraftid
string (required) Example: 4D4652310000000000000000313233343436373839414243

ESN of Aircraft, ESN = [Manufacturer’s Code] [Serial Number] [IMEISV] [Performative Characteristics]


Generated by aglio on 21 Oct 2020