Skip to main content

Develop

svc-cargo (0.8.1-develop.0)

Download OpenAPI specification:Download

A.M. Smith: amsmith@arrowair.com License:

Cargo Service GRPC and REST servers

Telemetry Service GRPC and REST servers

Assets Service REST server

svc-cargo

svc-cargo REST API

Cancel a Flight

Cancel a Flight

Request Body schema: application/json
id
required
string

Itinerary UUID to Cancel

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Confirm a Flight

Confirm a Flight

Request Body schema: application/json
id
required
string

Itinerary UUID

user_id
required
string

User ID

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "user_id": "string"
}

Get Available Flights

Get Available Flights

Search for available trips and return a list of [Itinerary].

Request Body schema: application/json
cargo_weight_kg
required
number <float>

The estimated weight of cargo

object or null

Time window (min and max)

object or null

Time window (min and max)

vertiport_arrive_id
required
string

The String ID of the destination vertiport

vertiport_depart_id
required
string

The String ID of the vertiport to leave from

Responses

Request samples

Content type
application/json
{
  • "cargo_weight_kg": 0,
  • "time_arrive_window": {
    },
  • "time_depart_window": {
    },
  • "vertiport_arrive_id": "string",
  • "vertiport_depart_id": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get Regional Vertiports

Get Regional Vertiports

Request Body schema: application/json
latitude
required
number <float>

Latitude of Client

longitude
required
number <float>

Longitude of Client

Responses

Request samples

Content type
application/json
{
  • "latitude": 0,
  • "longitude": 0
}

Response samples

Content type
application/json
[
  • {
    }
]

svc-telemetry

svc-telemetry REST API.

Post ADS-B Telemetry

Post ADS-B Telemetry Min 8 bytes, max 263 bytes

Request Body schema: application/octet-stream
string <binary>

Responses

svc-assets

svc-assets API

Register an [`Aircraft`] in the database.

Register an [Aircraft] in the database.

Request Body schema: application/json
description
string
group_id
string

The UUID of an [crate::structs::AssetGroup] struct, if available.

last_maintenance
string
last_vertiport_id
string
manufacturer
required
string

The aircraft's manufacturer.

TODO: For now we can just say "Boeing", "Airbus", etc. Later, we can a struct for this and store the manufacturer's name, logo, etc.

max_payload_kg
required
number <float>
max_range_km
required
number <float>
model
required
string
name
string
next_maintenance
string
owner
required
string
registration_number
required
string

The aircraft's registration number.

In the US, this is the N number.

This is a unique identifier for the aircraft that can be used to look up information about the aircraft from national aviation authorities like the FAA.

serial_number
required
string
status
required
string (AssetStatus)
Enum: "Available" "Unavailable" "Emergency"

Status of an asset.

whitelist
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "group_id": "string",
  • "last_maintenance": "string",
  • "last_vertiport_id": "string",
  • "manufacturer": "string",
  • "max_payload_kg": 0,
  • "max_range_km": 0,
  • "model": "string",
  • "name": "string",
  • "next_maintenance": "string",
  • "owner": "string",
  • "registration_number": "string",
  • "serial_number": "string",
  • "status": "Available",
  • "whitelist": [
    ]
}

Update/modify an [`Aircraft`] in the database.

Update/modify an [Aircraft] in the database.

This will update the aircraft's information.

Request Body schema: application/json
asset_group_id
string
description
string
id
required
string
last_maintenance
string
last_vertiport_id
string
mask
required
Array of strings
next_maintenance
string
registration_number
string
schedule
string
serial_number
string
vehicle_model_id
string

The UUID of the model.

Responses

Request samples

Content type
application/json
{
  • "asset_group_id": "string",
  • "description": "string",
  • "id": "string",
  • "last_maintenance": "string",
  • "last_vertiport_id": "string",
  • "mask": [
    ],
  • "next_maintenance": "string",
  • "registration_number": "string",
  • "schedule": "string",
  • "serial_number": "string",
  • "vehicle_model_id": "string"
}

Get an [`Aircraft`] by its id.

Get an [Aircraft] by its id.

path Parameters
id
required
string

Aircraft id

Responses

Response samples

Content type
application/json
{
  • "basics": {
    },
  • "description": "string",
  • "last_maintenance": "2019-08-24T14:15:22Z",
  • "last_vertiport_id": "string",
  • "manufacturer": "string",
  • "max_payload_kg": {
    },
  • "max_range_km": {
    },
  • "model": "string",
  • "next_maintenance": "2019-08-24T14:15:22Z",
  • "registration_number": "string",
  • "serial_number": "string"
}

Remove a [`Aircraft`] from the database.

Remove a [Aircraft] from the database.

path Parameters
id
required
string

Aircraft id

Responses

Get all aircraft from the database.

Get all aircraft from the database.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all vertipads from the database.

Get all vertipads from the database.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all vertiports from the database.

Get all vertiports from the database.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Register an [`crate::structs::AssetGroup`] in the database.

Register an [crate::structs::AssetGroup] in the database.

Request Body schema: application/json
assets
required
Array of strings
name
string
owner
required
string

The UUID of an [crate::structs::Operator] struct, if available.

Responses

Request samples

Content type
application/json
{
  • "assets": [
    ],
  • "name": "string",
  • "owner": "string"
}

Get an [`crate::structs::AssetGroup`] by its id.

Get an [crate::structs::AssetGroup] by its id.

path Parameters
id
required
string

Asset group id

Responses

Response samples

Content type
application/json
{
  • "assets": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "delegatee": "string",
  • "id": "string",
  • "name": "string",
  • "owner": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update/modify an [`crate::structs::AssetGroup`] in the database.

Update/modify an [crate::structs::AssetGroup] in the database.

path Parameters
id
required
string

AssetGroup id

Request Body schema: application/json
assets
required
Array of strings
created_at
required
string <date-time>
delegatee
string

The UUID of an [crate::structs::Operator] struct, if available.

id
required
string

UUID of the asset group.

name
string
owner
required
string

The UUID of an [crate::structs::Operator] struct.

updated_at
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "assets": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "delegatee": "string",
  • "id": "string",
  • "name": "string",
  • "owner": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Remove an [`crate::structs::AssetGroup`] from the database.

Remove an [crate::structs::AssetGroup] from the database.

path Parameters
id
required
string

AssetGroup id

Responses

Get info about an operator by id.

Get info about an operator by id.

path Parameters
id
required
string

Operator id

Responses

Response samples

Content type
application/json
{
  • "address": "string",
  • "city": "string",
  • "country": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "email": "string",
  • "id": "string",
  • "logo": "string",
  • "name": "string",
  • "phone": "string",
  • "postal_code": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "website": "string"
}

Get all assets belonging to an operator.

Get all assets belonging to an operator.

path Parameters
id
required
string

Operator id

Responses

Get all grouped assets belonging to an operator.

Get all grouped assets belonging to an operator.

These are the assets NOT being delegated to or from this operator.

Returns a list of grouped asset ids.

path Parameters
id
required
string

Operator id

Responses

Get all grouped assets delegated from an operator.

Get all grouped assets delegated from an operator.

path Parameters
id
required
string

Operator id

Responses

Get all grouped assets delegated to an operator.

Get all grouped assets delegated to an operator.

path Parameters
id
required
string

Operator id

Responses

Register an [`Vertipad`] in the database.

Register an [Vertipad] in the database.

Also inserts the vertipad into the vertiport's vertipad list.

Request Body schema: application/json
enabled
required
boolean
required
object (Location)

A struct representing a location.

name
string
occupied
required
boolean
status
required
string (AssetStatus)
Enum: "Available" "Unavailable" "Emergency"

Status of an asset.

vertiport_id
required
string

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "location": {
    },
  • "name": "string",
  • "occupied": true,
  • "status": "Available",
  • "vertiport_id": "string"
}

Update/modify a [`Vertipad`] in the database.

Update/modify a [Vertipad] in the database.

Request Body schema: application/json
enabled
boolean
id
required
string
latitude
number <float>
longitude
number <float>
mask
required
Array of strings
name
string
occupied
boolean
schedule
string
vertiport_id
string

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "id": "string",
  • "latitude": 0,
  • "longitude": 0,
  • "mask": [
    ],
  • "name": "string",
  • "occupied": true,
  • "schedule": "string",
  • "vertiport_id": "string"
}

Get an [`Vertipad`] by its id.

Get an [Vertipad] by its id.

path Parameters
id
required
string

Vertipad id

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "id": "string",
  • "location": {
    },
  • "occupied": true,
  • "vertiport_id": "string"
}

Remove a [`Vertipad`] from the database.

Remove a [Vertipad] from the database.

path Parameters
id
required
string

Vertipad id

Responses

Register an [`Vertiport`] in the database.

Register an [Vertiport] in the database.

Request Body schema: application/json
description
string
group_id
string

The UUID of an [crate::structs::AssetGroup] struct, if available.

required
object (Location)

A struct representing a location.

name
string
owner
required
string
status
required
string (AssetStatus)
Enum: "Available" "Unavailable" "Emergency"

Status of an asset.

whitelist
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "group_id": "string",
  • "location": {
    },
  • "name": "string",
  • "owner": "string",
  • "status": "Available",
  • "whitelist": [
    ]
}

Update/modify a [`Vertiport`] in the database.

Update/modify a [Vertiport] in the database.

This will update the vertiport's information. It can also be used to perform batch add/remove of vertipads.

Request Body schema: application/json
description
string
id
required
string
latitude
number <float>
longitude
number <float>
mask
required
Array of strings
name
string
schedule
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "id": "string",
  • "latitude": 0,
  • "longitude": 0,
  • "mask": [
    ],
  • "name": "string",
  • "schedule": "string"
}

Get an [`Vertiport`] by its id.

Get an [Vertiport] by its id.

path Parameters
id
required
string

Vertiport id

Responses

Response samples

Content type
application/json
{
  • "basics": {
    },
  • "description": "string",
  • "location": {
    }
}

Remove a [`Vertiport`] from the database.

Remove a [Vertiport] from the database.

path Parameters
id
required
string

Vertiport id

Responses