Schemas

ConsentsCreateRequest

1
2
3
4
5
{
  "client": "Vinted_aggr1",
  "scope": "sim-swap",
  "purpose": "dpv:Advertising"
}
Name Type Required Description
client string true Application that makes the request to consume the capacity.
scope string true capabilities to be consumed
purpose string true purpose for which the capability is to be consumed

ConsentsValidateRequest

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "msisdn": "+123456789",
  "client": "youtube",
  "purpose": "dpv:Advertising",
  "scopes": [
    "sim-swap",
    "number-verification:verify",
    "kyc-match:match"
  ]
}
Name Type Required Description
msisdn string true A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.
client string true Application that makes the request to consume the capacity.
purpose string true Purpose for which the capability is to be consumed. Typically this will start with ‘dpv:’ followed by a value from the Data Privacy Vocabulary (DPV) ontology.
scopes [string] true Capabilities to be consumed

ConsentsValidateResponse

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[
  {
    "id": "SimSwap_FraudPreventionAndDetection_Agregador1App1",
    "scope": "sim-swap",
    "status": "ACCEPTED",
    "expiration_date": "2025-12-31T23:59:59"
  },
  {
    "id": "NumberVerification_FraudPreventionAndDetection_Agregador2App2",
    "scope": "number-verification:verify",
    "status": "EXPIRED",
    "expiration_date": "2024-01-01T00:00"
  }
]
Name Type Required Description
id string false Unique identifier of the consent combining scope, purpose, aggregator and application
scope string false Capability to be consumed
status string false Consent status
expiration_date string(date-time)¦null false ISO-8601 timestamp (UTC) indicating when this consent expires. Omitted when the consent has no expiration date.
Property Values
status one of [ACCEPTED, PENDING, REVOKED, OBJECTED, UNKNOWN, EXPIRED]

ConsentsApiError

1
2
3
4
5
6
{
  "code": "string",
  "title": "string",
  "ref": "string",
  "details": "string"
}
Name Type Required Description
code string true code of the error
title string true title of the error
ref string true ref of the error
details string true details of the error

NumberVerificationVerifyRequest

1
2
3
4
5
6
7
{
  "referenceMsisdn": "+123456789",
  "evidence": {
    "type": "PLAIN",
    "value": "string"
  }
}
Name Type Required Description
referenceMsisdn string true The MSISDN assigned by the network and extracted from the authentication token. A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.
evidence object true none
» type string true Type of evidence provided:
- PLAIN: The MSISDN is provided in plain text.
- HASHED_SHA256: The MSISDN is provided as a hashed value. SHA-256 (in hexadecimal representation) of the mobile phone number in E.164 format (starting with country code). Prefixed with ‘+’.
» value string true A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number).
In order to be globally unique, it has to be formatted in international format, according to the E.164 standard, prefixed with ‘+’.
Property Values
type one of [PLAIN, HASHED_SHA256]

NumberVerificationMatchResponse

1
2
3
{
  "devicePhoneNumberVerified": true
}
Name Type Required Description
devicePhoneNumberVerified NumberVerificationDevicePhoneNumberVerified true Number verification. True, if it matches

NumberVerificationDevicePhoneNumberVerified

1
true
Name Type Required Description
anonymous boolean false Number verification. True, if it matches

NumberVerificationNumberVerificationShareResponse

1
2
3
{
  "devicePhoneNumber": "+123456789"
}
Name Type Required Description
devicePhoneNumber NumberVerificationDevicePhoneNumber true A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.

NumberVerificationDevicePhoneNumber

1
"+123456789"
Name Type Required Description
anonymous string false A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.

NumberVerificationApiError

1
2
3
4
5
6
{
  "code": "string",
  "title": "string",
  "ref": "string",
  "details": "string"
}
Name Type Required Description
code string true code of the error
title string true title of the error
ref string true ref of the error
details string true details of the error

SimSwapSimSwapInfo

1
2
3
{
  "latestSimChange": "2023-07-03T14:27:08.312+02:00"
}
Name Type Required Description
latestSimChange string(date-time)¦null true Timestamp of latest SIM swap performed. It must follow RFC 3339 and must have time zone. Recommended format is yyyy-MM-dd’T’HH:mm:ss.SSSZ (i.e. which allows 2023-07-03T14:27:08.312+02:00 or 2023-07-03T12:27:08.312Z)

SimSwapCheckSimSwapInfo

1
2
3
{
  "swapped": true
}
Name Type Required Description
swapped boolean true Indicates whether the SIM card has been swapped during the period within the provided age.

SimSwapPhoneNumber

1
"+346661113334"
Name Type Required Description
anonymous string false A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.

SimSwapCreateCheckSimSwap

1
2
3
4
{
  "phoneNumber": "+346661113334",
  "maxAge": 240
}
Name Type Required Description
phoneNumber SimSwapPhoneNumber true A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.
maxAge integer(int32) false Period in hours to be checked for SIM swap.

SimSwapCreateSimSwapDate

1
2
3
{
  "phoneNumber": "+346661113334"
}
Name Type Required Description
phoneNumber SimSwapPhoneNumber true A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.

SimSwapApiError

1
2
3
4
5
6
{
  "code": "string",
  "title": "string",
  "ref": "string",
  "details": "string"
}
Name Type Required Description
code string true code of the error
title string true title of the error
ref string true ref of the error
details string true details of the error

OperativeApplicationClientResponse

1
2
3
4
5
6
{
  "appOwnerId": "string",
  "client": {
    "appClientId": "string"
  }
}
Name Type Required Description
appOwnerId string false AppOwner identifier.
client OperativeClientResponse false none

OperativeClientResponse

1
2
3
{
  "appClientId": "string"
}
Name Type Required Description
appClientId string false Client identifier.

OperativeCreateApplicationRequest

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "appOwnerName": "string",
  "appOwnerEmail": "user@example.com",
  "appOwnerDescription": "string",
  "appClientSecret": "string",
  "appClientRedirectURL": [
    "http://example.com"
  ],
  "appClientDisplayName": "string",
  "appClientSystemName": "string",
  "appClientJwksUri": "http://example.com"
}
Name Type Required Description
appOwnerName string true The Aggregator Name plus the AppOwner ID.
appOwnerEmail string(email) false The AppOwner’s contactMedium.emailAddress.
appOwnerDescription string true Trading Name, organizationType and tax Number.
appClientSecret string true Application Client Secret.
appClientRedirectURL [string] false Application redirectURL.
appClientDisplayName string true Application commercialName.
appClientSystemName string true Application systemName.
appClientJwksUri string(uri) false Application Client jwks Uri.

OperativeCreateProductOrderRequest

1
2
3
4
{
  "scope": "string",
  "purpose": "string"
}
Name Type Required Description
scope string true Defines the scope of the API.
purpose string true Defines the purpose of the API.

OperativeApiError

1
2
3
4
5
6
{
  "code": "string",
  "title": "string",
  "ref": "string",
  "details": "string"
}
Name Type Required Description
code string true code of the error
title string true title of the error
ref string true ref of the error
details string true details of the error

CatalogCreateCapabilityRequest

1
2
3
{
  "name": "kyc-match"
}
Name Type Required Description
name string true Name of the capability (CAMARA capability name)

CatalogUpdateCapabilityRequest

1
2
3
{
  "name": "sim-swap"
}
Name Type Required Description
name string false Updated name of the capability

CatalogCapabilityResponse

1
2
3
4
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "kyc-match"
}
Name Type Required Description
id string(uuid) false Capability ID
name string false Capability name

CatalogCapabilityListResponse

1
2
3
4
5
6
7
8
9
{
  "capabilities": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "kyc-match"
    }
  ],
  "total": 10
}
Name Type Required Description
capabilities [CatalogCapabilityResponse] false none
total integer false Total number of capabilities

CatalogTranslation

1
2
3
4
5
{
  "id": "550e8400-e29b-41d4-a716-446655440001",
  "languageCode": "es-ES",
  "description": "Vista de consentimiento para KYC"
}
Name Type Required Description
id string(uuid) false Translation ID
languageCode string false Language code (es-ES, eu-ES, en-US)
description string false Translated description

CatalogCreateViewRequest

1
2
3
4
5
{
  "name": "kyc-consent-view",
  "orderDisplay": 1,
  "visibility": true
}
Name Type Required Description
name string true Name of the view
orderDisplay integer false Display order for the view
visibility boolean false Whether the view is visible

CatalogUpdateViewRequest

1
2
3
4
5
{
  "name": "kyc-consent-view-updated",
  "orderDisplay": 2,
  "visibility": false
}
Name Type Required Description
name string false Updated name of the view
orderDisplay integer false Updated display order
visibility boolean false Updated visibility status

CatalogViewResponse

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "id": "550e8400-e29b-41d4-a716-446655440002",
  "name": "kyc-consent-view",
  "orderDisplay": 1,
  "visibility": true,
  "translations": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440001",
      "languageCode": "es-ES",
      "description": "Vista de consentimiento para KYC"
    }
  ],
  "capabilityIds": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}
Name Type Required Description
id string(uuid) false View ID
name string false View name
orderDisplay integer false Display order
visibility boolean false Visibility status
translations [CatalogTranslation] false none
capabilityIds [string] false Associated capability IDs

CatalogViewListResponse

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "views": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440002",
      "name": "kyc-consent-view",
      "orderDisplay": 1,
      "visibility": true,
      "translations": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440001",
          "languageCode": "es-ES",
          "description": "Vista de consentimiento para KYC"
        }
      ],
      "capabilityIds": [
        "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      ]
    }
  ],
  "total": 5
}
Name Type Required Description
views [CatalogViewResponse] false none
total integer false Total number of views

CatalogAddCapabilityToViewRequest

1
2
3
{
  "capabilityId": "550e8400-e29b-41d4-a716-446655440000"
}
Name Type Required Description
capabilityId string(uuid) true Capability ID to associate with the view

CatalogAddCapabilityToViewResponse

1
2
3
4
5
{
  "id": "650e8400-e29b-41d4-a716-446655440000",
  "viewId": "550e8400-e29b-41d4-a716-446655440002",
  "capabilityId": "550e8400-e29b-41d4-a716-446655440000"
}
Name Type Required Description
id string(uuid) false Association ID
viewId string(uuid) false View ID
capabilityId string(uuid) false Capability ID

CatalogAddViewToCapabilityRequest

1
2
3
{
  "viewId": "550e8400-e29b-41d4-a716-446655440002"
}
Name Type Required Description
viewId string(uuid) true View ID to associate with the capability

CatalogAddViewToCapabilityResponse

1
2
3
4
5
{
  "id": "650e8400-e29b-41d4-a716-446655440000",
  "capabilityId": "550e8400-e29b-41d4-a716-446655440000",
  "viewId": "550e8400-e29b-41d4-a716-446655440002"
}
Name Type Required Description
id string(uuid) false Association ID
capabilityId string(uuid) false Capability ID
viewId string(uuid) false View ID

CatalogCreateTranslationRequest

1
2
3
4
{
  "languageCode": "es-ES",
  "description": "Vista de consentimiento para KYC"
}
Name Type Required Description
languageCode string true Language code (e.g., es-ES, eu-ES, en-US)
description string false Translated description

CatalogUpdateTranslationRequest

1
2
3
4
{
  "languageCode": "es-ES",
  "description": "Vista de consentimiento para KYC actualizada"
}
Name Type Required Description
languageCode string false Updated language code
description string false Updated translated description

CatalogTranslationResponse

1
2
3
4
5
{
  "id": "550e8400-e29b-41d4-a716-446655440001",
  "languageCode": "es-ES",
  "description": "Vista de consentimiento para KYC"
}
Name Type Required Description
id string(uuid) false Translation ID
languageCode string false Language code
description string false Translated description

CatalogTranslationListResponse

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "translations": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440001",
      "languageCode": "es-ES",
      "description": "Vista de consentimiento para KYC"
    }
  ],
  "total": 3
}
Name Type Required Description
translations [CatalogTranslationResponse] false none
total integer false Total number of translations

CatalogError

1
2
3
4
5
{
  "code": "BAD_REQUEST",
  "message": "Invalid input provided",
  "status": 400
}
Name Type Required Description
code string false Error code
message string false Error message
status integer false HTTP status code

AdminTenantsResponse

1
2
3
4
5
6
{
  "tenants": [
    "tenant1"
  ],
  "total": 2
}
Name Type Required Description
tenants [string] false none
total integer false Total number of tenants

AdminError

1
2
3
4
5
{
  "code": "INTERNAL_ERROR",
  "message": "An unexpected error occurred",
  "status": 500
}
Name Type Required Description
code string false Error code
message string false Error message
status integer false HTTP status code

QoSProfilesQosProfile

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{
  "name": "voice",
  "description": "QoS profile for video streaming",
  "status": "ACTIVE",
  "countryAvailability": [
    {
      "countryName": "GB",
      "networks": [
        "23591",
        "23415"
      ]
    },
    {
      "countryName": "DE",
      "networks": [
        "26202"
      ]
    }
  ],
  "targetMinUpstreamRate": {
    "value": 10,
    "unit": "bps"
  },
  "maxUpstreamRate": {
    "value": 10,
    "unit": "bps"
  },
  "maxUpstreamBurstRate": {
    "value": 10,
    "unit": "bps"
  },
  "targetMinDownstreamRate": {
    "value": 10,
    "unit": "bps"
  },
  "maxDownstreamRate": {
    "value": 10,
    "unit": "bps"
  },
  "maxDownstreamBurstRate": {
    "value": 10,
    "unit": "bps"
  },
  "minDuration": {
    "value": 12,
    "unit": "Days"
  },
  "maxDuration": {
    "value": 12,
    "unit": "Days"
  },
  "priority": 20,
  "packetDelayBudget": {
    "value": 12,
    "unit": "Days"
  },
  "jitter": {
    "value": 12,
    "unit": "Days"
  },
  "packetErrorLossRate": 3,
  "l4sQueueType": "non-l4s-queue",
  "serviceClass": "real_time_interactive"
}
Name Type Required Description
name QoSProfilesQosProfileName true 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 profile names like QOS_E, QOS_S, QOS_M, and QOS_L
- A searchable descriptive name
description string false A description of the QoS profile.
status QoSProfilesQosProfileStatusEnum true The current status of the QoS Profile
- ACTIVE- QoS Profile is available to be used
- INACTIVE- QoS Profile is not currently available to be deployed
- DEPRECATED- QoS profile is actively being used in a QoD session, but can not be deployed in new QoD sessions
countryAvailability QoSProfilesAvailability false A list of countries, and optionally networks, for which the API provider makes the profile available.
- When profiles are filtered for a specific device (i.e. using a 3-legged access token or an explicit device filter parameter), the profile can be used by that device in any of these countries when connected to any of the listed networks (assuming roaming is permitted for networks that are not the device’s home network), or the API provider’s own network if no networks are listed
- When there is no device filter, availability for a given country means that the QoS profile may be available to some devices connected to the listed networks in that country (or to the API provider’s default network if none are listed). However, this does not imply that the profile is available to all devices, or that a particular device will be able to use the profile across all listed countries or networks. In particular, the response does not provide enough information to determine availability for roaming for specific devices; consumers should query the API with a specific device identifier to get definitive availability.
- If this field is not present in the QoS profile, no assumption can be made about the availability of the profile in any given country or for any given network
targetMinUpstreamRate QoSProfilesRate false This is the target minimum upload speed for the QoS profile.
It represents the minimum rate that the network attempts to deliver.
Please note that this is a target value—the network might not always be able to provide this rate under all conditions.
It helps ensure that applications like video calls or live streaming perform consistently.
maxUpstreamRate QoSProfilesRate false The maximum best effort data
maxUpstreamBurstRate QoSProfilesRate false When defined, this is the maximum upstream burst rate for the QoS profile, that will enable
the network to burst data at a higher rate than the maxUpstreamRate for a period of time.
targetMinDownstreamRate QoSProfilesRate false This is the target maximum upload speed for the QoS profile.
It represents the maximum rate that the network attempts to deliver.
Please note that this is a target value—the network might not always be able to provide this rate under all conditions.
It helps ensure that applications like video calls or live streaming perform consistently.
maxDownstreamRate QoSProfilesRate false The maximum best effort rate
maxDownstreamBurstRate QoSProfilesRate false When defined, this is the maximum downstream burst rate for the QoS profile, that will enable
the network to burst data at a higher rate than the maxDownstreamRate for a period of time.
This can result in improved user experience when there is additional network capacity.
For instance, when a user is streaming a video, the network can burst data at a higher rate
to fill the buffer, and then return to the maxUpstreamRate once the buffer is full.
minDuration QoSProfilesDuration false The shortest time period that this profile can be deployed.
maxDuration QoSProfilesDuration false The maximum time period that this profile can be deployed.
Overall session duration must not exceed this value. This includes the initial requested duration plus any extensions.
priority integer(int32) false Priority levels allow efficient resource allocation and ensure optimal performance
for various services in each technology, with the highest priority traffic receiving
preferential treatment.
The lower value the higher priority.
Not all access networks use the same priority range, so this priority will be
scaled to the access network’s priority range.
packetDelayBudget QoSProfilesDuration false The packet delay budget is the maximum allowable one-way latency between the customer’s device
and the gateway from the operator’s network to other networks. By limiting the delay, the network
can provide an acceptable level of performance for various services, such as voice calls,
video streaming, and data.
The end-to-end or round trip latency will be about two times this value plus the latency not controlled
by the operator
jitter QoSProfilesDuration false The jitter requirement aims to limit the maximum variation in round-trip
packet delay for the 99th percentile of traffic, following ITU Y.1540
standards. It considers only acknowledged packets in a session, which are
packets that receive a confirmation of receipt from the recipient (e.g.,
using TCP). This requirement helps maintain consistent latency, essential
for real-time applications such as VoIP, video calls, and gaming.
packetErrorLossRate integer(int32) false This field specifies the acceptable level of data loss during transmission.
The value is an exponent of 10, so a value of 3 means that up to 10⁻³, or 0.1%, of the
data packets may be lost. This setting is part of a broader system that categorizes
different types of network traffic (like phone calls, video streams, or data transfers)
to ensure they perform reliably on the network.
l4sQueueType string false NOTE: l4sQueueType is experimental and could change or be removed in a future release.

Specifies the type of queue for L4S (Low Latency, Low Loss, Scalable Throughput) traffic management. L4S is an advanced queue management approach designed to provide ultra-low latency and high throughput for internet traffic, particularly beneficial for interactive applications such as gaming, video conferencing, and virtual reality.

Queue Type Descriptions:

- non-l4s-queue:
A traditional queue used for legacy internet traffic that does not utilize L4S enhancements. It provides standard latency and throughput levels.

- l4s-queue:
A dedicated queue optimized for L4S traffic, delivering ultra-low latency, low loss, and scalable throughput to support latency-sensitive applications.

- mixed-queue:
A shared queue that can handle both L4S and traditional traffic, offering a balance between ultra-low latency for L4S flows and compatibility with non-L4S flows.
serviceClass string false NOTE: serviceClass is experimental and could change or be removed in a future release.

The name of a Service Class, representing a QoS Profile designed to provide optimized behavior for a specific application type. While DSCP values are commonly associated with Service Classes, their use may vary across network segments and may not be applied throughout the entire end-to-end QoS session. This aligns with the serviceClass concept used in HomeDevicesQoQ for consistent terminology.

Service classes define specific QoS behaviors that map to DSCP (Differentiated Services Code Point) values or Microsoft QoS traffic types.

The supported mappings are:
1. Values aligned with the RFC4594 guidelines for differentiated traffic classes.
2. Microsoft QOS_TRAFFIC_TYPE values for Windows developers.

Supported Service Classes:

Property Values
l4sQueueType one of [non-l4s-queue, l4s-queue, mixed-queue]
serviceClass one of [microsoft_voice, microsoft_audio_video, real_time_interactive, multimedia_streaming, broadcast_video, low_latency_data, high_throughput_data, low_priority_data, standard]

QoSProfilesQosProfileName

1
"voice"
Name Type Required Description
anonymous string false 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 profile names like QOS_E, QOS_S, QOS_M, and QOS_L
- A searchable descriptive name

QoSProfilesRate

1
2
3
4
{
  "value": 10,
  "unit": "bps"
}
Name Type Required Description
value integer(int32) false Quantity of rate
unit QoSProfilesRateUnitEnum false Units of rate

QoSProfilesDuration

1
2
3
4
{
  "value": 12,
  "unit": "Days"
}
Name Type Required Description
value integer(int32) false Quantity of duration
unit QoSProfilesTimeUnitEnum false Units of time

QoSProfilesTimeUnitEnum

1
"Days"
Name Type Required Description
anonymous string false Units of time
Property Values
anonymous one of [Days, Hours, Minutes, Seconds, Milliseconds, Microseconds, Nanoseconds]

QoSProfilesQosProfileStatusEnum

1
"ACTIVE"
Name Type Required Description
anonymous string false The current status of the QoS Profile
- ACTIVE- QoS Profile is available to be used
- INACTIVE- QoS Profile is not currently available to be deployed
- DEPRECATED- QoS profile is actively being used in a QoD session, but can not be deployed in new QoD sessions
Property Values
anonymous one of [ACTIVE, INACTIVE, DEPRECATED]

QoSProfilesRateUnitEnum

1
"bps"
Name Type Required Description
anonymous string false Units of rate
Property Values
anonymous one of [bps, kbps, Mbps, Gbps, Tbps]

QoSProfilesQosProfileDeviceRequest

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "phoneNumber": "+123456789",
  "device": {
    "phoneNumber": "+123456789",
    "networkAccessIdentifier": "123456789@domain.com",
    "ipv4Address": {
      "publicAddress": "203.0.113.0",
      "publicPort": 59765
    },
    "ipv6Address": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
  },
  "name": "voice",
  "status": "ACTIVE"
}
Name Type Required Description
phoneNumber QoSProfilesPhoneNumber true A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.
device QoSProfilesDevice false 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
NOTE1: the network operator might support only a subset of these options. The API consumer can provide multiple identifiers to be compatible across different operators. In this case the identifiers MUST belong to the same device.
NOTE2: as for this Commonalities release, we are enforcing that the networkAccessIdentifier is only part of the schema for future-proofing, and CAMARA does not currently allow its use. After the CAMARA meta-release work is concluded and the relevant issues are resolved, its use will need to be explicitly documented in the guidelines.
name QoSProfilesQosProfileName false 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 profile names like QOS_E, QOS_S, QOS_M, and QOS_L
- A searchable descriptive name
status QoSProfilesQosProfileStatusEnum false The current status of the QoS Profile
- ACTIVE- QoS Profile is available to be used
- INACTIVE- QoS Profile is not currently available to be deployed
- DEPRECATED- QoS profile is actively being used in a QoD session, but can not be deployed in new QoD sessions

QoSProfilesAvailability

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[
  {
    "countryName": "GB",
    "networks": [
      "23591",
      "23415"
    ]
  },
  {
    "countryName": "DE",
    "networks": [
      "26202"
    ]
  }
]
Name Type Required Description
countryName string true The two letter ISO 3166-2 country code for the country in which the QoS profile is available in at least one network
networks [string] false A list of networks within the country for which the QoS profile is available from the API provider

QoSProfilesDevice

1
2
3
4
5
6
7
8
9
{
  "phoneNumber": "+123456789",
  "networkAccessIdentifier": "123456789@domain.com",
  "ipv4Address": {
    "publicAddress": "203.0.113.0",
    "publicPort": 59765
  },
  "ipv6Address": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
}
Name Type Required Description
phoneNumber QoSProfilesPhoneNumber false A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.
networkAccessIdentifier QoSProfilesNetworkAccessIdentifier false A public identifier addressing a subscription in a mobile network. In 3GPP terminology, it corresponds to the GPSI formatted with the External Identifier ({Local Identifier}@{Domain Identifier}). Unlike the telephone number, the network access identifier is not subjected to portability ruling in force, and is individually managed by each operator.
ipv4Address QoSProfilesDeviceIpv4Addr false The device should be identified by either the public (observed) IP address and port as seen by the application server, or the private (local) and any public (observed) IP addresses in use by the device (this information can be obtained by various means, for example from some DNS servers).

If the allocated and observed IP addresses are the same (i.e. NAT is not in use) then the same address should be specified for both publicAddress and privateAddress.

If NAT64 is in use, the device should be identified by its publicAddress and publicPort, or separately by its allocated IPv6 address (field ipv6Address of the Device object)

In all cases, publicAddress must be specified, along with at least one of either privateAddress or publicPort, dependent upon which is known. In general, mobile devices cannot be identified by their public IPv4 address alone.
ipv6Address QoSProfilesDeviceIpv6Address false The device should be identified by the observed IPv6 address, or by any single IPv6 address from within the subnet allocated to the device (e.g. adding ::0 to the /64 prefix).

The session shall apply to all IP flows between the device subnet and the specified application server, unless further restricted by the optional parameters devicePorts or applicationServerPorts.

QoSProfilesNetworkAccessIdentifier

1
"123456789@domain.com"
Name Type Required Description
anonymous string false A public identifier addressing a subscription in a mobile network. In 3GPP terminology, it corresponds to the GPSI formatted with the External Identifier ({Local Identifier}@{Domain Identifier}). Unlike the telephone number, the network access identifier is not subjected to portability ruling in force, and is individually managed by each operator.

QoSProfilesPhoneNumber

1
"+123456789"
Name Type Required Description
anonymous string false A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with ‘+’.

QoSProfilesDeviceIpv4Addr

1
2
3
4
{
  "publicAddress": "203.0.113.0",
  "publicPort": 59765
}
Name Type Required Description
publicAddress QoSProfilesSingleIpv4Addr false A single IPv4 address with no subnet mask
privateAddress QoSProfilesSingleIpv4Addr false A single IPv4 address with no subnet mask
publicPort QoSProfilesPort false TCP or UDP port number
Name Type Required Description
anonymous object false none
Name Type Required Description
anonymous object false none

QoSProfilesPort

1
65535
Name Type Required Description
anonymous integer false TCP or UDP port number

QoSProfilesSingleIpv4Addr

1
"203.0.113.0"
Name Type Required Description
anonymous string(ipv4) false A single IPv4 address with no subnet mask

QoSProfilesDeviceIpv6Address

1
"2001:db8:85a3:8d3:1319:8a2e:370:7344"
Name Type Required Description
anonymous string(ipv6) false The device should be identified by the observed IPv6 address, or by any single IPv6 address from within the subnet allocated to the device (e.g. adding ::0 to the /64 prefix).

The session shall apply to all IP flows between the device subnet and the specified application server, unless further restricted by the optional parameters devicePorts or applicationServerPorts.

QoSProfilesApiError

1
2
3
4
5
6
{
  "code": "string",
  "title": "string",
  "ref": "string",
  "details": "string"
}
Name Type Required Description
code string true code of the error
title string true title of the error
ref string true ref of the error
details string true details of the error
Schemas