PUT /beacons/{version}

This API is used to register a new beacon in the common-use beacon registry. This API is called when deploying beacons at an airport. This API should only be used by vendors responsible for deploying fleets of beacons at airports. It is not used by application developers building consumer or workforce apps.

When adding iBeacons, it is important to remember the two elements of the Common-use standards, namely:

  • The UUID identifies the airport. Therefore all beacons in an airport must have the same UUID.
  • The majorId identifies the beacon type (the zone of the airport the beacon identifies). Therefore all beacons of the same type must have the same majorId

The purpose of adding the beacon into the common use registry is to make it available to all stakeholders at an airport (one beacon has multiple users - it becomes a piece of common use infrastructure in the airport). To make the overall system interoperable for all users, it is important that beacons are added consistently.

Verb URI Description
PUT /beacons/{ver} Add (or update an existing) beacon in the registry.

Path Parameters

Path Parameter Notes Example
ver API Version number 1

Usage Data Format

The data to POST to this API is a JSON object defining the fields necessary to describe the iBeacon.


{
  "idBeacon": 1804,
  "location": "MIA",
  "macAddress": "xx:xx:xx:xx:xx:xx",
  "uuid": "B6DA35B4-0318-4B60-96BA-CECD44237BE1",
  "majorId": 1100,
  "minorId": 1042,
  "name": "Conservatory",
  "advertisingInterval": 100,
  "power": -12,
  "beaconType": "Waypoint",
  "airside": true,
  "metaData": {
    "myValue" : 100
  },
  "publicBeacon": true,
  "terminal": "D",
  "concourse": "1",
  "latitude": 50.832969999999996,
  "longitude": -0.196875,
  "floor": 0
}

  • idBeacon : Optional field specifying the unique id of the beacon in the registry. If this field is missing or null, a new beacon will be added. Otherwise the existing beacon will be updated.

  • location : This is the IATA 3 letter airport code where the beacon is deployed.

  • macAddress : The MAC address of the beacon must be unique across the system.

  • uuid : The UUID of the beacon should match the designated UUID for the airport. It should be in the format '4BD531DF-4A43-46A1-BC69-22C6F1EC07E2'.

  • majorId : In the registry standard, the majorId identifies the beaconType.

  • flightDate : A unique identifier for the device on which the detections occurred. This is an optional field. It may be useful for analytics when later used by the organisation that generated the report data.

  • beaconType : The beacon type must match one of the valid airport beacon types.

  • beaconName : The beacon name must identify the beacon. Typically this will be the gate number or baggage carousel number for beacons of Gate or BaggageHall type. Or for Retail/Restaurant beacons it will be the name of the establishment.

  • airside : This value should be true or false, specifying if this beacon is located pre or post security.

  • publicBeacon : This value should be true or false. If true, this beacon will be available to all developers with an authorised app key. If false it will only be available to developers with an application key specific to the organisation that added the beacon.

  • terminal : Specifies which terminal the beacon is located in.

  • concourse : Specifies which concourse the beacon is located in.

  • floor : Specifies which floor of the airport the beacon is located in. The floor naming should match the naming standard at the airport location.

  • longitude : Specifies the longitude of the geographical location of the beacon.

  • latitude : Specifies the latitude of the geographical location of the beacon.

The reponse will be HTTP_OK for success, otherwise a HTTP status code. The respnse data will contain the beacon JSON data, including the beaconId value for newly added beacons.