APIs
All of these calls require a valid API key
User APIs
GET /api/user
Returns the user's information, including bids, etc. Example response:
Sample Response:
{
"data": {
"id":2,
"name":"Adam Lockman PhD",
"email":"miles.sporer@example.net",
"apikey":null,
"rank_id":"1",
"home_airport": "KJFK",
"curr_airport": "KJFK",
"last_pirep_id": 1,
"flights":0,
"flight_time":914,
"balance":0,
"timezone": "American/Chicago",
"status":0,
"state":1,
"airline":{
"id":1,
"icao":"VMS",
"iata":"VMS",
"name":"phpVMS Airlines",
"country":"United States",
"logo":null
},
"bids":[
],
"rank":{
"name":"New Pilot",
"subfleets":[
]
}
}
}
GET /api/user/fleet
This returns the subfleets and aircraft that this user's rank gives them access to.
Sample Response:
{
"data": [
{
"id":1,
"airline_id":1,
"name":"Boeing 747-400",
"type":"B744",
"fuel_type":null,
"cargo_capacity":null,
"fuel_capacity":null,
"gross_weight":null,
"aircraft":[
{
"id":1,
"subfleet_id":"1",
"icao":"B744",
"airport_id":"KJFK",
"hex_code":null,
"name":"Boeing 747 \"The Queen\"",
"registration":"NC17",
"tail_number":"17",
"active":true,
"created_at":"2018-01-08 21:37:13",
"updated_at":"2018-01-08 21:37:13"
}
]
}
]
}
GET /api/user/bids
This returns the user's bids, as a list of flights.
Sample Response:
{
"data": [
{
"id": "flightid_1",
"airline": {
"id": 1,
"icao": "VMS",
"iata": "VM",
"name": "phpvms airlines",
"country": null,
"logo": null,
"active": true,
"total_flights": 0,
"total_time": 0,
"created_at": "2018-01-06 20:24:13",
"updated_at": "2018-01-06 20:24:13"
},
"flight_number": 100,
"route_code": null,
"route_leg": null,
"distance": {
"mi": 2028,
"nmi": 1762.283818574514,
"km": 3263.749632
},
"dpt_airport_id": "KAUS",
"arr_airport_id": "KJFK",
"alt_airport_id": null,
"route": "KAUS SID TNV J87 IAH J2 LCH J22 MEI J239 ATL J52 AJFEB J14 BYJAC Q60 JAXSN J14 COLIN J61 HUBBS J55 SIE STAR KJFK",
"dpt_time": "6PM CST",
"arr_time": "11PM EST",
"flight_time": 360,
"notes": "",
"active": true,
"subfleet": [
{
"id": 1,
"airline_id": 1,
"name": "747-400 Winglets",
"type": "744W",
"fuel_type": null,
"cargo_capacity": null,
"fuel_capacity": null,
"gross_weight": null,
"aircraft": [
{
"id": 1,
"subfleet_id": "1",
"icao": null,
"airport_id": null,
"hex_code": null,
"name": "Boeing 747-400",
"registration": "NC17",
"tail_number": "17",
"active": true,
"created_at": null,
"updated_at": null
}
]
}
]
}
]
}
PUT /api/user/bids
Add a bid for a flight for the user. Returns the current list of bids.
Notes
- If there already is a bid on a flight, a
409
HTTP response is returned
Sample Request
{
"flight_id": "flightid_1"
}
Response
See the GET /api/user/bids
call
DELETE /api/user/bids
Remove a bid for a flight for the user. Returns the current list of bids.
Sample Request
{
"flight_id": "flightid_1"
}
Response
See the GET /api/user/bids
call
Airlines
GET /api/airlines
Get all of the airlines. Paginated
Sample Response:
{
"data":[
{
"id":1,
"icao": "VMS",
"iata": "VMS",
"name": "phpVMS Airlines",
"country": "United States",
"logo": null
}
],
"links":{
"first":"http://phpvms.test/api/airlines?page=1",
"last":"http://phpvms.test/api/airlines?page=1",
"prev":null,
"next":null
},
"meta":{
"current_page":1,
"from":1,
"last_page":1,
"path":"http://phpvms.test/api/airlines",
"per_page":50,
"to":1,
"total":1
}
}
GET /api/airlines/{ID}
Get information about a specific airline
Sample Response:
{
"data": {
"id":1,
"icao": "VMS",
"iata": "VMS",
"name": "phpVMS Airlines",
"country": "United States",
"logo": null
}
}
Airports
GET /api/airports
Get all of the airports, paginated list
Sample Response:
{
"data":[
{
"id":"KJFK",
"iata":"KJFK",
"icao":"KJFK",
"name":"John F Kennedy International Airport",
"city":"New York",
"country":"United States",
"location":null,
"hub": true,
"fuel_100ll_cost": 0.00,
"fuel_jeta_cost": 0.00,
"fuel_mogas_cost": 0.00,
"tz":"America/New_York",
"lat":40.6398,
"lon":-73.7789
}
],
"links":{
"first":"http://phpvms.test/api/airports?page=1",
"last":"http://phpvms.test/api/airports?page=2",
"prev":null,
"next":"http://phpvms.test/api/airports?page=2"
},
"meta":{
"current_page":1,
"from":1,
"last_page":2,
"path":"http://phpvms.test/api/airports",
"per_page":50,
"to":2,
"total":2
}
}
GET /api/airports/hubs
Get all of the hubs, paginated list
Sample Response:
{
"data":[
{
"id":"KJFK",
"iata":"KJFK",
"icao":"KJFK",
"name":"John F Kennedy International Airport",
"city":"New York",
"country":"United States",
"location":null,
"hub": true,
"fuel_100ll_cost": 0.00,
"fuel_jeta_cost": 0.00,
"fuel_mogas_cost": 0.00,
"tz":"America/New_York",
"lat":40.6398,
"lon":-73.7789
}
],
"links":{
"first":"http://phpvms.test/api/airports?page=1",
"last":"http://phpvms.test/api/airports?page=2",
"prev":null,
"next":"http://phpvms.test/api/airports?page=2"
},
"meta":{
"current_page":1,
"from":1,
"last_page":2,
"path":"http://phpvms.test/api/airports",
"per_page":50,
"to":2,
"total":2
}
}
GET /api/airports/{ICAO}
Get the details about an airport
Sample Response:
{
"data": {
"id":"KJFK",
"iata":"KJFK",
"icao":"KJFK",
"name":"John F Kennedy International Airport",
"city":"New York",
"country":"United States",
"location":null,
"hub": true,
"fuel_100ll_cost": 0.00,
"fuel_jeta_cost": 0.00,
"fuel_mogas_cost": 0.00,
"tz":"America/New_York",
"lat":40.6398,
"lon":-73.7789
}
}
Fleet
GET /api/fleet
Get all of the subfleets and aircraft under the fleet. Includes the fare and airline information. Paginated
Sample Response:
{
"data":[
{
"id":1,
"airline_id":1,
"name":"Boeing 747-400",
"type":"B744",
"fuel_type":null,
"cargo_capacity":null,
"fuel_capacity":null,
"gross_weight":null,
"aircraft":[
{
"id":1,
"subfleet_id":"1",
"icao":"B744",
"airport_id":"KJFK",
"hex_code":null,
"name":"Boeing 747 \"The Queen\"",
"registration":"NC17",
"tail_number":"17",
"active":true,
"created_at":"2018-01-08 21:37:13",
"updated_at":"2018-01-08 21:37:13"
}
]
}
],
"links":{
"first":"http://phpvms.test/api/fleet?page=1",
"last":"http://phpvms.test/api/fleet?page=1",
"prev":null,
"next":null
},
"meta":{
"current_page":1,
"from":1,
"last_page":1,
"path":"http://phpvms.test/api/fleet",
"per_page":50,
"to":2,
"total":2
}
}
GET /api/fleet/aircraft/{id}
Return information about an aircraft, including the subfleet information
Query string parameters: ?type=[parameter]
. Default/blank is the DB ID
registration
tail_number
icao
Sample Response:
{
"data": {
"id":1,
"subfleet_id":"1",
"icao":"B744",
"airport_id":"KJFK",
"hex_code":null,
"name":"Boeing 747 \"The Queen\"",
"registration":"NC17",
"tail_number":"17",
"active":true,
"subfleet": {
"id":1,
"airline_id":1,
"name":"Boeing 747-400",
"type":"B744",
"fuel_type":null,
"cargo_capacity":null,
"fuel_capacity":null,
"gross_weight":null
},
"created_at":"2018-01-08 21:37:13",
"updated_at":"2018-01-08 21:37:13"
}
}
Flights
GET /api/flights
Return all of the flights, paginated
flight_type
. See Flight Types for possible values
Sample Response:
{
"data": [
{
"id": "flightid_1",
"airline": {
"id": 1,
"icao": "VMS",
"iata": "VM",
"name": "phpvms airlines",
"country": null,
"logo": null,
"active": true,
"total_flights": 0,
"total_time": 0,
"created_at": "2018-01-06 20:24:13",
"updated_at": "2018-01-06 20:24:13"
},
"flight_number": 100,
"route_code": null,
"route_leg": null,
"distance": {
"mi": 2028,
"nmi": 1762.283818574514,
"km": 3263.749632
},
"dpt_airport_id": "KAUS",
"arr_airport_id": "KJFK",
"alt_airport_id": null,
"route": "KAUS SID TNV J87 IAH J2 LCH J22 MEI J239 ATL J52 AJFEB J14 BYJAC Q60 JAXSN J14 COLIN J61 HUBBS J55 SIE STAR KJFK",
"dpt_time": "6PM CST",
"arr_time": "11PM EST",
"flight_time": 360,
"flight_type": "J",
"notes": "",
"active": true,
"subfleet": [
{
"id": 1,
"airline_id": 1,
"name": "747-400 Winglets",
"type": "744W",
"fuel_type": null,
"cargo_capacity": null,
"fuel_capacity": null,
"gross_weight": null,
"aircraft": [
{
"id": 1,
"subfleet_id": "1",
"icao": null,
"airport_id": null,
"hex_code": null,
"name": "Boeing 747-400",
"registration": "NC17",
"tail_number": "17",
"active": true,
"created_at": null,
"updated_at": null
}
],
"fares": [
{
"id":1,
"code":"code",
"name":"Fare name",
"capacity":74,
"cost":421,
"price":"50",
"type":0,
"notes":null,
"active":true
}
]
}
]
}
],
"links": {
"first": "http://phpvms.test/api/flights?page=1",
"last": "http://phpvms.test/api/flights?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://phpvms.test/api/flights",
"per_page": 15,
"to": 1,
"total": 1
}
}
GET /api/flights/{FLIGHT ID}
Return details about a given flight
flight_type
. See Flight Types for possible values
Sample Response:
{
"data": {
"id": "flightid_1",
"airline": {
"id": 1,
"icao": "VMS",
"iata": "VM",
"name": "phpvms airlines",
"country": null,
"logo": null,
"active": true,
"total_flights": 0,
"total_time": 0,
"created_at": "2018-01-06 20:24:13",
"updated_at": "2018-01-06 20:24:13"
},
"flight_number": 100,
"route_code": null,
"route_leg": null,
"dpt_airport_id": "KAUS",
"arr_airport_id": "KJFK",
"alt_airport_id": null,
"distance": {
"mi": 2028,
"nmi": 1762.283818574514,
"km": 3263.749632
},
"route": "KAUS SID TNV J87 IAH J2 LCH J22 MEI J239 ATL J52 AJFEB J14 BYJAC Q60 JAXSN J14 COLIN J61 HUBBS J55 SIE STAR KJFK",
"dpt_time": "6PM CST",
"arr_time": "11PM EST",
"flight_time": 360,
"flight_type": "J",
"notes": "",
"active": true,
"subfleet": [
{
"id": 1,
"airline_id": 1,
"name": "747-400 Winglets",
"type": "744W",
"fuel_type": null,
"cargo_capacity": null,
"fuel_capacity": null,
"gross_weight": null,
"aircraft": [
{
"id": 1,
"subfleet_id": "1",
"icao": null,
"airport_id": null,
"hex_code": null,
"name": "Boeing 747-400",
"registration": "NC17",
"tail_number": "17",
"active": true,
"created_at": null,
"updated_at": null
}
],
"fares": [
{
"id":1,
"code":"code",
"name":"Fare name",
"capacity":74,
"cost":421,
"price":"50",
"type":0,
"notes":null,
"active":true
}
]
}
]
}
}
GET /api/flights/search
Do a search for a flight
Query String Example:
/api/flights/search?depicao=KJFK&arricao=KAUS
airline_id
- ID of the airlinedep_icao
- Departure airport codearr_icao
- Arrival airport codeflight_number
- Can be a partial matchroute_code
Sample Response:
See GET /api/flights
PIREPs
GET /api/pireps/{PIREP ID}
Retrieve the PIREP information
status
- See PIREP Status for possible values
Sample Response:
{
"data": {
"id": "pirepid_1",
"user_id": 1,
"airline_id": 1,
"aircraft_id": 1,
"flight_id": "flightid_1",
"flight_number": "100",
"route_code": null,
"route_leg": null,
"dpt_airport_id": "KAUS",
"arr_airport_id": "KJFK",
"level": null,
"distance": null,
"planned_distance": null,
"flight_time": 180,
"planned_flight_time": null,
"zfw": null,
"block_fuel": null,
"fuel_used": null,
"landing_rate": null,
"route": "KAUS SID TNV J87 IAH J2 LCH J22 MEI J239 ATL J52 AJFEB J14 BYJAC Q60 JAXSN J14 COLIN J61 HUBBS J55 SIE STAR KJFK",
"notes": "just a pilot report",
"source": 0,
"source_name": null,
"flight_type": 0,
"state": 1,
"status": "OFB",
"raw_data": null,
"created_at": "2018-02-10 23:45:33",
"updated_at": "2018-02-10 23:45:33",
"airline": {
"id": 1,
"icao": "VMS",
"iata": "VM",
"name": "phpvms airlines",
"country": null,
"logo": null
},
"dpt_airport": {
"id": "KAUS",
"iata": "AUS",
"icao": "KAUS",
"name": "Austin-Bergstrom",
"location": "Austin, Texas, USA",
"country": "United States",
"timezone": "America\/Chicago",
"hub": true,
"fuel_100ll_cost": 0,
"fuel_jeta_cost": 0,
"fuel_mogas_cost": 0,
"lat": 30.1945278,
"lon": -97.6698889
},
"arr_airport": {
"id": "KJFK",
"iata": "JFK",
"icao": "KJFK",
"name": "John F Kennedy",
"location": "New York, New York, USA",
"country": "United States",
"timezone": "America\/New_York",
"hub": true,
"fuel_100ll_cost": 0,
"fuel_jeta_cost": 0,
"fuel_mogas_cost": 0,
"lat": 40.6399257,
"lon": -73.778695
},
"position": null,
"comments": [
{
"id": 1,
"comment": "A comment",
"created_at": {
"date": "2018-02-10 23:45:33.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"user": {
"id": 1,
"pilot_id": "VMS0001",
"name": "Admin User"
}
},
{
"id": 2,
"comment": "Another comment",
"created_at": {
"date": "2018-02-10 23:45:33.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"user": {
"id": 2,
"pilot_id": "VMS0002",
"name": "Carla Walters"
}
}
],
"user": {
"id": 1,
"name": "Admin User",
"home_airport_id": "KAUS",
"curr_airport_id": "KJFK"
},
"fields": [
{
"id": 1,
"pirep_id": "pirepid_1",
"name": "arrival gate",
"value": "B14",
"source": "manual",
"created_at": null,
"updated_at": null
}
]
}
}
GET /api/pireps/{PIREP ID}/route
Retrieve the route
Sample Response:
{
"data": [
{
"id": "7c283b60-0ebc-11e8-9954-998d93005a2e",
"pirep_id": "pirepid_1",
"type": 1,
"nav_type": 2,
"order": 0,
"name": "TNV",
"log": null,
"lat": 30.28852,
"lon": -96.058239,
"heading": null,
"altitude": null,
"vs": null,
"gs": null,
"transponder": null,
"autopilot": null,
"fuel_flow": null,
"sim_time": null,
"created_at": "2018-02-10 23:45:33",
"updated_at": "2018-02-10 23:45:33"
},
{
"id": "7c28ab40-0ebc-11e8-a95a-a1c676a4a844",
"pirep_id": "pirepid_1",
"type": 1,
"nav_type": 2,
"order": 0,
"name": "IAH",
"log": null,
"lat": 29.95691,
"lon": -95.345719,
"heading": null,
"altitude": null,
"vs": null,
"gs": null,
"transponder": null,
"autopilot": null,
"fuel_flow": null,
"sim_time": null,
"created_at": "2018-02-10 23:45:33",
"updated_at": "2018-02-10 23:45:33"
},
{
"id": "7c28f1b0-0ebc-11e8-b2d4-195e41d39544",
"pirep_id": "pirepid_1",
"type": 1,
"nav_type": 2,
"order": 0,
"name": "LCH",
"log": null,
"lat": 30.14151,
"lon": -93.105569,
"heading": null,
"altitude": null,
"vs": null,
"gs": null,
"transponder": null,
"autopilot": null,
"fuel_flow": null,
"sim_time": null,
"created_at": "2018-02-10 23:45:33",
"updated_at": "2018-02-10 23:45:33"
},
{
"id": "7c293950-0ebc-11e8-89d4-9d8a74627a46",
"pirep_id": "pirepid_1",
"type": 1,
"nav_type": 2,
"order": 0,
"name": "MEI",
"log": null,
"lat": 32.37843,
"lon": -88.804267,
"heading": null,
"altitude": null,
"vs": null,
"gs": null,
"transponder": null,
"autopilot": null,
"fuel_flow": null,
"sim_time": null,
"created_at": "2018-02-10 23:45:33",
"updated_at": "2018-02-10 23:45:33"
},
{
"id": "7c2978e0-0ebc-11e8-865e-ebe817db8cc0",
"pirep_id": "pirepid_1",
"type": 1,
"nav_type": 2,
"order": 0,
"name": "ATL",
"log": null,
"lat": 33.62907,
"lon": -84.435064,
"heading": null,
"altitude": null,
"vs": null,
"gs": null,
"transponder": null,
"autopilot": null,
"fuel_flow": null,
"sim_time": null,
"created_at": "2018-02-10 23:45:33",
"updated_at": "2018-02-10 23:45:33"
},
{
"id": "7c29bb70-0ebc-11e8-857e-d9abb038b328",
"pirep_id": "pirepid_1",
"type": 1,
"nav_type": 2,
"order": 0,
"name": "SIE",
"log": null,
"lat": 39.0955,
"lon": -74.800344,
"heading": null,
"altitude": null,
"vs": null,
"gs": null,
"transponder": null,
"autopilot": null,
"fuel_flow": null,
"sim_time": null,
"created_at": "2018-02-10 23:45:33",
"updated_at": "2018-02-10 23:45:33"
}
]
}
GET /api/pireps/{PIREP ID}/acars/positions
Get the ACARS data in plain rows