Download OpenAPI specification:Download
Edge Cloud provides a set of SDKs and Libraries containing a collection of operations and resources that assist in creating applications for the many services offered by EdgeXR. Once an application is built and registered, our services locate the nearest cloudlet server, connecting you to one of our edge server instances. Our services will also verify a device's location, ensuring the optimum compute instance is used, and much more, once you are on the edge. Edge Cloud MatchingEngine SDKs and Libraries are available in different languages and platforms, which include Android, Unity, and iOS, allowing for easy application development. The Performance Metrics API, provided with each SDKs, tracks the average latency characteristics of the edge network. To take advantage of this API, you must add your application server’s Application Instance to a list of sites in order to periodically ping them. Within the left navigational menu, scroll to the desired SDK, based on your preferred language or platform, to view the accompanying APIs. To reference these APIs, including their resources and schema, click Edge REST APIs.
Find the best application service running on a cloudlet in the Edge Cloud for the client to use, based on proximity and other policies.
ver | integer <int64> (API version) (hidden) Reserved for future use |
session_cookie | string (Session Cookie) Session Cookie from RegisterClientRequest |
carrier_name | string (Carrier Name) (optional) By default, all SDKs will automatically fill in this parameter with the MCC+MNC of your current provider. Only override this parameter if you need to filter for a specific carrier on the DME. The DME will filter for App instances that are associated with the specified carrier. If you wish to search for any App Instance on the DME regardless of carrier name, you can input “” to consider all carriers as “Any”. |
object (GPS Location) | |
object (Tags) (optional) Vendor specific data |
{- "ver": 0,
- "session_cookie": "string",
- "carrier_name": "string",
- "gps_location": {
- "latitude": 0,
- "longitude": 0,
- "horizontal_accuracy": 0,
- "vertical_accuracy": 0,
- "altitude": 0,
- "course": 0,
- "speed": 0,
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}
}, - "tags": {
- "property1": "string",
- "property2": "string"
}
}
{- "ver": 0,
- "status": "FIND_UNKNOWN",
- "fqdn": "string",
- "ports": [
- {
- "proto": "L_PROTO_UNKNOWN",
- "internal_port": 0,
- "public_port": 0,
- "fqdn_prefix": "string",
- "end_port": 0,
- "tls": true,
- "nginx": true,
- "max_pkt_size": "string"
}
], - "cloudlet_location": {
- "latitude": 0,
- "longitude": 0,
- "horizontal_accuracy": 0,
- "vertical_accuracy": 0,
- "altitude": 0,
- "course": 0,
- "speed": 0,
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}
}, - "edge_events_cookie": "string",
- "qos_result": "QOS_NOT_ATTEMPTED",
- "qos_error_msg": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
Get an App's official FQDN if configured, which points to a default public cloud instance of the application service that can be used if no Edge Cloud application instances are available.
ver | integer <int64> (API version) (hidden) Reserved for future use |
session_cookie | string (Session Cookie from RegisterClientRequest) |
object (GPS Location) | |
object (_(optional)_ Vendor specific data) |
{- "ver": 0,
- "session_cookie": "string",
- "gps_location": {
- "latitude": 0,
- "longitude": 0,
- "horizontal_accuracy": 0,
- "vertical_accuracy": 0,
- "altitude": 0,
- "course": 0,
- "speed": 0,
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}
}, - "tags": {
- "property1": "string",
- "property2": "string"
}
}
{- "ver": 0,
- "app_official_fqdn": "string",
- "client_token": "string",
- "status": "AOF_UNDEFINED",
- "ports": [
- {
- "proto": "L_PROTO_UNKNOWN",
- "internal_port": 0,
- "public_port": 0,
- "fqdn_prefix": "string",
- "end_port": 0,
- "tls": true,
- "nginx": true,
- "max_pkt_size": "string"
}
], - "tags": {
- "property1": "string",
- "property2": "string"
}
}
Streams events bidirectionally between device client and the Edge Cloud platform for notifications.
(streaming inputs)
session_cookie | string (Session Cookie from RegisterClientReply) |
edge_events_cookie | string (Session Cookie from FindCloudletReply) |
event_type | string (ClientEdgeEventClientEventType) Default: "EVENT_UNKNOWN" Enum: "EVENT_UNKNOWN" "EVENT_INIT_CONNECTION" "EVENT_TERMINATE_CONNECTION" "EVENT_LATENCY_SAMPLES" "EVENT_LOCATION_UPDATE" "EVENT_CUSTOM_EVENT" |
object (GPS Location) | |
Array of objects (Latency Samples if event_type is EVENT_LATENCY_SAMPLES or EVENT_CUSTOM_EVENT) | |
object (DeviceInfoStatic) | |
object (DeviceInfoDynamic) | |
custom_event | string (Custom event specified by the application) |
object (_(optional)_ Vendor specific data) |
{- "session_cookie": "string",
- "edge_events_cookie": "string",
- "event_type": "EVENT_UNKNOWN",
- "gps_location": {
- "latitude": 0,
- "longitude": 0,
- "horizontal_accuracy": 0,
- "vertical_accuracy": 0,
- "altitude": 0,
- "course": 0,
- "speed": 0,
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}
}, - "samples": [
- {
- "value": 0,
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}, - "tags": {
- "property1": "string",
- "property2": "string"
}
}
], - "device_info_static": {
- "device_os": "string",
- "device_model": "string"
}, - "device_info_dynamic": {
- "data_network_type": "string",
- "signal_strength": "string",
- "carrier_name": "string"
}, - "custom_event": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
{- "result": {
- "event_type": "EVENT_UNKNOWN",
- "cloudlet_state": "CLOUDLET_STATE_UNKNOWN",
- "maintenance_state": "NORMAL_OPERATION",
- "health_check": "HEALTH_CHECK_UNKNOWN",
- "statistics": {
- "avg": 0,
- "min": 0,
- "max": 0,
- "std_dev": 0,
- "variance": 0,
- "num_samples": "string",
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}
}, - "new_cloudlet": {
- "ver": 0,
- "status": "FIND_UNKNOWN",
- "fqdn": "string",
- "ports": [
- {
- "proto": "L_PROTO_UNKNOWN",
- "internal_port": 0,
- "public_port": 0,
- "fqdn_prefix": "string",
- "end_port": 0,
- "tls": true,
- "nginx": true,
- "max_pkt_size": "string"
}
], - "cloudlet_location": {
- "latitude": 0,
- "longitude": 0,
- "horizontal_accuracy": 0,
- "vertical_accuracy": 0,
- "altitude": 0,
- "course": 0,
- "speed": 0,
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}
}, - "edge_events_cookie": "string",
- "qos_result": "QOS_NOT_ATTEMPTED",
- "qos_error_msg": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}, - "error_msg": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}, - "error": {
- "grpc_code": 0,
- "http_code": 0,
- "message": "string",
- "http_status": "string",
- "details": [
- {
- "type_url": "string",
- "value": "string"
}
]
}
}
Creates a QOS priority session (latency or throughput priority) from the client to the app inst by making a call to the operator's priority session API server.
ver | integer <int64> (API version) (hidden) Reserved for future use |
session_cookie | string (Session Cookie from RegisterClientRequest) |
session_duration | integer <int64> (_(optional)_ QOS Priority Session duration in seconds) |
ip_user_equipment | string (IP address of mobile device) |
ip_application_server | string (IP address of the application server) |
port_user_equipment | string (optional) A list of single ports or port ranges on the user equipment. |
port_application_server | string (_(optional)_ A list of single ports or port ranges on the application server) |
protocol_in | string (distributed_match_engineQosSessionProtocol) Default: "TCP" Enum: "TCP" "UDP" "ANY" |
protocol_out | string (distributed_match_engineQosSessionProtocol) Default: "TCP" Enum: "TCP" "UDP" "ANY" |
profile | string (- QOS_NO_PRIORITY: Specifies that no priority session should be created
- QOS_LOW_LATENCY: Corresponds to a specific set of network parameters for low latency that will be
negotiated with the network provider in advance
- QOS_THROUGHPUT_DOWN_S: Downlink traffic from AppInst to client is prioritized up to 20Mbps
- QOS_THROUGHPUT_DOWN_M: Downlink traffic from AppInst to client is prioritized up to 50Mbps
- QOS_THROUGHPUT_DOWN_L: Downlink traffic from AppInst to client is prioritized up to 100Mbps) Default: "QOS_NO_PRIORITY" Enum: "QOS_NO_PRIORITY" "QOS_LOW_LATENCY" "QOS_THROUGHPUT_DOWN_S" "QOS_THROUGHPUT_DOWN_M" "QOS_THROUGHPUT_DOWN_L" |
notification_uri | string (optional) URI of the callback receiver. Allows asynchronous delivery of session related events. |
notification_auth_token | string (_(optional)_ Authentification token for callback API) |
object (_(optional)_ Vendor specific data) |
{- "ver": 0,
- "session_cookie": "string",
- "session_duration": 0,
- "ip_user_equipment": "string",
- "ip_application_server": "string",
- "port_user_equipment": "string",
- "port_application_server": "string",
- "protocol_in": "TCP",
- "protocol_out": "TCP",
- "profile": "QOS_NO_PRIORITY",
- "notification_uri": "string",
- "notification_auth_token": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
{- "ver": 0,
- "session_duration": 0,
- "profile": "QOS_NO_PRIORITY",
- "session_id": "string",
- "started_at": 0,
- "expires_at": 0,
- "http_status": 0,
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
Deletes a previously created QOS priority session by making a call to the operator's priority session API server.
ver | integer <int64> (API version) (hidden) Reserved for future use |
session_cookie | string (Session Cookie from RegisterClientRequest) |
profile | string (- QOS_NO_PRIORITY: Specifies that no priority session should be created
- QOS_LOW_LATENCY: Corresponds to a specific set of network parameters for low latency that will be
negotiated with the network provider in advance
- QOS_THROUGHPUT_DOWN_S: Downlink traffic from AppInst to client is prioritized up to 20Mbps
- QOS_THROUGHPUT_DOWN_M: Downlink traffic from AppInst to client is prioritized up to 50Mbps
- QOS_THROUGHPUT_DOWN_L: Downlink traffic from AppInst to client is prioritized up to 100Mbps) Default: "QOS_NO_PRIORITY" Enum: "QOS_NO_PRIORITY" "QOS_LOW_LATENCY" "QOS_THROUGHPUT_DOWN_S" "QOS_THROUGHPUT_DOWN_M" "QOS_THROUGHPUT_DOWN_L" |
session_id | string (QOS Priority Session ID to be deleted) |
object (_(optional)_ Vendor specific data) |
{- "ver": 0,
- "session_cookie": "string",
- "profile": "QOS_NO_PRIORITY",
- "session_id": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
{- "ver": 0,
- "status": "QDEL_UNKNOWN",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
Registers the client with the closest Distributed Matching Engine (the nearest edge location in the Operator network) and validates the legitimacy of the mobile subscriber. All session information is encrypted.
ver | integer <int64> (API version) (hidden) Reserved for future use |
org_name | string (App Organization Name) App developer organization name. |
app_name | string (App Name) Name of your application. |
app_vers | string (App Version) Application version. |
carrier_name | string (Carrier Name) (hidden) Reserved for future use |
auth_token | string (Authentication Token) (optional) An authentication token supplied by the application. |
unique_id_type | string (Unique ID Type) (optional) Type of unique ID provided by the client. If left blank, a new Unique ID type will be assigned in the RegisterClient Reply. |
unique_id | string (Unique ID) (optional) Unique identification of the client device or user. May be overridden by the server. If left blank, a new Unique ID will be assigned in the RegisterClient Reply. |
object (Tags) (optional) Vendor specific data |
{- "ver": 0,
- "org_name": "string",
- "app_name": "string",
- "app_vers": "string",
- "carrier_name": "string",
- "auth_token": "string",
- "unique_id_type": "string",
- "unique_id": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
{- "ver": 0,
- "status": "RS_UNDEFINED",
- "session_cookie": "string",
- "token_server_uri": "string",
- "unique_id_type": "string",
- "unique_id": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
Verifies that the GPS coordinates accurately report the actual location of the device.
ver | integer <int64> (API version) (hidden) Reserved for future use |
session_cookie | string (Session Cookie) Session Cookie from RegisterClientRequest |
carrier_name | string (Carrier Name) Unique carrier identification (typically MCC + MNC) |
object (GPS Location) | |
verify_loc_token | string (Verify Location Token) Must be retrieved from TokenServerURI |
object (Tags) (optional) Vendor specific data |
{- "ver": 0,
- "session_cookie": "string",
- "carrier_name": "string",
- "gps_location": {
- "latitude": 0,
- "longitude": 0,
- "horizontal_accuracy": 0,
- "vertical_accuracy": 0,
- "altitude": 0,
- "course": 0,
- "speed": 0,
- "timestamp": {
- "seconds": "string",
- "nanos": 0
}
}, - "verify_loc_token": "string",
- "tags": {
- "property1": "string",
- "property2": "string"
}
}
{- "ver": 0,
- "tower_status": "TOWER_UNKNOWN",
- "gps_location_status": "LOC_UNKNOWN",
- "gps_location_accuracy_km": 0,
- "tags": {
- "property1": "string",
- "property2": "string"
}
}