API Reference

Create QoD session v1.1

The Quality-On-Demand (QoD) API provides a programmable interface for developers and other users (API consumers) to request stable latency or throughput managed by networks without the necessity to have an in-depth knowledge of the underlying network complexity (e.g. the 4G/5G system in case of a mobile network).

Create QoS Session to manage latency/throughput priorities

If the qosStatus in the API response is "AVAILABLE" and a notification callback is provided the API consumer will receive in addition to the response a
QOS_STATUS_CHANGED event notification with qosStatus as AVAILABLE.

If the qosStatus in the API response is REQUESTED, the client will receive either

  • a QOS_STATUS_CHANGED event notification with qosStatus as AVAILABLE after the network notifies that it has created the requested session, or
  • a QOS_STATUS_CHANGED event notification with qosStatus as UNAVAILABLE and statusInfo as NETWORK_TERMINATED after the network notifies that it has failed to provide the requested session.

A QOS_STATUS_CHANGED event notification with qosStatus as UNAVAILABLE will also be send if the network terminates the session before the requested duration expired

NOTES:

  • In case of a QOS_STATUS_CHANGED event with qosStatus as UNAVAILABLE and statusInfo as NETWORK_TERMINATED the resources of the QoS session are not directly released, but will get deleted automatically at earliest 360 seconds after the event.

    This behavior allows API consumers which are not receiving notification events but are polling to get the session information with the qosStatus UNAVAILABLE and statusInfo NETWORK_TERMINATED. Before a API consumer can attempt to create a new QoD session for the same device and flow period they must release the session resources with an explicit delete operation if not yet automatically deleted.

  • The access token may be either 2-legged or 3-legged. See "Identifying the device from the access token" for further information

    • When the API is invoked using a two-legged access token, the subject will be identified from the optional device object, which therefore MUST be provided.
    • When a three-legged access token is used however, this optional identifier MUST NOT be provided, as the subject will be uniquely identified from the access token.

Check the Authorization guide on how to get an OAuth2 token, with the following scope:

dpv:RequestedServiceProvision#qod

Create an app on our Sandbox to get credentials and retrieve tokens so you can perform API calls to our operators' production environments, or use the following convenience token to test in mock mode:

mock_sandbox_access_token

You can explore our QoD sample code for additional guidance on using this API.

Body Params

Parameters to create a new session

Common attributes of a QoD session

device
object
required

End-user equipment able to connect to a mobile network. Examples of devices include smartphones or IoT sensors/actuators.

The developer can choose to provide the below specified device identifiers:

  • ipv4Address
  • ipv6Address
  • phoneNumber
  • networkAccessIdentifier

NOTE: the MNO might support only a subset of these options. The API invoker can provide multiple identifiers to be compatible across different MNOs. In this case the identifiers MUST belong to the same device

applicationServer
object
required

A server hosting backend applications to deliver some business logic to clients.

The developer can choose to provide the below specified device identifiers:

  • ipv4Address
  • ipv6Address
devicePorts
object

The ports used locally by the device for flows to which the requested QoS profile should apply. If omitted, then the qosProfile will apply to all flows between the device and the specified application server address and ports

applicationServerPorts
object

A list of single ports or port ranges on the application server

string
required
length between 3 and 256
^[a-zA-Z0-9_.-]+$

A unique name for identifying a specific QoS profile.
This may follow different formats depending on the service providers implementation.
Some options addresses:

  • A UUID style string
  • Support for predefined profiles QOS_S, QOS_M, QOS_L, and QOS_E
  • A searchable descriptive name
webhook
object
int32
required
≥ 1

Requested session duration in seconds. Value may be explicitly limited for the QoS profile, as specified in the Qos Profile (see qos-profile API). Implementations can grant the requested session duration or set a different duration, based on network policies or conditions.

Responses

Callback
Language
Credentials
OAuth2
URL
LoadingLoading…
Click Try It! to start a request and see the response here! Or choose an example:
application/json