Provisioning REST API API documentation version 1
/sapc/v1/provisioning/
Provisioning
Document Purpose and Scope
This document describes the provisioning REST API provided by the Ericsson Service-Aware Policy Controller (SAPC).
Overview
Provisioning function is the process of preparing and loading data to telecom equipment to provide a set of services to its users.
Provisioning data in the SAPC includes subscribers, dataplans and contents, and also profiles for any of the previous. It also includes the SAPC policy related data, that is policy locators, policies and rules.
The SAPC supports the following:
- HTTP version 1.1 over TLS 1.2
Note: The SAPC does not support access using not secure HTTP. - JSON schema draft 4
- Basic authentication
General Considerations
Provisioning data are available by means of REST resources (also known as endpoints), for example
URI Syntax and Character Encoding
A Uniform Resource Identifier (URI) provides a simple and extensible means for identifying a resource. According to RFC 3986, a URI is an identifier consisting of a sequence of characters matching the generic syntax defined in this RFC.The URI is composed from a limited set of characters consisting of digits, letters, and a few graphic symbols. For the resource names the SAPC supports only a group of characters from the ASCII character set.
Valid characters for resource names are the following:
From "a" (ASCII 97) to "z" (ASCII 122)
From "A" (ASCII 65) to "Z" (ASCII 90)
From "0" (ASCII 48) to "9" (ASCII 57)
"-", "_", ".", ":", "[", "]", "@", "(", ")", "!", "$", "'", "*", " "
Invalid words for resource names are the following:
"select", "offset", "limit", "orderby", "asc", "desc", "search"
The use of these characters can be also percent-encoded. This means to encode these characters as a character triplet consisting of the percent character "%", followed by the two hexadecimal digits representing that octet's numeric value in the character set to be used.
The percent-encoded equivalences for the reserved characters are (UTF-8 charset):
Character | Percent-encoded
--------- | ---------------
":" | %3A
"[" | %5B
"]" | %5D
"@" | %40
"(" | %28
")" | %29
"!" | %21
"$" | %24
"'" | %27
"*" | %2A
" " | %20
Using UTF-8 for character encoding is strongly recommended as an easy way to get internationalization without having to worry about managing multiple encodings.
JSON Schema Considerations
For string attribute values the SAPC is case sensitive. To include double quote (") character string attributes, use backlash character () to escape them. As an example, see attrValue parameter:
{
"result":"permit",
"attrName":"adc-redirect",
"attrValue":"\"doNotRedirect\""
}
HTTP Status Codes
The SAPC supports the HTTP status codes explicitly specified for each resource. For status code 400 (wrong JSON format) and 422 (wrong semantic), the SAPC also includes an additional information string, as help to solve the problem whenever is possible.
Base URI
<SAPC Provisioning VIP>:8443/provisioning/v1/
Resources
Contents
View and manage content information. A content is a service controlled by the SAPC.
List the contents
get /contents
List the contents
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Get information about a content
Create or update a content
Delete a content
get /contents/{contentName}
Get information about a content
Each request must contain the headers necessary for basic authentication
URI Parameters
- contentName: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The data associated with a given content.",
"additionalProperties": false,
"properties": {
"contentName": {
"type": "string",
"description": "Administrative identifier of the content.",
"minLength": 1
},
"pccRuleName": {
"type": "string",
"description": "PCC Rule name."
},
"pccRuleId": {
"type": "integer",
"description": "PCC Rule name as a number, deprecated.",
"minimum": 0
},
"adcRuleName": {
"type": "string",
"description": "ADC Rule name."
},
"tdfAppId": {
"type": "string",
"description": "Identifies the application to be detected and controlled."
},
"pccRuleType": {
"type": "integer",
"description": "PCC rule type (0: Static using Name, 1: Static using Basename, 2: Preconfigured).",
"minimum": 0,
"maximum": 2,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"adcRuleType": {
"type": "integer",
"description": "ADC rule type (0: Static using Name, 1: Static using Basename).",
"minimum": 0,
"maximum": 1,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"precedence": {
"type": "integer",
"description": "Value used to set the precedence of a preconfigured PCC Rule compared to other PCC Rules running on the same IP-CAN session. In particular this parameter set the 5 most significant bits for the priority of the PCC rule (lower value means higher precedence).",
"minimum": 0,
"maximum": 31,
"default": 31,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"flows": {
"type": "array",
"description": "Contains the data to fill Flow-Information AVP within a Charging-Rule-Definition AVP. Only used for preconfigured PCC Rules not enhanced with ADC.",
"minItems": 1,
"uniqueItems": false,
"additionalItems": true,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"flowName": {
"type": "string",
"description": "Administrative identifier of a Flow-Description. Allows to associate several Flow-Descriptions with one PCC Rule.",
"minLength": 1
},
"sourceIpAddr": {
"type": "string",
"description": "Flow description source IPv4 address (possibly masked using '/' notation) or source IPv6 prefix (colon notation, preferred format). Wildcard ('any') can be used."
},
"sourcePort": {
"type": "string",
"description": "Flow description source port (list or range). Wildcard (empty) can be used."
},
"destIpAddr": {
"type": "string",
"description": "Flow description destination IPv4 address (possibly masked using '/' notation) or destination IPv6 prefix (colon notation, preferred format). Wildcard ('any') can be used."
},
"destPort": {
"type": "string",
"description": "Flow description destination port (list or range). Wildcard (empty) can be used."
},
"protocol": {
"type": "string",
"description": "A number to identify the protocol used inside the flow description."
},
"direction": {
"type": "string",
"description": "Direction of the flow.",
"enum":["ul","dl"]
}
},
"required": [
"flowName",
"protocol",
"direction"
]
}
},
"staticQualification": {
"type": "object",
"additionalProperties": false,
"properties": {
"contentQosProfileId": {
"type": "string",
"description": "Identifier of the QoS Profile.",
"minLength": 1
},
"contentChargingProfileId": {
"type": "string",
"description": "Identifier of the Charging Profile.",
"minLength": 1
},
"contentAdcRedirectProfileId": {
"type": "string",
"description": "Identifier of the ADC Redirection Profile.",
"minLength": 1
},
"contentAdcMuteNotification": {
"type": "string",
"enum": ["muted", "unmuted"],
"description": "Indicates whether the PCEF should send ADC notifications to the SAPC."
}
}
}
},
"required": ["contentName"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /contents/{contentName}
Create or update a content
Each request must contain the headers necessary for basic authentication
URI Parameters
- contentName: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The data associated with a given content.",
"additionalProperties": false,
"properties": {
"contentName": {
"type": "string",
"description": "Administrative identifier of the content.",
"minLength": 1
},
"pccRuleName": {
"type": "string",
"description": "PCC Rule name."
},
"pccRuleId": {
"type": "integer",
"description": "PCC Rule name as a number, deprecated.",
"minimum": 0
},
"adcRuleName": {
"type": "string",
"description": "ADC Rule name."
},
"tdfAppId": {
"type": "string",
"description": "Identifies the application to be detected and controlled."
},
"pccRuleType": {
"type": "integer",
"description": "PCC rule type (0: Static using Name, 1: Static using Basename, 2: Preconfigured).",
"minimum": 0,
"maximum": 2,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"adcRuleType": {
"type": "integer",
"description": "ADC rule type (0: Static using Name, 1: Static using Basename).",
"minimum": 0,
"maximum": 1,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"precedence": {
"type": "integer",
"description": "Value used to set the precedence of a preconfigured PCC Rule compared to other PCC Rules running on the same IP-CAN session. In particular this parameter set the 5 most significant bits for the priority of the PCC rule (lower value means higher precedence).",
"minimum": 0,
"maximum": 31,
"default": 31,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"flows": {
"type": "array",
"description": "Contains the data to fill Flow-Information AVP within a Charging-Rule-Definition AVP. Only used for preconfigured PCC Rules not enhanced with ADC.",
"minItems": 1,
"uniqueItems": false,
"additionalItems": true,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"flowName": {
"type": "string",
"description": "Administrative identifier of a Flow-Description. Allows to associate several Flow-Descriptions with one PCC Rule.",
"minLength": 1
},
"sourceIpAddr": {
"type": "string",
"description": "Flow description source IPv4 address (possibly masked using '/' notation) or source IPv6 prefix (colon notation, preferred format). Wildcard ('any') can be used."
},
"sourcePort": {
"type": "string",
"description": "Flow description source port (list or range). Wildcard (empty) can be used."
},
"destIpAddr": {
"type": "string",
"description": "Flow description destination IPv4 address (possibly masked using '/' notation) or destination IPv6 prefix (colon notation, preferred format). Wildcard ('any') can be used."
},
"destPort": {
"type": "string",
"description": "Flow description destination port (list or range). Wildcard (empty) can be used."
},
"protocol": {
"type": "string",
"description": "A number to identify the protocol used inside the flow description."
},
"direction": {
"type": "string",
"description": "Direction of the flow.",
"enum":["ul","dl"]
}
},
"required": [
"flowName",
"protocol",
"direction"
]
}
},
"staticQualification": {
"type": "object",
"additionalProperties": false,
"properties": {
"contentQosProfileId": {
"type": "string",
"description": "Identifier of the QoS Profile.",
"minLength": 1
},
"contentChargingProfileId": {
"type": "string",
"description": "Identifier of the Charging Profile.",
"minLength": 1
},
"contentAdcRedirectProfileId": {
"type": "string",
"description": "Identifier of the ADC Redirection Profile.",
"minLength": 1
},
"contentAdcMuteNotification": {
"type": "string",
"enum": ["muted", "unmuted"],
"description": "Indicates whether the PCEF should send ADC notifications to the SAPC."
}
}
}
},
"required": ["contentName"]
}
Example:
{
"contentName" : "High-Charging_IPv6",
"flows" :
[
{
"destIpAddr" : "any",
"destPort" : "",
"direction" : "dl",
"flowName" : "1",
"protocol" : "ip",
"sourceIpAddr" : "10.220.100.1",
"sourcePort" : "1000"
},
{
"destIpAddr" : "any",
"destPort" : "",
"direction" : "dl",
"flowName" : "2",
"protocol" : "ip",
"sourceIpAddr" : "2000:1111:2222:4444:5555:ABCD:7777:0001",
"sourcePort" : "1000"
}
],
"pccRuleId" : 108,
"pccRuleType" : 2
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /contents/{contentName}
Delete a content
Each request must contain the headers necessary for basic authentication
URI Parameters
- contentName: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update content static qualification information
Delete the content static qualification information
put /contents/{contentName}/static-qualification
Create or update content static qualification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- contentName: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Static qualification data associated with a given content.",
"additionalProperties": false,
"properties": {
"staticQualification": {
"type": "object",
"additionalProperties": false,
"properties": {
"contentQosProfileId": {
"type": "string",
"description": "Identifier of the QoS Profile.",
"minLength": 1
},
"contentChargingProfileId": {
"type": "string",
"description": "Identifier of the Charging Profile.",
"minLength": 1
},
"contentAdcRedirectProfileId": {
"type": "string",
"description": "Identifier of the ADC Redirection Profile.",
"minLength": 1
},
"contentAdcMuteNotification": {
"type": "string",
"enum": ["muted", "unmuted"],
"description": "Indicates whether the PCEF should send ADC notifications to the SAPC."
}
}
}
}
}
Example:
{
"staticQualification":
{
"contentQosProfileId": "ContentQosProfile1",
"contentChargingProfileId": "ChargingProfile1",
"contentAdcRedirectProfileId": "RedirectProfile1",
"contentAdcMuteNotification": "unmuted"
}
}
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /contents/{contentName}/static-qualification
Delete the content static qualification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- contentName: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Dataplans
View and manage the dataplan information. A dataplan is equivalent to a subscriber group, that is, the data defining the commercial offering for a subscription. Subscribers associated to a dataplan share the same service characteristics. Characteristics examples are: allowed or denied services, QoS or rating.
List the dataplans
get /dataplans
List the dataplans
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
View and manage a particular dataplan.
The contents and policies defined for a dataplan apply to the subscribers belonging to that dataplan as well.
When a dataplan resource is removed (for example, a seasonal dataplan), the SAPC removes the related dataplan policy locators. Dataplan locators resources can be manually removed. This removal should be carefully done, as it can affect Policy Control Function.
Provisioning global Dataplan
A special dataplan with identifier "global" and lowest dataplan priority is created at installation time and cannot be deleted but should be configured with the default values wanted to be applied for all the subscribers. All the subscribers implicitly belong to this "global" dataplan (without the need of setting their attribute dataplanId = global). The values provisioned for the "global" dataplan are considered by the SAPC for the calculation of the set of subscribed contents and blacklisted contents.
Additional information
It is mandatory to define at least an absoluteLimits or sessionLimits for a reporting group.
Attributes described inside the JSON schema like volume usage limits are expressed in kilobytes (integer), and time ones in minutes (integer).
Get information about a dataplan
Create or update a dataplan
Delete a dataplan
get /dataplans/{dataplanId}
Get information about a dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"dataplanName": {
"type": "string",
"description": "Identifier of the subscriber dataplan",
"minLength": 1
},
"description":{
"type":"string",
"description": "Short description of the dataplan"
},
"defaultPriority":{
"type":"integer",
"description": "Priority level assigned to the dataplan. Default value (maximum int) is the lowest priority.",
"minimum":0,
"maximum":2147483647
},
"notification": {
"type": "string",
"description": "Defines if the SAPC can send SMS notifications to the subscribers of this dataplan, without the need of provisioning SMS destination for each subscriber. The SAPC sends the SMS to the MSISDN received in the Gx request. The SAPC only considers this value, if SMS data are not provisioned at subscriber level.",
"enum":["sms"]
},
"staticQualification": {
"type": "object",
"description": "The specific data that characterizes the dataplan for each function the SAPC controls, such as QoS, Charging, Content Filtering.",
"additionalProperties": false,
"properties": {
"maxBearerQosProfileId": {
"type": "string",
"description": "Maximum static bearer QoS profile for the dataplan."
},
"minBearerQosProfileId": {
"type": "string",
"description": "Minimum static bearer QoS profile for the dataplan."
},
"subscriberChargingProfileId": {
"type": "string",
"description": "Charging profile to be applied to a dataplan."
},
"contentFiltering": {
"type": "string",
"description": "Content Filtering profile to be applied to a dataplan."
},
"presenceReportingAreaNames": {
"type": "array",
"description": "List of Presence Reporting Area Names for the dataplan.",
"items":{ "type": "string" },
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"pdnGwListName":{
"type": "string",
"description": "PDN-GW list name associated to the dataplan"
},
"spid":{
"type": "integer",
"minimum": 1,
"maximum": 256,
"description": "SPID for the dataplan."
}
}
},
"subscribedContents":{
"type":"array",
"description": "The available contents associated to a dataplan.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"contentName":{"type":"string"},
"redirect":{"type":"boolean"}
},
"required":["contentName"]
}
},
"deniedContents":{
"type":"array",
"description": "The denied contents associated to dataplan.",
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of the denied contents for the dataplan."
}
},
"usageLimits":{
"type":"array",
"description": "The usage limits associated with a dataplan. Usage limits per reporting group or independent of reporting group (that is, total traffic of the IP-CAN session) for a specified time period or the IP session lifetime.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type": "string"
},
"description":{
"type": "string"
},
"reportingLevel":{
"type": "string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"subscriptionType":{
"type": "string",
"description": "When not specified, postpaid is assumed. Postpaid subscriptions are associated with a periodic fee that is automatically restarted. Prepaid subscriptions are associated with prepaid accounts or buying a voucher.",
"enum":["prepaid","postpaid"]
},
"subscriptionDate":{
"type": "string",
"description": "Start date and time when the reporting group is controlled for the subscriber. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"minQuotaTime":{
"type": "integer",
"description": "Minimum time quota assigned to the reporting group. It prevents from too often usage accumulators updates and associated evaluation process.",
"minimum":0
},
"minQuotaVolume":{
"type": "integer",
"description": "Minimum volume quota assigned to the reporting group. It prevents from receiving usage reporting too often and avoids signalling storms when a subscriber is reaching the end of the usage limit.",
"minimum":0
},
"reportingIntervalTime":{
"type": "integer",
"description": "Maximum time validity limit of the granted quota. Used to avoid usage accumulators are not updated for long end-user consuming periods. In case of volume usage limits, the SAPC forces usage reporting whenever this interval time is reached. In case of time usage limits, the SAPC internally calculates the usage whenever this interval time is reached.",
"minimum":0
},
"sliceTime":{
"type": "integer",
"description": "Amount of time usage. Only applicable for time usage limits.",
"minimum":0
},
"sliceVolume":{
"type":"integer",
"description": "Amount of volume usage. Only applicable for volume usage limits.",
"minimum":0
},
"aggregable":{
"type": "boolean",
"description": "Flag to show if the reporting group is aggregable, only applicable for postpaid dataplan reporting group. When not specified, false is assumed."
},
"useRolloverFirst":{
"type":"boolean",
"description": "If true (default value), the remaining quota transferred from the previous billing period is consumed before the quota of the current period; if false, the quota of the current period is consumed first. The value applied is the same for absolute and conditional accumulators.",
"default": true
},
"absoluteLimits":{
"type":"object",
"description": "Block to specify absolute (that is, for a specific period) usage limits.",
"additionalProperties":false,
"properties":{
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached). Several options are possible: (1) Periods of fixed length: 'monthly', '<nr> days' or '<nr> hours'. (2) Reset on specific dates: useful for making to fit the usage accumulators reset with the billing periods, for example: (2a) reset each month on day 15th --> 'monthly day 15'. (2b) reset each week on Sundays --> 'weekly day Sunday'. (2c) reset daily at hour 08:00 --> 'daily 08:00'. Different precisions are possible: it is optional to specify the hh:mm part. Do not specify hh:mm part if it does not mind the hours and minutes when reset is performed. Use hh:?? if it does not mind the minutes when reset is performed.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit.",
"minimum": 0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type": "integer",
"description": "Time limit",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"name":{"type": "string"},
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached). Several options are possible: (1) Periods of fixed length: 'monthly', '<nr> days' or '<nr> hours'. (2) Reset on specific dates: useful for making to fit the usage accumulators reset with the billing periods, for example: (2a) reset each month on day 15th --> 'monthly day 15'. (2b) reset each week on Sundays --> 'weekly day Sunday'. (2c) reset daily at hour 08:00 --> 'daily 08:00'. Different precisions are possible: it is optional to specify the hh:mm part. Do not specify hh:mm part if it does not mind the hours and minutes when reset is performed. Use hh:?? if it does not mind the minutes when reset is performed.",
"additionalProperties":false,
"properties":{
"volume":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable. It does not apply to complementary limits.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
}
}
}
}
}
},
"sessionLimits":{
"type":"object",
"description": "Block to specify usage limits during IP session lifetime.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{"type":"string"},
"ulVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
}
}
}
}
}
}
}
}
},
"eventTriggers":{
"type":"array",
"items":{
"type":"integer"
},
"uniqueItems":true,
"minItems": 1,
"description": "Event triggers associated with a dataplan. For the detailed list of values, see Event-Trigger AVP in the Gx Interface Description document. Do not set NO_EVENT_TRIGGER (14) value."
}
},
"required":["dataplanName"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /dataplans/{dataplanId}
Create or update a dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"dataplanName": {
"type": "string",
"description": "Identifier of the subscriber dataplan",
"minLength": 1
},
"description":{
"type":"string",
"description": "Short description of the dataplan"
},
"defaultPriority":{
"type":"integer",
"description": "Priority level assigned to the dataplan. Default value (maximum int) is the lowest priority.",
"minimum":0,
"maximum":2147483647
},
"notification": {
"type": "string",
"description": "Defines if the SAPC can send SMS notifications to the subscribers of this dataplan, without the need of provisioning SMS destination for each subscriber. The SAPC sends the SMS to the MSISDN received in the Gx request. The SAPC only considers this value, if SMS data are not provisioned at subscriber level.",
"enum":["sms"]
},
"staticQualification": {
"type": "object",
"description": "The specific data that characterizes the dataplan for each function the SAPC controls, such as QoS, Charging, Content Filtering.",
"additionalProperties": false,
"properties": {
"maxBearerQosProfileId": {
"type": "string",
"description": "Maximum static bearer QoS profile for the dataplan."
},
"minBearerQosProfileId": {
"type": "string",
"description": "Minimum static bearer QoS profile for the dataplan."
},
"subscriberChargingProfileId": {
"type": "string",
"description": "Charging profile to be applied to a dataplan."
},
"contentFiltering": {
"type": "string",
"description": "Content Filtering profile to be applied to a dataplan."
},
"presenceReportingAreaNames": {
"type": "array",
"description": "List of Presence Reporting Area Names for the dataplan.",
"items":{ "type": "string" },
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"pdnGwListName":{
"type": "string",
"description": "PDN-GW list name associated to the dataplan"
},
"spid":{
"type": "integer",
"minimum": 1,
"maximum": 256,
"description": "SPID for the dataplan."
}
}
},
"subscribedContents":{
"type":"array",
"description": "The available contents associated to a dataplan.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"contentName":{"type":"string"},
"redirect":{"type":"boolean"}
},
"required":["contentName"]
}
},
"deniedContents":{
"type":"array",
"description": "The denied contents associated to dataplan.",
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of the denied contents for the dataplan."
}
},
"usageLimits":{
"type":"array",
"description": "The usage limits associated with a dataplan. Usage limits per reporting group or independent of reporting group (that is, total traffic of the IP-CAN session) for a specified time period or the IP session lifetime.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type": "string"
},
"description":{
"type": "string"
},
"reportingLevel":{
"type": "string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"subscriptionType":{
"type": "string",
"description": "When not specified, postpaid is assumed. Postpaid subscriptions are associated with a periodic fee that is automatically restarted. Prepaid subscriptions are associated with prepaid accounts or buying a voucher.",
"enum":["prepaid","postpaid"]
},
"subscriptionDate":{
"type": "string",
"description": "Start date and time when the reporting group is controlled for the subscriber. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"minQuotaTime":{
"type": "integer",
"description": "Minimum time quota assigned to the reporting group. It prevents from too often usage accumulators updates and associated evaluation process.",
"minimum":0
},
"minQuotaVolume":{
"type": "integer",
"description": "Minimum volume quota assigned to the reporting group. It prevents from receiving usage reporting too often and avoids signalling storms when a subscriber is reaching the end of the usage limit.",
"minimum":0
},
"reportingIntervalTime":{
"type": "integer",
"description": "Maximum time validity limit of the granted quota. Used to avoid usage accumulators are not updated for long end-user consuming periods. In case of volume usage limits, the SAPC forces usage reporting whenever this interval time is reached. In case of time usage limits, the SAPC internally calculates the usage whenever this interval time is reached.",
"minimum":0
},
"sliceTime":{
"type": "integer",
"description": "Amount of time usage. Only applicable for time usage limits.",
"minimum":0
},
"sliceVolume":{
"type":"integer",
"description": "Amount of volume usage. Only applicable for volume usage limits.",
"minimum":0
},
"aggregable":{
"type": "boolean",
"description": "Flag to show if the reporting group is aggregable, only applicable for postpaid dataplan reporting group. When not specified, false is assumed."
},
"useRolloverFirst":{
"type":"boolean",
"description": "If true (default value), the remaining quota transferred from the previous billing period is consumed before the quota of the current period; if false, the quota of the current period is consumed first. The value applied is the same for absolute and conditional accumulators.",
"default": true
},
"absoluteLimits":{
"type":"object",
"description": "Block to specify absolute (that is, for a specific period) usage limits.",
"additionalProperties":false,
"properties":{
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached). Several options are possible: (1) Periods of fixed length: 'monthly', '<nr> days' or '<nr> hours'. (2) Reset on specific dates: useful for making to fit the usage accumulators reset with the billing periods, for example: (2a) reset each month on day 15th --> 'monthly day 15'. (2b) reset each week on Sundays --> 'weekly day Sunday'. (2c) reset daily at hour 08:00 --> 'daily 08:00'. Different precisions are possible: it is optional to specify the hh:mm part. Do not specify hh:mm part if it does not mind the hours and minutes when reset is performed. Use hh:?? if it does not mind the minutes when reset is performed.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit.",
"minimum": 0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type": "integer",
"description": "Time limit",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"name":{"type": "string"},
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached). Several options are possible: (1) Periods of fixed length: 'monthly', '<nr> days' or '<nr> hours'. (2) Reset on specific dates: useful for making to fit the usage accumulators reset with the billing periods, for example: (2a) reset each month on day 15th --> 'monthly day 15'. (2b) reset each week on Sundays --> 'weekly day Sunday'. (2c) reset daily at hour 08:00 --> 'daily 08:00'. Different precisions are possible: it is optional to specify the hh:mm part. Do not specify hh:mm part if it does not mind the hours and minutes when reset is performed. Use hh:?? if it does not mind the minutes when reset is performed.",
"additionalProperties":false,
"properties":{
"volume":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable. It does not apply to complementary limits.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
}
}
}
}
}
},
"sessionLimits":{
"type":"object",
"description": "Block to specify usage limits during IP session lifetime.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{"type":"string"},
"ulVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum": 0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
}
}
}
}
}
}
}
}
},
"eventTriggers":{
"type":"array",
"items":{
"type":"integer"
},
"uniqueItems":true,
"minItems": 1,
"description": "Event triggers associated with a dataplan. For the detailed list of values, see Event-Trigger AVP in the Gx Interface Description document. Do not set NO_EVENT_TRIGGER (14) value."
}
},
"required":["dataplanName"]
}
Example:
{
"dataplanName": "Turbo",
"description": "Turbo voucher for weekends",
"staticQualification":
{
"maxBearerQosProfileId": "QoS_Turbo",
"minBearerQosProfileId": "QoS_Turbo"
},
"usageLimits":
[
{
"absoluteLimits":
{
"bidirVolume": 256000
},
"description": "Peer to Peer",
"name": "100",
"subscriptionType": "prepaid"
}
]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
The SAPC can return the following errors, owing to check the content of usageLimits attribute:
- Usage Limit [string] was already defined
- Invalid date in [string] field
- subscriptionDate + resetPeriod must be a date in the future in [string] field
- Integer or percentage value expected for [string] field
- Integer value expected at last position of the array for [string] field
- Attribute usageLimits has not defined limits
- Attribute aggregable is configured for prepaid reporting group
- Absolute values are configured in intermediate limits for reporting groups with aggregable attribute set to true
Also, the following attributes are forbidden for the emergency subscriber:
- dataplans
- sharedDataplan
- customerId
- contentFiltering
- onlineChargingSystemProfileId
- presenseReportingAreaNames
- smsDestinations
- trafficIds
- usageLimits
- redirect contents
- spid
- pdnGwListName
The SAPC can return the following errors, owing to check the content of group subscription:
- startDate should be before stopDate
- durations is only applicable to prepaid subscription type
- durations should not be defined together with startDate and/or stopDate
- The item of durations is a set of start time and stop time, start time shuold be before stop time
Body
Type: application/json
Example:
{
"error":
{
"code":"422",
"description":"Wrong semantic validation: Invalid usageLimits: Usage Limit 'Home' was already defined",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}
Delete a dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List of policy locators provisioned for a concrete dataplan.
- Resource is the element (ip-can-session, content, ...) for which the policy evaluation is requested.
- Context refers to the domain or functionality (access, qos, charging) for which the policy applies.
A policy is assigned to a resource when the policy applies to all dataplans and subscribers for the resource.
List the dataplan policy locators
get /dataplans/{dataplanId}/locators
List the dataplan policy locators
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the locators for a given resource collection.",
"additionalProperties": false,
"properties": {
"locators": {
"type": "array",
"description": "The list of locators associated to the locator resource collection.",
"uniqueItems":true,
"items":{
"type": "object",
"additionalProperties": false,
"properties": {
"resourceName":{
"type":"string",
"description": "Resource name of the locator"
},
"contextName":{
"type":"string",
"description": "Context name of the locator"
},
"policies":{
"type":"array",
"description": "The list of identifiers of the policies associated with the policy locator.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"required": ["resourceName", "contextName", "policies"]
}
}
}
},
"required": ["locators"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
The set of policy locators applicable for the given dataplan, resource and context.
- Dataplan is a set of subscribers to which the same policies apply.
- Resource is the element (IP-CAN-session, content, ...) for which the policy evaluation is requested.
- Context refers to the domain for which the policy applies.
Get information about a dataplan policy locator
Create or update a dataplan locator
Delete a dataplan policy locator
get /dataplans/{dataplanId}/locators/resources/{resourceId}/contexts/{contextId}
Get information about a dataplan policy locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
- resourceId: required (string)
- contextId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list of available global policies",
"additionalProperties": false,
"properties": {
"policies":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a global policy locator"
}
}
},
"required": ["policies"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /dataplans/{dataplanId}/locators/resources/{resourceId}/contexts/{contextId}
Create or update a dataplan locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
- resourceId: required (string)
- contextId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list of available global policies",
"additionalProperties": false,
"properties": {
"policies":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a global policy locator"
}
}
},
"required": ["policies"]
}
Example:
{
"policies" : [ "pThrottling64K" ]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}/locators/resources/{resourceId}/contexts/{contextId}
Delete a dataplan policy locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
- resourceId: required (string)
- contextId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update dataplan static qualification information
Delete dataplan static qualification information
put /dataplans/{dataplanId}/static-qualification
Create or update dataplan static qualification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description": "Static qualification data associated with a given Dataplan.",
"additionalProperties":false,
"properties":{
"staticQualification": {
"type": "object",
"description": "The specific data that characterizes the dataplan for each function the SAPC controls, such as QoS, Charging, Content Filtering.",
"additionalProperties": false,
"properties": {
"maxBearerQosProfileId": {
"type": "string",
"description": "Maximum static bearer QoS profile for the dataplan."
},
"minBearerQosProfileId": {
"type": "string",
"description": "Minimum static bearer QoS profile for the dataplan."
},
"subscriberChargingProfileId": {
"type": "string",
"description": "Charging profile to be applied to a dataplan."
},
"contentFiltering": {
"type": "string",
"description": "Content Filtering profile to be applied to a dataplan."
},
"presenceReportingAreaNames": {
"type": "array",
"description": "The list of Presence Reporting Area Names for the dataplan.",
"items":{ "type": "string" },
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"pdnGwListName":{
"type": "string",
"description": "PDN-GW list name associated to the dataplan"
},
"spid":{
"type": "integer",
"minimum": 1,
"maximum": 256,
"description": "SPID for the dataplan."
}
}
}
}
}
Example:
{
"staticQualification":
{
"maxBearerQosProfileId": "QoS_Turbo",
"minBearerQosProfileId": "QoS_Turbo",
"subscriberChargingProfileId": "Charging_Profile_1",
"contentFiltering": "Content_Filtering_Profile_1"
}
}
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}/static-qualification
Delete dataplan static qualification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update dataplan usage limits
put /dataplans/{dataplanId}/usage-limits
Create or update dataplan usage limits
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"usageLimits":{
"type":"array",
"description": "Represents the usage limits associated with a dataplan. Usage limits per reporting group or independent of reporting group (that is, total traffic of the IP-CAN session) for a specified time period or the IP session lifetime.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type": "string"
},
"description":{
"type": "string"
},
"reportingLevel":{
"type": "string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"subscriptionType":{
"type": "string",
"description": "When not specified, postpaid is assumed. Postpaid subscriptions are associated with a periodic fee that is automatically restarted. Prepaid subscriptions are associated with prepaid accounts or buying a voucher.",
"enum":["prepaid","postpaid"]
},
"subscriptionDate":{
"type": "string",
"description": "Start date and time when the reporting group is controlled for the subscriber. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"minQuotaTime":{
"type": "integer",
"description": "Minimum time quota assigned to the reporting group. It prevents from too often usage accumulators updates and associated evaluation process.",
"minimum":0
},
"minQuotaVolume":{
"type": "integer",
"description": "Minimum volume quota assigned to the reporting group. It prevents from receiving usage reporting too often and avoids signalling storms when a subscriber is reaching the end of the usage limit.",
"minimum":0
},
"reportingIntervalTime":{
"type": "integer",
"description": "Maximum time validity limit of the granted quota. Used to avoid usage accumulators are not updated for long end-user consuming periods. In case of volume usage limits, the SAPC forces usage reporting whenever this interval time is reached. In case of time usage limits, the SAPC internally calculates the usage whenever this interval time is reached.",
"minimum":0
},
"sliceTime":{
"type": "integer",
"description": "Amount of time usage. Only applicable for time usage limits.",
"minimum":0
},
"sliceVolume":{
"type":"integer",
"description": "Amount of volume usage. Only applicable for volume usage limits.",
"minimum":0
},
"aggregable":{
"type": "boolean",
"description": "Flag to show if the reporting group is aggregable, only applicable for postpaid dataplan reporting group. When not specified, false is assumed."
},
"useRolloverFirst":{
"type":"boolean",
"description": "If true (default value), the remaining quota transferred from the previous billing period is consumed before the quota of the current period; if false, the quota of the current period is consumed first. The value applied is the same for absolute and conditional accumulators.",
"default": true
},
"absoluteLimits":{
"type":"object",
"description": "Block to specify absolute (that is, for a specific period) usage limits.",
"additionalProperties":false,
"properties":{
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
},
"time":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type": "integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"name":{"type": "string"},
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
},
"time":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable. It does not apply to complementary limits.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
}
}
}
}
}
},
"sessionLimits":{
"type":"object",
"description": "Block to specify usage limits during IP session lifetime.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{"type":"string"},
"ulVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
}
}
}
}
}
}
}
}
}
},
"required":["usageLimits"]
}
Example:
{
"usageLimits":
[
{
"absoluteLimits":
{
"bidirVolume": 256000
},
"description": "Peer to Peer",
"name": "100",
"subscriptionType": "prepaid"
},
{
"aggregable": true,
"absoluteLimits":
{
"bidirVolume": 256000
},
"description": "Peer to Peer",
"name": "200",
"subscriptionType": "postpaid"
}
]
}
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}/usage-limits
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update dataplan notification information
Delete dataplan notification information
put /dataplans/{dataplanId}/notification
Create or update dataplan notification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"notification": {
"type": "string",
"description": "Defines if the SAPC can send SMS notifications to the subscribers of this dataplan, without the need of provisioning SMS destination for each subscriber. The SAPC sends the SMS to the MSISDN received in the Gx request. The SAPC only considers this value, if SMS data are not provisioned at subscriber level.",
"enum":["sms"]
}
},
"required":["notification"]
}Example:
{
"notification" : "sms"
}HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}/notification
Delete dataplan notification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update dataplan subscribed contents information
Delete dataplan subscribed contents information
put /dataplans/{dataplanId}/subscribed-contents
Create or update dataplan subscribed contents information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"subscribedContents":{
"type":"array",
"description": "Represents the available contents associated to a dataplan.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"contentName":{"type":"string"},
"redirect":{"type":"boolean"}
},
"required":["contentName"]
}
}
},
"required":["subscribedContents"]
}
Example:
{
"subscribedContents" :
[
{
"contentName": "SMS",
"redirect": false
},
{
"contentName": "Internet",
"redirect": true
}
]
}HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}/subscribed-contents
Delete dataplan subscribed contents information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Add or update subscribed content associated with a dataplan
Delete subscribed content associadted with dataplan
put /dataplans/{dataplanId}/subscribed-contents/{contentName}
Add or update subscribed content associated with a dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
- contentName: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"contentName":{"type":"string"},
"redirect":{"type":"boolean"}
},
"required":["contentName"]
}
Example:
{
{
"contentName": "Internet",
"redirect": true
}
}HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}/subscribed-contents/{contentName}
Delete subscribed content associadted with dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
- contentName: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update dataplan denied contents information
Delete dataplan denied contents information
put /dataplans/{dataplanId}/denied-contents
Create or update dataplan denied contents information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"deniedContents":{
"type":"array",
"description": "Represents the denied contents associated to dataplan.",
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of the denied contents for the dataplan."
}
}
},
"required":["deniedContents"]
}
Example:
{
"deniedContents" :
[
"Skype", "P2P"
]
}HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /dataplans/{dataplanId}/denied-contents
Delete dataplan denied contents information
Each request must contain the headers necessary for basic authentication
URI Parameters
- dataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Global Policy Locators
View and manage global policy locator applicable for the given resource and context.
List the Global Policy Locators
get /locators
List the Global Policy Locators
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the locators for a given resource collection.",
"additionalProperties": false,
"properties": {
"locators": {
"type": "array",
"description": "The list of locators associated to the locator resource collection.",
"uniqueItems":true,
"items":{
"type": "object",
"additionalProperties": false,
"properties": {
"resourceName":{
"type":"string",
"description": "Resource name of the locator"
},
"contextName":{
"type":"string",
"description": "Context name of the locator"
},
"policies":{
"type":"array",
"description": "The list of identifiers of the policies associated with the policy locator.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"required": ["resourceName", "contextName", "policies"]
}
}
}
},
"required": ["locators"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List of global policy locators provisioned for all subscribers and dataplans.
- Resource is the element (ip-can-session, content, ...) for which the policy evaluation is requested.
- Context refers to the domain or functionality (subscription, access, any, qos, charging, static-access, content-filtering, service-classification, notification, charging, accumulation, autoprovisioning, charging-system, location, adc-redirect, adc-mute-notification, event-triggers, pdn-gw, spid) for which the policy applies.
Get information about a global policy locator
Create or update a global policy locator
Delete a global policy locator
get /locators/resources/{resourceId}/contexts/{contextId}
Get information about a global policy locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- resourceId: required (string)
- contextId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list of available global policies",
"additionalProperties": false,
"properties": {
"policies":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a global policy locator"
}
}
},
"required": ["policies"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /locators/resources/{resourceId}/contexts/{contextId}
Create or update a global policy locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- resourceId: required (string)
- contextId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list of available global policies",
"additionalProperties": false,
"properties": {
"policies":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a global policy locator"
}
}
},
"required": ["policies"]
}
Example:
{
"policies" : [ "pThrottling64K" ]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /locators/resources/{resourceId}/contexts/{contextId}
Delete a global policy locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- resourceId: required (string)
- contextId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Operator Specific Information
View and manage operator specific information. This provides an extensible mechanism for the operator to define additional data to be used in policy conditions.
Retrieve all defined operator specific informations
get /operator-specific-infos
Retrieve all defined operator specific informations
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Get information about an operator specific information
Create or update an operator specific information
Delete an operator specific information
get /operator-specific-infos/{operatorSpecificInfoId}
Get information about an operator specific information
Each request must contain the headers necessary for basic authentication
URI Parameters
- operatorSpecificInfoId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"infoId":{
"type":"string",
"description": "Identifier of the operator specific information."
},
"infoList":{
"type": "array",
"description": "This is a list of attribute name-value pairs.",
"additionalItems":false,
"items":{
"type": "object",
"additionalProperties": false,
"properties":{
"attributeName":{
"type": "string",
"description": "Identifier of the additional attribute."
},
"attributeValue":{
"type": "string",
"description": "Value for the additional attribute."
}
},
"required": ["attributeName","attributeValue"]
}
}
},
"required":["infoId", "infoList"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /operator-specific-infos/{operatorSpecificInfoId}
Create or update an operator specific information
Each request must contain the headers necessary for basic authentication
URI Parameters
- operatorSpecificInfoId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"infoId":{
"type":"string",
"description": "Identifier of the operator specific information."
},
"infoList":{
"type": "array",
"description": "This is a list of attribute name-value pairs.",
"additionalItems":false,
"items":{
"type": "object",
"additionalProperties": false,
"properties":{
"attributeName":{
"type": "string",
"description": "Identifier of the additional attribute."
},
"attributeValue":{
"type": "string",
"description": "Value for the additional attribute."
}
},
"required": ["attributeName","attributeValue"]
}
}
},
"required":["infoId", "infoList"]
}
Example:
{
"infoId" : "roaming1",
"infoList" :
[
{
"attributeName" : "RoamingSgsns",
"attributeValue" : "listOfIps: 192.168.0.1/24"
}
]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /operator-specific-infos/{operatorSpecificInfoId}
Delete an operator specific information
Each request must contain the headers necessary for basic authentication
URI Parameters
- operatorSpecificInfoId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Policies
View and manage policy information. This is the set of policies in SAPC.
List the policies
get /policies
List the policies
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve all information about a policy
Create or update a policy
Delete a policy
get /policies/{policyId}
Retrieve all information about a policy
Each request must contain the headers necessary for basic authentication
URI Parameters
- policyId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Contains the policy identifier and the combining algorithm.",
"additionalProperties": false,
"properties": {
"policyName": {
"type": "string",
"description": "Identifier of the policy",
"minLength": 1
},
"ruleCombiningAlgorithm": {
"type": "string",
"description": "Indicates how to select the result of the rules associated to this policy. Output attributes returned are the ones associated to the rule that determined the result.",
"enum":["permit-overrides","deny-overrides","single-match","multiple-match","all-permit","any-match"],
"default": "permit-overrides"
},
"rules":{
"type":"array",
"description": "Contains the list of rules associated to the policy. The rules are evaluated in the order they appear in the array.",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of the rule."
}
}
},
"required": ["policyName", "rules"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /policies/{policyId}
Create or update a policy
Each request must contain the headers necessary for basic authentication
URI Parameters
- policyId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Contains the policy identifier and the combining algorithm.",
"additionalProperties": false,
"properties": {
"policyName": {
"type": "string",
"description": "Identifier of the policy",
"minLength": 1
},
"ruleCombiningAlgorithm": {
"type": "string",
"description": "Indicates how to select the result of the rules associated to this policy. Output attributes returned are the ones associated to the rule that determined the result.",
"enum":["permit-overrides","deny-overrides","single-match","multiple-match","all-permit","any-match"],
"default": "permit-overrides"
},
"rules":{
"type":"array",
"description": "Contains the list of rules associated to the policy. The rules are evaluated in the order they appear in the array.",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of the rule."
}
}
},
"required": ["policyName", "rules"]
}
Example:
{
"policyName" : "pHighSpeed3M",
"rules" : [ "rHighSpeed3M" ]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /policies/{policyId}
Delete a policy
Each request must contain the headers necessary for basic authentication
URI Parameters
- policyId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Profiles
View and manage profile information
List the IP-CAN-session QoS profiles
get /profiles/ip-can-session-qos
List the IP-CAN-session QoS profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about an IP-CAN-session QoS profile
Create or update an IP-CAN-session QoS profile
Delete an IP-CAN-session QoS profile
get /profiles/ip-can-session-qos/{profileId}
Retrieve information about an IP-CAN-session QoS profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given QoS profile.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier of the IP-CAN-session QoS profile.",
"minLength": 1
},
"qci": {
"type": "integer",
"description": "QoS Class Identifier associated to the IP-CAN session. This is used as a reference to a standard set of parameters that define the packet forwarding treatment for the IP-CAN bearer.",
"minimum": 1,
"maximum": 254,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"mbrDownlink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the downlink.",
"minimum":0,
"maximum": 4294967295
},
"mbrUplink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the uplink.",
"minimum":0,
"maximum": 4294967295
},
"arpPriorityLevel": {
"type": "integer",
"description": "Allocation and retention priority level associated to the IP-CAN session that defines the relative importance of the IP-CAN session in case of resource limitations.",
"minimum": 1,
"maximum": 15,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"arpPvi": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
},
"arpPci": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
}
},
"required": ["profileId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/ip-can-session-qos/{profileId}
Create or update an IP-CAN-session QoS profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given QoS profile.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier of the IP-CAN-session QoS profile.",
"minLength": 1
},
"qci": {
"type": "integer",
"description": "QoS Class Identifier associated to the IP-CAN session. This is used as a reference to a standard set of parameters that define the packet forwarding treatment for the IP-CAN bearer.",
"minimum": 1,
"maximum": 254,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"mbrDownlink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the downlink.",
"minimum":0,
"maximum": 4294967295
},
"mbrUplink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the uplink.",
"minimum":0,
"maximum": 4294967295
},
"arpPriorityLevel": {
"type": "integer",
"description": "Allocation and retention priority level associated to the IP-CAN session that defines the relative importance of the IP-CAN session in case of resource limitations.",
"minimum": 1,
"maximum": 15,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"arpPvi": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
},
"arpPci": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
}
},
"required": ["profileId"]
}
Example:
{
"profileId" : "QoS_Basic",
"mbrDownlink" : 1024,
"mbrUplink" : 1024,
"qci" : 5
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/ip-can-session-qos/{profileId}
Delete an IP-CAN-session QoS profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List subscriber charging profiles
get /profiles/subscriber-charging
List subscriber charging profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a subscriber charging profile
Create or update a subscriber charging profile
Delete a subscriber charging profile
get /profiles/subscriber-charging/{profileId}
Retrieve information about a subscriber charging profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the charging information associated to a given subscriber or subscriber dataplan.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier for the Subscriber Charging profile.",
"minLength": 1
},
"onlineEnabled": {
"type": "boolean",
"description": "Defines the default charging method for online."
},
"offlineEnabled": {
"type": "boolean",
"description": "Defines the default charging method for offline."
},
"chargingChars": {
"type": "integer",
"description": "Subscriber Charging characteristics.",
"minimum": 0,
"maximum": 65535,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"chargingSystemProfileId": {
"type": "string",
"description": "Identifier of Charging System profile.",
"minLength": 1
}
},
"required": ["profileId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/subscriber-charging/{profileId}
Create or update a subscriber charging profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the charging information associated to a given subscriber or subscriber dataplan.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier for the Subscriber Charging profile.",
"minLength": 1
},
"onlineEnabled": {
"type": "boolean",
"description": "Defines the default charging method for online."
},
"offlineEnabled": {
"type": "boolean",
"description": "Defines the default charging method for offline."
},
"chargingChars": {
"type": "integer",
"description": "Subscriber Charging characteristics.",
"minimum": 0,
"maximum": 65535,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"chargingSystemProfileId": {
"type": "string",
"description": "Identifier of Charging System profile.",
"minLength": 1
}
},
"required": ["profileId"]
}
Example:
{
"profileId" : "offline_charging_profile",
"chargingChars" : 2222,
"chargingSystemProfileId" : "chargingSystem_OFCS_all",
"offlineEnabled" : true
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/subscriber-charging/{profileId}
Delete a subscriber charging profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List charging system profiles
get /profiles/charging-system
List charging system profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a charging system profile
Create or update a charging system profile
Delete a charging system profile
get /profiles/charging-system/{profileId}
Retrieve information about a charging system profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given charging system profile.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier for Charging System profile.",
"minLength": 1
},
"primaryOnline": {
"type": "string",
"description": "Address of the primary online charging system.",
"minLength": 1
},
"secondaryOnline": {
"type": "string",
"descritpion": "Address of the secondary online charging system.",
"minLength": 1
},
"primaryOffline": {
"type": "string",
"description": "Address of the primary offline charging system.",
"minLength": 1
},
"secondaryOffline": {
"type": "string",
"description": "Address of the secondary offline charging system.",
"minLength": 1
}
},
"required": ["profileId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/charging-system/{profileId}
Create or update a charging system profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given charging system profile.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier for Charging System profile.",
"minLength": 1
},
"primaryOnline": {
"type": "string",
"description": "Address of the primary online charging system.",
"minLength": 1
},
"secondaryOnline": {
"type": "string",
"descritpion": "Address of the secondary online charging system.",
"minLength": 1
},
"primaryOffline": {
"type": "string",
"description": "Address of the primary offline charging system.",
"minLength": 1
},
"secondaryOffline": {
"type": "string",
"description": "Address of the secondary offline charging system.",
"minLength": 1
}
},
"required": ["profileId"]
}
Example:
{
"profileId" : "chargingSystem_OCS_all",
"primaryOnline" : "100.10.10.10",
"secondaryOnline" : "100.10.10.11"
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/charging-system/{profileId}
Delete a charging system profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List defined online charging system profiles
get /profiles/online-charging-system
List defined online charging system profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about an online charging system profile
Create or update an online charging system profile
Delete an online charging system profile
get /profiles/online-charging-system/{profileId}
Retrieve information about an online charging system profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given online charging system profile.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Internal identifier for Online Charging System profile.",
"minLength": 1
},
"serverRealm": {
"type": "string",
"description": "Diameter realm used by the SAPC for Sy communication towards an Online Charging System.",
"minLength": 1
},
"syVersion": {
"type": "integer",
"description": "Version of the Sy interface used by the SAPC to communicate with the Online Charging System.",
"minimum": 0,
"maximum": 1,
"exclusiveMaximum": false,
"exclusiveMinimum": false
}
},
"required": ["profileId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/online-charging-system/{profileId}
Create or update an online charging system profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given online charging system profile.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Internal identifier for Online Charging System profile.",
"minLength": 1
},
"serverRealm": {
"type": "string",
"description": "Diameter realm used by the SAPC for Sy communication towards an Online Charging System.",
"minLength": 1
},
"syVersion": {
"type": "integer",
"description": "Version of the Sy interface used by the SAPC to communicate with the Online Charging System.",
"minimum": 0,
"maximum": 1,
"exclusiveMaximum": false,
"exclusiveMinimum": false
}
},
"required": ["profileId"]
}
Example:
{
"profileId" : "default",
"serverRealm" : "ocsrealm.com",
"syVersion" : 1
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/online-charging-system/{profileId}
Delete an online charging system profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List defined content QoS profiles
get /profiles/content-qos
List defined content QoS profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a content QoS profile
Create or update a content QoS profile
Delete a content QoS profile
get /profiles/content-qos/{profileId}
Retrieve information about a content QoS profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the information of a QoS profile and a content.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier of QoS profile.",
"minLength": 1
},
"qci": {
"type": "integer",
"minimum": 1,
"maximum": 254,
"exclusiveMaximum": false,
"exclusiveMinimum": false,
"description": "IP-CAN specific QoS parameters defining the authorized QoS, excluding the applicable bit rates and ARP for the IP-CAN bearer."
},
"mbrDownlink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the downlink.",
"minimum": 0,
"maximum": 4294967295
},
"mbrUplink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the uplink.",
"minimum": 0,
"maximum": 4294967295
},
"gbrDownlink": {
"type": "integer",
"description": "Guaranteed bit rate (in Kbits per second) for the downlink.",
"minimum": 0,
"maximum": 4294967295
},
"gbrUplink": {
"type": "integer",
"description": "Guaranteed bit rate (in Kbits per second) for the uplink.",
"minimum": 0,
"maximum": 4294967295
},
"arpPriorityLevel": {
"type": "integer",
"description": "Priority for enhanced Allocation Retention Priority (ARP).",
"minimum": 1,
"maximum": 15,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"arpPvi": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
},
"arpPci": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
},
"resourceType": {
"type": "string",
"description": "Determines if dedicated network resources related to a service are permanently allocated (GBR value). Values: GBR; non-GBR."
}
},
"required": ["profileId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/content-qos/{profileId}
Create or update a content QoS profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the information of a QoS profile and a content.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier of QoS profile.",
"minLength": 1
},
"qci": {
"type": "integer",
"minimum": 1,
"maximum": 254,
"exclusiveMaximum": false,
"exclusiveMinimum": false,
"description": "IP-CAN specific QoS parameters defining the authorized QoS, excluding the applicable bit rates and ARP for the IP-CAN bearer."
},
"mbrDownlink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the downlink.",
"minimum": 0,
"maximum": 4294967295
},
"mbrUplink": {
"type": "integer",
"description": "Maximum bit rate (in Kbits per second) for the uplink.",
"minimum": 0,
"maximum": 4294967295
},
"gbrDownlink": {
"type": "integer",
"description": "Guaranteed bit rate (in Kbits per second) for the downlink.",
"minimum": 0,
"maximum": 4294967295
},
"gbrUplink": {
"type": "integer",
"description": "Guaranteed bit rate (in Kbits per second) for the uplink.",
"minimum": 0,
"maximum": 4294967295
},
"arpPriorityLevel": {
"type": "integer",
"description": "Priority for enhanced Allocation Retention Priority (ARP).",
"minimum": 1,
"maximum": 15,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"arpPvi": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
},
"arpPci": {
"type": "boolean",
"description": "Values: false = PRE-EMPTION_VULNERABILITY_ENABLED (0); true = PRE-EMPTION_VULNERABILITY_DISABLED (1)."
},
"resourceType": {
"type": "string",
"description": "Determines if dedicated network resources related to a service are permanently allocated (GBR value). Values: GBR; non-GBR."
}
},
"required": ["profileId"]
}
Example:
{
"profileId" : "MMTelVideoProfile",
"arpPriorityLevel" : 6,
"mbrDownlink" : 207,
"mbrUplink" : 207,
"qci" : 128,
"resourceType" : "non-GBR"
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/content-qos/{profileId}
Delete a content QoS profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List defined content charging profiles
get /profiles/content-charging
List defined content charging profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a content charging profile
Create or update a content charging profile
Delete a content charging profile
get /profiles/content-charging/{profileId}
Retrieve information about a content charging profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Contains charging related data for a content.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier of Charging profile.",
"minLength": 1
},
"chargingServiceId": {
"type": "integer",
"description": "Identifier of the content in the PCEF (Service-Identifier AVP within Charging-Rule-Definition AVP).",
"minimum": 0,
"maximum": 4294967295
},
"ratingGroup": {
"type": "integer",
"description": "Charging key for the content, used for rating purposes.",
"minimum": 0,
"maximum": 4294967295
},
"meteringMethod": {
"type": "integer",
"description": "Defines if duration and/or volume should be metered for offline charging. Values: 0 (Duration), 1 (Volume), 2 (Duration and Volume).",
"minimum": 0,
"maximum": 2,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"reportingLevel": {
"type": "integer",
"description": "Level on which the PCEF reports the usage. Values: 0 (Charging Rule Level), 1 (Rating Group Level).",
"minimum": 0,
"maximum": 1,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"onlineEnabled": {
"type": "boolean",
"description": "Defines whether the Online should be enabled or disabled from the PCEF."
},
"offlineEnabled": {
"type": "boolean",
"description": "Defines whether the Offline should be enabled or disabled from the PCEF."
}
},
"required": ["profileId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/content-charging/{profileId}
Create or update a content charging profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Contains charging related data for a content.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "Identifier of Charging profile.",
"minLength": 1
},
"chargingServiceId": {
"type": "integer",
"description": "Identifier of the content in the PCEF (Service-Identifier AVP within Charging-Rule-Definition AVP).",
"minimum": 0,
"maximum": 4294967295
},
"ratingGroup": {
"type": "integer",
"description": "Charging key for the content, used for rating purposes.",
"minimum": 0,
"maximum": 4294967295
},
"meteringMethod": {
"type": "integer",
"description": "Defines if duration and/or volume should be metered for offline charging. Values: 0 (Duration), 1 (Volume), 2 (Duration and Volume).",
"minimum": 0,
"maximum": 2,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"reportingLevel": {
"type": "integer",
"description": "Level on which the PCEF reports the usage. Values: 0 (Charging Rule Level), 1 (Rating Group Level).",
"minimum": 0,
"maximum": 1,
"exclusiveMaximum": false,
"exclusiveMinimum": false
},
"onlineEnabled": {
"type": "boolean",
"description": "Defines whether the Online should be enabled or disabled from the PCEF."
},
"offlineEnabled": {
"type": "boolean",
"description": "Defines whether the Offline should be enabled or disabled from the PCEF."
}
},
"required": ["profileId"]
}
Example:
{
"profileId" : "ChargingProfile_106",
"meteringMethod" : 0,
"offlineEnabled" : true,
"onlineEnabled" : false,
"ratingGroup" : 4,
"reportingLevel" : 1
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/content-charging/{profileId}
Delete a content charging profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List ADC redirect profiles
get /profiles/content-adc-redirect-profile
List ADC redirect profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about an ADC redirect profile
Create or update an ADC redirect profile
Delete an ADC redirect profile
get /profiles/content-adc-redirect-profile/{profileId}
Retrieve information about an ADC redirect profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description":"Represents an ADC Redirection profile",
"oneOf":[
{
"properties":{
"profileId":{
"type":"string",
"minLength":1
}
},
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["IPv4_ADDRESS"],
"description":"Type of address (IPv4) where the application traffic is redirected."
},
"address":{
"type":"string",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["IPv6_ADDRESS"],
"description":"Type of address (IPv6) where the application traffic is redirected."
},
"address":{
"type":"string",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["URL"],
"description":"Type of address (URL) where the application traffic is redirected."
},
"address":{
"type":"string",
"pattern":"^(?:https?://)?([^/]+)(?:/?.*/?)/(.*)$",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["SIP_URI"],
"description":"Type of address (SIP URI) where the application traffic is redirected."
},
"address":{
"type":"string",
"pattern":"(sip:)?[0-9A-Za-z._%+-]+@([A-Za-z]{1}([a-zA-Z0-9\\.-])*|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(:[0-9]{1,5})?",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
}
],
"required":["profileId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/content-adc-redirect-profile/{profileId}
Create or update an ADC redirect profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description":"Represents an ADC Redirection profile",
"oneOf":[
{
"properties":{
"profileId":{
"type":"string",
"minLength":1
}
},
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["IPv4_ADDRESS"],
"description":"Type of address (IPv4) where the application traffic is redirected."
},
"address":{
"type":"string",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["IPv6_ADDRESS"],
"description":"Type of address (IPv6) where the application traffic is redirected."
},
"address":{
"type":"string",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["URL"],
"description":"Type of address (URL) where the application traffic is redirected."
},
"address":{
"type":"string",
"pattern":"^(?:https?://)?([^/]+)(?:/?.*/?)/(.*)$",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
},
{
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of ADC Redirection profile.",
"minLength":1
},
"addressType":{
"enum":["SIP_URI"],
"description":"Type of address (SIP URI) where the application traffic is redirected."
},
"address":{
"type":"string",
"pattern":"(sip:)?[0-9A-Za-z._%+-]+@([A-Za-z]{1}([a-zA-Z0-9\\.-])*|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(:[0-9]{1,5})?",
"description":"Address where the application traffic is redirected."
}
},
"required":["address"],
"additionalProperties":false
}
],
"required":["profileId"]
}
Example:
{
"profileId" : "adcRedirectProfile1",
"addressType" : "IPv4_ADDRESS",
"address" : "158.0.5.1"
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/content-adc-redirect-profile/{profileId}
Delete an ADC redirect profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List presence reporting area profiles
get /profiles/presence-reporting-area
List presence reporting area profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a PRA profile
Create or update a PRA profile
Delete a PRA profile
get /profiles/presence-reporting-area/{profileId}
Retrieve information about a PRA profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"praId": {
"type": "integer",
"description" : "Name of PRA.",
"minimum": 0,
"maximum": 16777215
},
"elementsList": {
"type": "object",
"properties": {
"tais": {
"type": "array",
"description": "List or range of TAIs (TAI = MCC + MNC + TAC) for E-UTRAN. Number of elements: 1-15. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), TAC: 16 bits integer (0-65535).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"macroEnbs": {
"type": "array",
"description": "List or range of Macro eNodeBs (Macro eNodeB = MCC + MNC + Macro eNodeB ID) for E-UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), Macro eNodeB ID: 20 bits integer (0-1048575).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"homeEnbs": {
"type": "array",
"description": "List or range of Home eNodeBs (Home eNodeB = MCC + MNC + Home eNodeB ID) for E-UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), Home eNodeB ID: 28 bits integer (0-268435455).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"ecgis": {
"type": "array",
"description": "List or range of ECGIs (ECGI = MCC + MNC + ECI) for E-UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), ECI: 28 bits integer (0-268435455).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"rais": {
"type": "array",
"description": "List or range of RAIs (RAI = MCC + MNC + LAC + RAC) for UTRAN. Number of elements: 1-15. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), LAC: 16 bits (0-65535), RAC: 8 bits (0-255).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"sais": {
"type": "array",
"description": "List or range of SAIs (SAI = MCC + MNC + LAC + SAC) for UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), LAC: 16 bits (0-65535), SAC: 16 bits (0-65535).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"cgis": {
"type": "array",
"description":"List or range of CGIs (CGI = MCC + MNC + LAC + CI) for GERAN and UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), LAC: 16 bits (0-65535), 16 bits (0-65535).",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
}
},
"required": ["name","praId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/presence-reporting-area/{profileId}
Create or update a PRA profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"praId": {
"type": "integer",
"description" : "Name of PRA.",
"minimum": 0,
"maximum": 16777215
},
"elementsList": {
"type": "object",
"properties": {
"tais": {
"type": "array",
"description": "List or range of TAIs (TAI = MCC + MNC + TAC) for E-UTRAN. Number of elements: 1-15. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), TAC: 16 bits integer (0-65535).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"macroEnbs": {
"type": "array",
"description": "List or range of Macro eNodeBs (Macro eNodeB = MCC + MNC + Macro eNodeB ID) for E-UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), Macro eNodeB ID: 20 bits integer (0-1048575).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"homeEnbs": {
"type": "array",
"description": "List or range of Home eNodeBs (Home eNodeB = MCC + MNC + Home eNodeB ID) for E-UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), Home eNodeB ID: 28 bits integer (0-268435455).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"ecgis": {
"type": "array",
"description": "List or range of ECGIs (ECGI = MCC + MNC + ECI) for E-UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), ECI: 28 bits integer (0-268435455).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"rais": {
"type": "array",
"description": "List or range of RAIs (RAI = MCC + MNC + LAC + RAC) for UTRAN. Number of elements: 1-15. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), LAC: 16 bits (0-65535), RAC: 8 bits (0-255).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"sais": {
"type": "array",
"description": "List or range of SAIs (SAI = MCC + MNC + LAC + SAC) for UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), LAC: 16 bits (0-65535), SAC: 16 bits (0-65535).",
"items": {
"type": "string"
},
"uniqueItems": true
},
"cgis": {
"type": "array",
"description":"List or range of CGIs (CGI = MCC + MNC + LAC + CI) for GERAN and UTRAN. Number of elements: 1-63. MCC: 3 digits (000-999), MNC: 2 digits (00-99) or 3 digits (000-999), LAC: 16 bits (0-65535), 16 bits (0-65535).",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
}
},
"required": ["name","praId"]
}
Example:
{
"name":"PRA",
"praId":6388608,
"elementsList":
{
"tais": ["012.45.6789-6791"],
"macroEnbs": ["123.456.78901"],
"homeEnbs": ["234.567.8901234-8901235"],
"ecgis": ["345.678.9012345"],
"rais": ["456.789.123.45-46"],
"sais": ["567.890.1234.5678"],
"cgis": ["678.901.2345.6789-6790"]
}
}HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/presence-reporting-area/{profileId}
Delete a PRA profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve all defined pdn-gw profiles
get /profiles/pdn-gw
Retrieve all defined pdn-gw profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a pdn-gw profile
Create or update a pdn-gw profile
Delete a pdn-gw profile
get /profiles/pdn-gw/{profileId}
Retrieve information about a pdn-gw profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given PDN-GW profile.",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Identifier for the PDN-GW profile.",
"minLength": 1
},
"fqdn": {
"type": "string",
"description": "Fully qualified domain name of the PDN-GW.",
"format": "hostname"
},
"ipv4": {
"type": "string",
"description": "IP v4 address of the PDN-GW.",
"format": "ipv4"
},
"ipv6": {
"type": "string",
"description": "IP v6 address of the PDN-GW.",
"format": "ipv6"
}
},
"required": ["name"],
"anyOf": [
{"required": ["fqdn"]},
{"required": ["ipv4"]},
{"required": ["ipv6"]}
]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/pdn-gw/{profileId}
Create or update a pdn-gw profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents all the information related with a given PDN-GW profile.",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Identifier for the PDN-GW profile.",
"minLength": 1
},
"fqdn": {
"type": "string",
"description": "Fully qualified domain name of the PDN-GW.",
"format": "hostname"
},
"ipv4": {
"type": "string",
"description": "IP v4 address of the PDN-GW.",
"format": "ipv4"
},
"ipv6": {
"type": "string",
"description": "IP v6 address of the PDN-GW.",
"format": "ipv6"
}
},
"required": ["name"],
"anyOf": [
{"required": ["fqdn"]},
{"required": ["ipv4"]},
{"required": ["ipv6"]}
]
}
Example:
{
"name":"pdNameIpv4",
"ipv4":"10.10.10.10",
"fqdn":"pgw.ericsson.com"
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/pdn-gw/{profileId}
Delete a pdn-gw profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve all defined pdn-gw-list profiles
get /profiles/pdn-gw-list
Retrieve all defined pdn-gw-list profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a pdn-gw-list profile
Create or update a pdn-gw-list profile
Delete a pdn-gw-list profile
get /profiles/pdn-gw-list/{profileId}
Retrieve information about a pdn-gw-list profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"description": "Name of the list of PDN-GWs",
"type": "string"
},
"pdnGwList": {
"description": "List of PDN-GWs",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 32,
"uniqueItems": true
}
},
"required": ["name", "pdnGwList"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/pdn-gw-list/{profileId}
Create or update a pdn-gw-list profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"description": "Name of the list of PDN-GWs",
"type": "string"
},
"pdnGwList": {
"description": "List of PDN-GWs",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 32,
"uniqueItems": true
}
},
"required": ["name", "pdnGwList"]
}
Example:
{
"name" : "pgwListEricsson",
"pdnGwList" : [pgw1.ericsson.com, pgw2.ericsson.com, pgw3.ericsson.com, pgw4.ericsson.com]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/pdn-gw-list/{profileId}
Delete a pdn-gw-list profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve all defined af-signalling-path profiles
get /profiles/af-signalling-paths
Retrieve all defined af-signalling-path profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a af-signalling-path profile
Create or update a af-signalling-path profile
Delete af-signalling-path profile
get /profiles/af-signalling-paths/{profileId}
Retrieve information about a af-signalling-path profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the service related with AF signalling path.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "AF signaling path status profile identifier. When the AF signaling service is associated to an APN (the one used in the subscriber IP-CAN session received over Gx interface), use the APN value. When the AF signaling service is independent of APN, use the special value default-service.",
"minLength": 1
},
"contentName": {
"type": "string",
"description": "Service name related AF signalling path status",
"minLength": 1
}
},
"required": ["profileId", "contentName"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/af-signalling-paths/{profileId}
Create or update a af-signalling-path profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the service related with AF signalling path.",
"additionalProperties": false,
"properties": {
"profileId": {
"type": "string",
"description": "AF signaling path status profile identifier. When the AF signaling service is associated to an APN (the one used in the subscriber IP-CAN session received over Gx interface), use the APN value. When the AF signaling service is independent of APN, use the special value default-service.",
"minLength": 1
},
"contentName": {
"type": "string",
"description": "Service name related AF signalling path status",
"minLength": 1
}
},
"required": ["profileId", "contentName"]
}
Example:
{
"profileId" : "ims",
"contentName" : "AfSignallingIms"
}
{
"profileId" : "default-service",
"contentName" : "AfSignallingService"
}HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/af-signalling-paths/{profileId}
Delete af-signalling-path profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve all defined multimedia-priority-services profiles
get /profiles/multimedia-priority-services
Retrieve all defined multimedia-priority-services profiles
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve information about a multimedia-priority-services profile
Create or update a multimedia-priority-services profile
Delete multimedia-priority-services profile
get /profiles/multimedia-priority-services/{profileId}
Retrieve information about a multimedia-priority-services profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description":"Represents the information related with a given Multimedia Priority Services profile",
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of the Multimedia Priority Services profile.",
"minLength":1
},
"mpsType":{
"type": "string",
"enum":["EpsBearer","ImsSignalling"],
"description":"Priority type of Multimedia Priority Services. EpsBearer priority applies to all traffic for the subscriber, ImsSignalling priority only applies to IMS signalling traffic bearers."
},
"priorityLevel":{
"type": "integer",
"minimum": 1,
"maximum": 15,
"description":"Priority level for Multimedia Priority Services."
}
},
"required":["profileId", "mpsType", "priorityLevel"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /profiles/multimedia-priority-services/{profileId}
Create or update a multimedia-priority-services profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description":"Represents the information related with a given Multimedia Priority Services profile",
"properties":{
"profileId":{
"type":"string",
"description": "Identifier of the Multimedia Priority Services profile.",
"minLength":1
},
"mpsType":{
"type": "string",
"enum":["EpsBearer","ImsSignalling"],
"description":"Priority type of Multimedia Priority Services. EpsBearer priority applies to all traffic for the subscriber, ImsSignalling priority only applies to IMS signalling traffic bearers."
},
"priorityLevel":{
"type": "integer",
"minimum": 1,
"maximum": 15,
"description":"Priority level for Multimedia Priority Services."
}
},
"required":["profileId", "mpsType", "priorityLevel"]
}
Example:
{
"profileId" : "mpsProfile",
"primaryOnline" : "EpsBearer",
"secondaryOnline" : 1
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /profiles/multimedia-priority-services/{profileId}
Delete multimedia-priority-services profile
Each request must contain the headers necessary for basic authentication
URI Parameters
- profileId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Rules
View and manage rule information. This is the set of rules in policies.
List the rules
get /rules
List the rules
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Retrieve all information about a rule
Create or update a rule
Delete a rule
get /rules/{ruleId}
Retrieve all information about a rule
Each request must contain the headers necessary for basic authentication
URI Parameters
- ruleId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Contains the definition of a rule.",
"additionalProperties": false,
"properties": {
"ruleName": {
"type": "string",
"description": "Identifier of the rule",
"minLength": 1
},
"condition": {
"type": "string",
"description": "Condition evaluated to permit or deny. A condition formula can be composed of one or several logical expressions that contain policy tags."
},
"outputAttributes":{
"type":"array",
"description": "List of attributes to be returned when the rule is fulfilled.",
"minItems":1,
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"result":{
"type":"string",
"description": "Rule result that causes the return of the attribute. If result is 'permit', the attribute is returned when the rule evaluation result is TRUE; if the result is 'deny', the attribute is returned when the rule evaluation is FALSE.",
"enum": ["permit", "deny"]
},
"attrName":{
"type":"string",
"description": "Name of the attribute to be returned.",
"enum":["access","adc-mute-notification","adc-redirect", "adc-rule-id", "charging","charging-system","content-filtering-id","dataplan","event-triggers", "flexible-output","max-qos","min-qos","notification","pcc-rule-id","presence-area","qos","rule-space","service","subs-charging", "pdn-gw-list", "spid"]
},
"attrValue":{
"type":"string",
"description": "Value of the attribute to be returned."
},
"conditionAttr":{
"type":"string",
"description": "If this parameter is set, the attribute values returned are just the ones whose conditionAttr field evaluates to TRUE."
}
},
"required":["result", "attrName", "attrValue"]
}
}
},
"required": ["ruleName"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /rules/{ruleId}
Create or update a rule
Each request must contain the headers necessary for basic authentication
URI Parameters
- ruleId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Contains the definition of a rule.",
"additionalProperties": false,
"properties": {
"ruleName": {
"type": "string",
"description": "Identifier of the rule",
"minLength": 1
},
"condition": {
"type": "string",
"description": "Condition evaluated to permit or deny. A condition formula can be composed of one or several logical expressions that contain policy tags."
},
"outputAttributes":{
"type":"array",
"description": "List of attributes to be returned when the rule is fulfilled.",
"minItems":1,
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"result":{
"type":"string",
"description": "Rule result that causes the return of the attribute. If result is 'permit', the attribute is returned when the rule evaluation result is TRUE; if the result is 'deny', the attribute is returned when the rule evaluation is FALSE.",
"enum": ["permit", "deny"]
},
"attrName":{
"type":"string",
"description": "Name of the attribute to be returned.",
"enum":["access","adc-mute-notification","adc-redirect", "adc-rule-id", "charging","charging-system","content-filtering-id","dataplan","event-triggers", "flexible-output","max-qos","min-qos","notification","pcc-rule-id","presence-area","qos","rule-space","service","subs-charging", "pdn-gw-list", "spid"]
},
"attrValue":{
"type":"string",
"description": "Value of the attribute to be returned."
},
"conditionAttr":{
"type":"string",
"description": "If this parameter is set, the attribute values returned are just the ones whose conditionAttr field evaluates to TRUE."
}
},
"required":["result", "attrName", "attrValue"]
}
}
},
"required": ["ruleName"]
}
Example:
{
"ruleName" : "rVolume_and_not_Time",
"condition" : "(AccessData.subscriber.accumulatedUsage.reportingGroup[\"1111\"].isLimitSurpassed[\"bidirVolume\"]) && (not(AccessData.subscriber.accumulatedUsage.reportingGroup[\"1111\"].isLimitSurpassed[\"time\"]))",
"outputAttributes" :
[
{
"attrName" : "subs-charging",
"attrValue" : "SubsChargingProfile[\"online_charging_profile\"]",
"result" : "Permit"
}
]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
The SAPC can return the following errors, owing to check the content of the attributes condition, attrValue and conditionAttr:
- Error verifying the statament: [condition]. [error description]
- Error compiling the statament: [condition].
The SAPC can return the following error, owing to check the content of attrName attribute:
- Invalid attrName, value: [attribute value]
Body
Type: application/json
Example:
{
"error": {
"code": "422",
"description": "Wrong semantic validation: Error verifying the statament: '(AccessData.subscriber.locationInfo.sgsnAddress=\"22.22.22.22\")'. Unexpected symbol: =",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /rules/{ruleId}
Delete a rule
Each request must contain the headers necessary for basic authentication
URI Parameters
- ruleId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Rule Spaces
View and manage rule space information
List the rule spaces
get /rule-spaces
List the rule spaces
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Get information about a rule space
Create or update a rule space
Delete a rule space
get /rule-spaces/{ruleSpaceId}
Get information about a rule space
Each request must contain the headers necessary for basic authentication
URI Parameters
- ruleSpaceId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description": "The list of contents included in a given rule space.",
"additionalProperties":false,
"properties":{
"ruleSpaceName":{
"type":"string",
"description": "Identifier of the rule space"
},
"contentNames":{
"type":"array",
"description": "The list of contents associated to the rule space.",
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a content associated to the rule space."
}
}
},
"required":["ruleSpaceName", "contentNames"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /rule-spaces/{ruleSpaceId}
Create or update a rule space
Each request must contain the headers necessary for basic authentication
URI Parameters
- ruleSpaceId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description": "The list of contents included in a given rule space.",
"additionalProperties":false,
"properties":{
"ruleSpaceName":{
"type":"string",
"description": "Identifier of the rule space"
},
"contentNames":{
"type":"array",
"description": "The list of contents associated to the rule space.",
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a content associated to the rule space."
}
}
},
"required":["ruleSpaceName", "contentNames"]
}
Example:
{
"ruleSpaceName" : "RS_SERVPACK",
"contentNames" : [ "SMS", "Chat", "Internet" ]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /rule-spaces/{ruleSpaceId}
Delete a rule space
Each request must contain the headers necessary for basic authentication
URI Parameters
- ruleSpaceId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Shared Dataplans
View and manage shared dataplan information. Plan shared for a set of subscribers, for example a family or an organization.
List the shared dataplans
get /shared-dataplans
List the shared dataplans
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
View and manage a particular shared dataplan
When a Shared Dataplan is removed (for example, cleanup of unused Shared Dataplans), the usage accumulators are automatically removed as well. Also, usage-accumulators for Shared Dataplans can be manually removed. The removal of such resources should be carefully done, as it can affect Usage Reporting function.
Get information about a shared dataplan
Create or update a shared dataplan
Delete a shared dataplan
get /shared-dataplans/{sharedDataplanId}
Get information about a shared dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- sharedDataplanId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the identity for a shared dataplan.",
"additionalProperties": false,
"properties": {
"sharedDataplanId": {
"type": "string",
"description": "Shared dataplan to which the subscribers belong to.",
"minLength": 1
},
"dataplans":{
"type":"array",
"description": "Dataplans associated to a shared dataplan.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"dataplanName":{
"type":"string",
"description": "Identifier of dataplan"
},
"startDate":{
"type":"string",
"description": "Start date and time when the dataplan applies for the shared dataplan.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"stopDate":{
"type":"string",
"description": "End date and time when the dataplan applies for the shared dataplan.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"priority":{"type":"integer", "minimum": 0, "maximum": 2147483647}
},
"required":["dataplanName"]
}
}
},
"required": ["sharedDataplanId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /shared-dataplans/{sharedDataplanId}
Create or update a shared dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- sharedDataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "Represents the identity for a shared dataplan.",
"additionalProperties": false,
"properties": {
"sharedDataplanId": {
"type": "string",
"description": "Shared dataplan to which the subscribers belong to.",
"minLength": 1
},
"dataplans":{
"type":"array",
"description": "Dataplans associated to a shared dataplan.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"dataplanName":{
"type":"string",
"description": "Identifier of dataplan"
},
"startDate":{
"type":"string",
"description": "Start date and time when the dataplan applies for the shared dataplan.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"stopDate":{
"type":"string",
"description": "End date and time when the dataplan applies for the shared dataplan.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"priority":{"type":"integer", "minimum": 0, "maximum": 2147483647}
},
"required":["dataplanName"]
}
}
},
"required": ["sharedDataplanId"]
}
Example:
{
"sharedDataplanId" : "FamilySharedPlan",
"dataplans" :
[
{
"dataplanName" : "GroupSharedPlan"
}
]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /shared-dataplans/{sharedDataplanId}
Delete a shared dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- sharedDataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Entries of accumulations are created by the SAPC (when Usage Reporting is received through traffic and accumulated consumed usage is stored in internal repository) or can be ordered from a provisioning system by REST interface. It is the operator responsibility to assure that write provisioning operations (PUT or DELETE) ARE NOT done at the same time Usage Reporting traffic is received, otherwise it can lead to erroneous (concurrent collision) usage values.
Additional information
Attributes described inside the JSON schema like volume usage accumulators are expressed in bytes (integer), and time ones in seconds (integer).
Get information about a shared dataplan usage accumulation
Create or update a shared dataplan usage accumulation
Delete a shared dataplan usage accumulation
get /shared-dataplans/{sharedDataplanId}/usage-accumulators
Get information about a shared dataplan usage accumulation
Each request must contain the headers necessary for basic authentication
URI Parameters
- sharedDataplanId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"usageAccumulators":{
"type":"array",
"minItems": 1,
"uniqueItems": true,
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string",
"description": "Administrative identifier."
},
"restartInfo":{
"type":"string",
"description": "Copy of the start date applicable for the subscriber group usage accumulator. If startDate is modified, the usage accumulator is reset."
},
"subscriptionDate":{
"type":"string",
"description": "Start date and time when the reporting group is controlled. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"subscriberGroupName":{
"type":"string",
"description": "It contains the dataplan name which the usage limit has been taken from."
},
"selected":{
"type":"string",
"description": "In the case of having separate accumulators depending on the subscriber group the subscriber belongs to, it indicates if the accumulated value is chosen for accumulation or not (depending on the active subscriber group). In case of multiple IP sessions, its value corresponds to the last IP sessions that received Usage Reporting.",
"enum":["yes","no"]
},
"useRolloverFirst":{
"type":"boolean",
"description": "Stores the value configured within usageLimits when the accumulator is reset.",
"default": true
},
"validityTime":{
"type":"integer",
"description": "Internally used to handle time events making use of Time Trigger functionality.",
"minimum":0
},
"absoluteAccumulated":{
"type":"object",
"description": "Block containing the accumulated consumed usages for a specific period.",
"additionalProperties":false,
"properties":{
"reportingLevel":{
"type":"string",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"instanceInUse": {
"type": "string",
"description": "The instanceID of the instance being used for the associated subscriber group.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
},
"overlapInstanceUsed":{
"type": "array",
"description": "The instanceID list of the instances have been used when there are overlapping instances.",
"additionalItems":false,
"items":{
"type":"string",
"description": "The instanceID of the overlapping instance that has already been used.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
}
},
"aggregatedLimits":{
"type":"object",
"description": "Block containing dynamic aggregated limits.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit."
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"time":{
"type":"integer",
"description": "Time limit.",
"minimun": 0
}
}
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the absolute accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the complementary accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
}
}
}
}
}
},
"sessionAccumulated":{
"type":"array",
"description": "Block containing the accumulated consumed usages for an IP session.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"session":{
"type":"string"
},
"reportingLevel":{
"type":"string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description":"Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
}
}
}
}
}
},
"version":{
"type":"string",
"description": "2.3. Internally used to know about the json format syntax of accumulated attribute, as it can be expanded in each release of the SAPC."
}
},
"required":["usageAccumulators"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /shared-dataplans/{sharedDataplanId}/usage-accumulators
Create or update a shared dataplan usage accumulation
Each request must contain the headers necessary for basic authentication
URI Parameters
- sharedDataplanId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"usageAccumulators":{
"type":"array",
"minItems": 1,
"uniqueItems": true,
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string",
"description": "Administrative identifier."
},
"restartInfo":{
"type":"string",
"description": "Copy of the start date applicable for the subscriber group usage accumulator. If startDate is modified, the usage accumulator is reset."
},
"subscriptionDate":{
"type":"string",
"description": "Start date and time when the reporting group is controlled. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"subscriberGroupName":{
"type":"string",
"description": "It contains the dataplan name which the usage limit has been taken from."
},
"selected":{
"type":"string",
"description": "In the case of having separate accumulators depending on the subscriber group the subscriber belongs to, it indicates if the accumulated value is chosen for accumulation or not (depending on the active subscriber group). In case of multiple IP sessions, its value corresponds to the last IP sessions that received Usage Reporting.",
"enum":["yes","no"]
},
"useRolloverFirst":{
"type":"boolean",
"description": "Stores the value configured within usageLimits when the accumulator is reset.",
"default": true
},
"validityTime":{
"type":"integer",
"description": "Internally used to handle time events making use of Time Trigger functionality.",
"minimum":0
},
"absoluteAccumulated":{
"type":"object",
"description": "Block containing the accumulated consumed usages for a specific period.",
"additionalProperties":false,
"properties":{
"reportingLevel":{
"type":"string",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"instanceInUse": {
"type": "string",
"description": "The instanceID of the instance being used for the associated subscriber group.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
},
"overlapInstanceUsed":{
"type": "array",
"description": "The instanceID list of the instances have been used when there are overlapping instances.",
"additionalItems":false,
"items":{
"type":"string",
"description": "The instanceID of the overlapping instance that has already been used.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
}
},
"aggregatedLimits":{
"type":"object",
"description": "Block containing dynamic aggregated limits.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit."
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"time":{
"type":"integer",
"description": "Time limit.",
"minimun": 0
}
}
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the absolute accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the complementary accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
}
}
}
}
}
},
"sessionAccumulated":{
"type":"array",
"description": "Block containing the accumulated consumed usages for an IP session.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"session":{
"type":"string"
},
"reportingLevel":{
"type":"string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description":"Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
}
}
}
}
}
},
"version":{
"type":"string",
"description": "2.3. Internally used to know about the json format syntax of accumulated attribute, as it can be expanded in each release of the SAPC."
}
},
"required":["usageAccumulators"]
}
Example:
{
"usageAccumulators" :
[
{
"absoluteAccumulated" :
{
"bidirVolume" : 0,
"expiryDate" :
{
"volume" : "16-07-2012T00:00:51"
},
"previousExpiryDate" :
{
"time" : "06-06-2012",
"volume" : "15-07-2012T00:00:17"
},
"resetPeriod" :
{
"volume" : "daily 00:00"
}
},
"name" : "50",
"selected" : "yes",
"subscriberGroupName" : "",
"subscriptionDate" : "06-06-2012",
"validityTime" : 11120
},
{
"absoluteAccumulated" :
{
"bidirVolume" : 196376,
"expiryDate" :
{
"volume" : "07-06-2012T00:00:15"
},
"previousExpiryDate" :
{
"time" : "06-06-2012T13:48:16",
"volume" : "06-06-2012T13:48:16"
},
"resetPeriod" :
{
"volume" : "daily 00:00"
}
},
"name" : "1",
"selected" : "no",
"subscriberGroupName" : "M_42M_150M_384K_N_1D",
"subscriptionDate" : "06-06-2012T13:48:16",
"validityTime" : 37262
}
],
"version" : "2.3"
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /shared-dataplans/{sharedDataplanId}/usage-accumulators
Delete a shared dataplan usage accumulation
Each request must contain the headers necessary for basic authentication
URI Parameters
- sharedDataplanId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Subscribers
View and manage subscriber information
List the subscribers.
When the retrieval of subscribers takes more than 3 minutes the SAPC dumps the collection of subscribers to a file. To retrieve the generated file, follow the instructions in Provisioning Tools Document.
List the subscribers.
get /subscribers/
List the subscribers.
Each request must contain the headers necessary for basic authentication
HTTP status code 200
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the identifiers for a given resource collection.",
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"description": "The list of identifiers associated to the resource collection.",
"uniqueItems":true,
"items":{
"type": "string"
}
}
},
"required": ["ids"]
}
HTTP status code 202
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"code":{
"type": "string",
"description": "Result code of the request (202)."
},
"description":{
"type": "string",
"description": "Massive data requested, output is being dumped to file."
},
"fileName":{
"type": "string",
"description": "Destination filename in PolicyControlRestGetCollections FileGroup MO."
}
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Get information about a subscriber
Additional information
It is mandatory to define at least an absoluteLimits or sessionLimits for a reporting group.
Attributes described inside the JSON schema like volume usage limits are expressed in kilobytes (integer), and time ones in minutes (integer).
Get information about a subscriber
Create or update a subscriber
Delete a subscriber.
When the Subscribers are stored in the SAPC internal repository, if the Subscribers are removed (for example, cleanup of unused Subscribers), the usage accumulators and the locators related to the Subscribers are automatically removed as well.
When the Subscribers are stored in an external repository, and the corresponding entries are removed, but the usage accumulator is in the SAPC internal repository, it is the operator responsibility to remove it as well in the internal repository.
The locators associated with a subscriber are always stored in the internal repository, so it is the operator responsibility to remove them.Therefore, usage-accumulators and locators resources can be manually removed. This removal should be carefully done, as it can affect Usage Reporting and Policy Control function.
get /subscribers/{subscriberId}
Get information about a subscriber
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"subscriberId":{
"type": "string",
"description": "Administrative identifier of a subscriber."
},
"sharedDataplan":{
"type": "string",
"description": "Shared dataplan associated with a subscriber."
},
"staticQualification":{
"type": "object",
"additionalProperties":false,
"properties":{
"maxBearerQosProfileId":{
"type": "string",
"description": "Maximum static bearer QoS profile for the subscriber."
},
"minBearerQosProfileId":{
"type": "string",
"description": "Minimum static bearer QoS profile for the subscriber."
},
"subscriberChargingProfileId":{
"type": "string",
"description": "Charging profile for the subscriber."
},
"contentFiltering":{
"type": "string",
"description": "Content Filtering profile to be applied to a subscriber."
},
"customerId":{
"type": "string",
"description": "Identifier of customer."
},
"onlineChargingSystemProfileId":{
"type": "string",
"description": "Identifier of the Online Charging System for the subscriber."
},
"presenceReportingAreaNames": {
"type": "array",
"description": "List of Presence Reporting Area Names for the subscriber.",
"items":{ "type": "string" },
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"pdnGwListName":{
"type": "string",
"description": "PDN-GW list name associated to the subscriber"
},
"spid":{
"type": "integer",
"minimum": 1,
"maximum": 256,
"description": "SPID for the subscriber."
},
"mpsProfileId": {
"type": "string",
"description": "Multimedia Priority Services profile for the subscriber."
}
}
},
"smsDestinations":{
"type": "array",
"description": "List of SMS notification destinations for each subscriber.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"operatorSpecificInfos":{
"type": "array",
"additionalItems":false,
"items":{
"type": "object",
"description": "Provides an extensible mechanism (space) for the operator to define extra subscriber-related data to be used in policy conditions.",
"additionalProperties": false,
"properties":{
"attributeName":{
"type": "string",
"description": "Identifier of the additional information."
},
"attributeValue":{
"type": "string",
"description": "Value for the additional information."
}
},
"required": ["attributeName","attributeValue"]
}
},
"trafficIds":{
"type":"array",
"description": "Traffic identifiers for subscribers.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"subscribedContents":{
"type":"array",
"description": "Available contents associated with subscribers.",
"additionalItems":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"contentName":{
"type": "string",
"description": "Identifier of the available content associated with the subscriber."
},
"redirect":{
"type":"boolean"
}
},
"required":["contentName"]
}
},
"deniedContents":{
"type": "array",
"description": "Denied contents associated with subscribers.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"dataplans":{
"type":"array",
"description": "Dataplans associated with a subscriber.",
"additionalItems":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"dataplanName":{
"type": "string",
"description": "Subscriber dataplan to which the subscriber belongs to."
},
"startDate":{
"type":"string",
"description": "Start date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"stopDate":{
"type":"string",
"description": "End date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"priority":{
"type": "integer",
"description": "Priority level assigned to the dataplan. Default value (maximum int) is the lowest priority.",
"minimum":0,
"maximum":2147483647
},
"durations":{
"type":"array",
"description":"The durations of multiple instances of the prepaid dataplan.",
"additionalItems":false,
"minItems":1,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"duration":{
"type":"string",
"description":"The duration of each instance, including start time and stop time, if the time is empty then it means there is no time limits for this instance.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?$"
}
}
}
}
},
"required":["dataplanName"]
}
},
"usageLimits":{
"type":"array",
"description": "Usage limits associated with a subscriber. Usage limits per reporting group or independent of reporting group (that is, total traffic of the IP-CAN session) for a specified time period or the IP session lifetime.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type": "string"
},
"description":{
"type": "string"
},
"reportingLevel":{
"type": "string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"subscriptionType":{
"type": "string",
"description": "When not specified, postpaid is assumed. Postpaid subscriptions are associated with a periodic fee that is automatically restarted. Prepaid subscriptions are associated with prepaid accounts or buying a voucher.",
"enum":["prepaid","postpaid"]
},
"subscriptionDate":{
"type": "string",
"description": "Start date and time when the reporting group is controlled for the subscriber. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"minQuotaTime":{
"type": "integer",
"description": "Minimum time quota assigned to the reporting group. It prevents from too often usage accumulators updates and associated evaluation process.",
"minimum":0
},
"minQuotaVolume":{
"type": "integer",
"description": "Minimum volume quota assigned to the reporting group. It prevents from receiving usage reporting too often and avoids signalling storms when a subscriber is reaching the end of the usage limit.",
"minimum":0
},
"reportingIntervalTime":{
"type": "integer",
"description": "Maximum time validity limit of the granted quota. Used to avoid usage accumulators are not updated for long end-user consuming periods. In case of volume usage limits, the SAPC forces usage reporting whenever this interval time is reached. In case of time usage limits, the SAPC internally calculates the usage whenever this interval time is reached.",
"minimum":0
},
"sliceTime":{
"type": "integer",
"description": "Amount of time usage. Only applicable for time usage limits.",
"minimum":0
},
"sliceVolume":{
"type":"integer",
"description": "Amount of volume usage. Only applicable for volume usage limits.",
"minimum":0
},
"useRolloverFirst":{
"type":"boolean",
"description": "If true (default value), the remaining quota transferred from the previous billing period is consumed before the quota of the current period; if false, the quota of the current period is consumed first. The value applied is the same for absolute and conditional accumulators.",
"default": true
},
"absoluteLimits":{
"type":"object",
"description": "Block to specify absolute (that is, for a specific period) usage limits.",
"additionalProperties":false,
"properties":{
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type": "integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"name":{"type": "string"},
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable. It does not apply to complementary limits.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
}
}
}
}
}
},
"sessionLimits":{
"type":"object",
"description": "Block to specify usage limits during IP session lifetime.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{"type":"string"},
"ulVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
}
}
}
}
}
}
}
}
},
"eventTriggers":{
"type":"array",
"items":{
"type":"integer"
},
"uniqueItems":true,
"minItems": 1,
"description": "Event triggers associated with a subscriber. For the detailed list of values, see Event-Trigger AVP in the Gx Interface Description document. Do not set NO_EVENT_TRIGGER (14) value."
}
},
"required":["subscriberId"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /subscribers/{subscriberId}
Create or update a subscriber
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"subscriberId":{
"type": "string",
"description": "Administrative identifier of a subscriber."
},
"sharedDataplan":{
"type": "string",
"description": "Shared dataplan associated with a subscriber."
},
"staticQualification":{
"type": "object",
"additionalProperties":false,
"properties":{
"maxBearerQosProfileId":{
"type": "string",
"description": "Maximum static bearer QoS profile for the subscriber."
},
"minBearerQosProfileId":{
"type": "string",
"description": "Minimum static bearer QoS profile for the subscriber."
},
"subscriberChargingProfileId":{
"type": "string",
"description": "Charging profile for the subscriber."
},
"contentFiltering":{
"type": "string",
"description": "Content Filtering profile to be applied to a subscriber."
},
"customerId":{
"type": "string",
"description": "Identifier of customer."
},
"onlineChargingSystemProfileId":{
"type": "string",
"description": "Identifier of the Online Charging System for the subscriber."
},
"presenceReportingAreaNames": {
"type": "array",
"description": "List of Presence Reporting Area Names for the subscriber.",
"items":{ "type": "string" },
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"pdnGwListName":{
"type": "string",
"description": "PDN-GW list name associated to the subscriber"
},
"spid":{
"type": "integer",
"minimum": 1,
"maximum": 256,
"description": "SPID for the subscriber."
},
"mpsProfileId": {
"type": "string",
"description": "Multimedia Priority Services profile for the subscriber."
}
}
},
"smsDestinations":{
"type": "array",
"description": "List of SMS notification destinations for each subscriber.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"operatorSpecificInfos":{
"type": "array",
"additionalItems":false,
"items":{
"type": "object",
"description": "Provides an extensible mechanism (space) for the operator to define extra subscriber-related data to be used in policy conditions.",
"additionalProperties": false,
"properties":{
"attributeName":{
"type": "string",
"description": "Identifier of the additional information."
},
"attributeValue":{
"type": "string",
"description": "Value for the additional information."
}
},
"required": ["attributeName","attributeValue"]
}
},
"trafficIds":{
"type":"array",
"description": "Traffic identifiers for subscribers.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"subscribedContents":{
"type":"array",
"description": "Available contents associated with subscribers.",
"additionalItems":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"contentName":{
"type": "string",
"description": "Identifier of the available content associated with the subscriber."
},
"redirect":{
"type":"boolean"
}
},
"required":["contentName"]
}
},
"deniedContents":{
"type": "array",
"description": "Denied contents associated with subscribers.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"dataplans":{
"type":"array",
"description": "Dataplans associated with a subscriber.",
"additionalItems":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"dataplanName":{
"type": "string",
"description": "Subscriber dataplan to which the subscriber belongs to."
},
"startDate":{
"type":"string",
"description": "Start date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"stopDate":{
"type":"string",
"description": "End date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"priority":{
"type": "integer",
"description": "Priority level assigned to the dataplan. Default value (maximum int) is the lowest priority.",
"minimum":0,
"maximum":2147483647
},
"durations":{
"type":"array",
"description":"The durations of multiple instances of the prepaid dataplan.",
"additionalItems":false,
"minItems":1,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"duration":{
"type":"string",
"description":"The duration of each instance, including start time and stop time, if the time is empty then it means there is no time limits for this instance.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?$"
}
}
}
}
},
"required":["dataplanName"]
}
},
"usageLimits":{
"type":"array",
"description": "Usage limits associated with a subscriber. Usage limits per reporting group or independent of reporting group (that is, total traffic of the IP-CAN session) for a specified time period or the IP session lifetime.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type": "string"
},
"description":{
"type": "string"
},
"reportingLevel":{
"type": "string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"subscriptionType":{
"type": "string",
"description": "When not specified, postpaid is assumed. Postpaid subscriptions are associated with a periodic fee that is automatically restarted. Prepaid subscriptions are associated with prepaid accounts or buying a voucher.",
"enum":["prepaid","postpaid"]
},
"subscriptionDate":{
"type": "string",
"description": "Start date and time when the reporting group is controlled for the subscriber. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"minQuotaTime":{
"type": "integer",
"description": "Minimum time quota assigned to the reporting group. It prevents from too often usage accumulators updates and associated evaluation process.",
"minimum":0
},
"minQuotaVolume":{
"type": "integer",
"description": "Minimum volume quota assigned to the reporting group. It prevents from receiving usage reporting too often and avoids signalling storms when a subscriber is reaching the end of the usage limit.",
"minimum":0
},
"reportingIntervalTime":{
"type": "integer",
"description": "Maximum time validity limit of the granted quota. Used to avoid usage accumulators are not updated for long end-user consuming periods. In case of volume usage limits, the SAPC forces usage reporting whenever this interval time is reached. In case of time usage limits, the SAPC internally calculates the usage whenever this interval time is reached.",
"minimum":0
},
"sliceTime":{
"type": "integer",
"description": "Amount of time usage. Only applicable for time usage limits.",
"minimum":0
},
"sliceVolume":{
"type":"integer",
"description": "Amount of volume usage. Only applicable for volume usage limits.",
"minimum":0
},
"useRolloverFirst":{
"type":"boolean",
"description": "If true (default value), the remaining quota transferred from the previous billing period is consumed before the quota of the current period; if false, the quota of the current period is consumed first. The value applied is the same for absolute and conditional accumulators.",
"default": true
},
"absoluteLimits":{
"type":"object",
"description": "Block to specify absolute (that is, for a specific period) usage limits.",
"additionalProperties":false,
"properties":{
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type": "integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"name":{"type": "string"},
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
},
"time":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|^(daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2})))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable. It does not apply to complementary limits.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
}
}
}
}
}
},
"sessionLimits":{
"type":"object",
"description": "Block to specify usage limits during IP session lifetime.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{"type":"string"},
"ulVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
}
}
}
}
}
}
}
}
},
"eventTriggers":{
"type":"array",
"items":{
"type":"integer"
},
"uniqueItems":true,
"minItems": 1,
"description": "Event triggers associated with a subscriber. For the detailed list of values, see Event-Trigger AVP in the Gx Interface Description document. Do not set NO_EVENT_TRIGGER (14) value."
}
},
"required":["subscriberId"]
}
Example:
{
"subscriberId" : "34600000010",
"dataplans" :
[
{
"dataplanName" : "Silver"
}
],
"subscribedContents" :
[
{
"contentName" : "SMS",
"redirect" : false
}
],
"usageLimits" :
[
{
"absoluteLimits" :
{
"bidirVolume" : 250,
"resetPeriod" :
{
"time" : "5 days",
"volume" : "monthly"
},
"time" : 150
},
"name" : "1111"
}
]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
The SAPC can return the following errors, owing to check the content of usageLimits attribute:
- Usage Limit [string] was already defined
- Invalid date in [string] field
- subscriptionDate + resetPeriod must be a date in the future in [string] field
- Integer or percentage value expected for [string] field
- Integer value expected at last position of the array for [string] field
- Attribute usageLimits has not defined limits
- Attribute aggregable is configured for prepaid reporting group
- Absolute values are configured in intermediate limits for reporting groups with aggregable attribute set to true
Also, the following attributes are forbidden for the emergency subscriber:
- dataplans
- sharedDataplan
- customerId
- contentFiltering
- onlineChargingSystemProfileId
- presenseReportingAreaNames
- smsDestinations
- trafficIds
- usageLimits
- redirect contents
- spid
- pdnGwListName
The SAPC can return the following errors, owing to check the content of group subscription:
- startDate should be before stopDate
- durations is only applicable to prepaid subscription type
- durations should not be defined together with startDate and/or stopDate
- The item of durations is a set of start time and stop time, start time shuold be before stop time
Body
Type: application/json
Example:
{
"error":
{
"code":"422",
"description":"Wrong semantic validation: Invalid usageLimits: Usage Limit 'Home' was already defined",
"associatedRequest": "HTTP method and URI used in the request"
}
}
{
"error":
{
"code":"422",
"description":"Using invalid attributes for emergency subscriber: cannot provision dataplans!",
"associatedRequest": "HTTP method and URI used in the request"
}
}
{
"error":
{
"code":"422",
"description":"Wrong semantic validation: Invalid dataplans: durations shuold not be defined together with startDate and/or stopDate",
"associatedRequest": "HTTP method and URI used in the request"
}
}
{
"error":
{
"code":"422",
"description":"Wrong semantic validation: Invalid durations: start time should be before stop time in duration",
"associatedRequest": "HTTP method and URI used in the request"
}
}
{
"error":
{
"code":"422",
"description":"Wrong semantic validation: Invalid durations: durations is only applicable to prepaid subscription type",
"associatedRequest": "HTTP method and URI used in the request"
}
}
{
"error":
{
"code":"422",
"description":"Wrong semantic validation: Invalid dates: startDate should be before stopDate",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}
Delete a subscriber.
When the Subscribers are stored in the SAPC internal repository, if the Subscribers are removed (for example, cleanup of unused Subscribers), the usage accumulators and the locators related to the Subscribers are automatically removed as well.
When the Subscribers are stored in an external repository, and the corresponding entries are removed, but the usage accumulator is in the SAPC internal repository, it is the operator responsibility to remove it as well in the internal repository.
The locators associated with a subscriber are always stored in the internal repository, so it is the operator responsibility to remove them.Therefore, usage-accumulators and locators resources can be manually removed. This removal should be carefully done, as it can affect Usage Reporting and Policy Control function.
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
List of policy locators provisioned for a concrete subcriber.
- Resource is the element (ip-can-session, content, ...) for which the policy evaluation is requested.
- Context refers to the domain or functionality (access, qos, charging) for which the policy applies.
A policy is assigned to a resource when the policy applies to all dataplans and subscribers for the resource.
List the subscribers policy locators
get /subscribers/{subscriberId}/locators
List the subscribers policy locators
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list with all the locators for a given resource collection.",
"additionalProperties": false,
"properties": {
"locators": {
"type": "array",
"description": "The list of locators associated to the locator resource collection.",
"uniqueItems":true,
"items":{
"type": "object",
"additionalProperties": false,
"properties": {
"resourceName":{
"type":"string",
"description": "Resource name of the locator"
},
"contextName":{
"type":"string",
"description": "Context name of the locator"
},
"policies":{
"type":"array",
"description": "The list of identifiers of the policies associated with the policy locator.",
"uniqueItems":true,
"items":{
"type": "string"
}
},
"required": ["resourceName", "contextName", "policies"]
}
}
}
},
"required": ["locators"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Policy locators are used to assign policies (to be selected later when policy evaluation is requested).
- Subscriber is an actor who asks for policy evaluation or for whom the policy evaluation is requested.
- Resource is the element (IP-CAN-session, content, ...) for which the policy evaluation is requested.
- Context refers to the domain for which the policy applies.
A policy is assigned to a resource and subscriber when the policy applies to the subscriber for the resource.
Get information about a subscriber policy locator
Create or update a subscriber locator
Delete a subscriber policy locator
get /subscribers/{subscriberId}/locators/resources/{resourceId}/contexts/{contextId}
Get information about a subscriber policy locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
- resourceId: required (string)
- contextId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list of available global policies",
"additionalProperties": false,
"properties": {
"policies":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a global policy locator"
}
}
},
"required": ["policies"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /subscribers/{subscriberId}/locators/resources/{resourceId}/contexts/{contextId}
Create or update a subscriber locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
- resourceId: required (string)
- contextId: required (string)
Body
Type: application/json
Schema:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"description": "The list of available global policies",
"additionalProperties": false,
"properties": {
"policies":{
"type":"array",
"minItems":1,
"uniqueItems":true,
"items":{
"type":"string",
"description": "Identifier of a global policy locator"
}
}
},
"required": ["policies"]
}
Example:
{
"policies" : [ "pVolume_and_not_Time" ]
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}/locators/resources/{resourceId}/contexts/{contextId}
Delete a subscriber policy locator
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
- resourceId: required (string)
- contextId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
The SAPC creates resources of the usage-accumulators (when Usage Reporting is received through traffic and accumulated consumed usage is stored in the internal repository) or can be created from a provisioning system by the SAPC REST interface. It is the operator responsibility to assure that write provisioning operations (PUT or DELETE) ARE NOT done at the same time Usage Reporting traffic is received, otherwise it can lead to erroneous (concurrent collision) usage values.
There are attributes internally used by the SAPC, that MUST NOT be modified by provisioning operations (otherwise, undesired behavior can occur in Fair Usage):
- previousExpiryDate
- restartInfo
- sessionAccumulated
- validityTime
- instanceInUse
- overlapInstanceUsed
- version
Additional information
Attributes described inside the JSON schema like volume usage accumulators are expressed in bytes (integer), and time ones in seconds (integer).
Get information about a subscriber usage accumulation
Create or update a subscriber usage accumulation
Delete a subscriber usage accumulation
get /subscribers/{subscriberId}/usage-accumulators
Get information about a subscriber usage accumulation
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 200
Success
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"usageAccumulators":{
"type":"array",
"minItems": 1,
"uniqueItems": true,
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string",
"description": "Administrative identifier."
},
"restartInfo":{
"type":"string",
"description": "Copy of the start date applicable for the subscriber group usage accumulator. If startDate is modified, the usage accumulator is reset."
},
"subscriptionDate":{
"type":"string",
"description": "Start date and time when the reporting group is controlled. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"subscriberGroupName":{
"type":"string",
"description": "It contains the dataplan name which the usage limit has been taken from."
},
"selected":{
"type":"string",
"description": "In the case of having separate accumulators depending on the subscriber group the subscriber belongs to, it indicates if the accumulated value is chosen for accumulation or not (depending on the active subscriber group). In case of multiple IP sessions, its value corresponds to the last IP sessions that received Usage Reporting.",
"enum":["yes","no"]
},
"useRolloverFirst":{
"type":"boolean",
"description": "Stores the value configured within usageLimits when the accumulator is reset.",
"default": true
},
"validityTime":{
"type":"integer",
"description": "Internally used to handle time events making use of Time Trigger functionality.",
"minimum":0
},
"absoluteAccumulated":{
"type":"object",
"description": "Block containing the accumulated consumed usages for a specific period.",
"additionalProperties":false,
"properties":{
"reportingLevel":{
"type":"string",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"instanceInUse": {
"type": "string",
"description": "The instanceID of the instance being used for the associated subscriber group.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
},
"overlapInstanceUsed":{
"type": "array",
"description": "The instanceID list of the instances have been used when there are overlapping instances.",
"additionalItems":false,
"items":{
"type":"string",
"description": "The instanceID of the overlapping instance that has already been used.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
}
},
"aggregatedLimits":{
"type":"object",
"description": "Block containing dynamic aggregated limits.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit."
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"time":{
"type":"integer",
"description": "Time limit.",
"minimun": 0
}
}
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the absolute accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the complementary accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
}
}
}
}
}
},
"sessionAccumulated":{
"type":"array",
"description": "Block containing the accumulated consumed usages for an IP session.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"session":{
"type":"string"
},
"reportingLevel":{
"type":"string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description":"Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
}
}
}
}
}
},
"version":{
"type":"string",
"description": "2.3. Internally used to know about the json format syntax of accumulated attribute, as it can be expanded in each release of the SAPC."
}
},
"required":["usageAccumulators"]
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
put /subscribers/{subscriberId}/usage-accumulators
Create or update a subscriber usage accumulation
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"usageAccumulators":{
"type":"array",
"minItems": 1,
"uniqueItems": true,
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string",
"description": "Administrative identifier."
},
"restartInfo":{
"type":"string",
"description": "Copy of the start date applicable for the subscriber group usage accumulator. If startDate is modified, the usage accumulator is reset."
},
"subscriptionDate":{
"type":"string",
"description": "Start date and time when the reporting group is controlled. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"subscriberGroupName":{
"type":"string",
"description": "It contains the dataplan name which the usage limit has been taken from."
},
"selected":{
"type":"string",
"description": "In the case of having separate accumulators depending on the subscriber group the subscriber belongs to, it indicates if the accumulated value is chosen for accumulation or not (depending on the active subscriber group). In case of multiple IP sessions, its value corresponds to the last IP sessions that received Usage Reporting.",
"enum":["yes","no"]
},
"useRolloverFirst":{
"type":"boolean",
"description": "Stores the value configured within usageLimits when the accumulator is reset.",
"default": true
},
"validityTime":{
"type":"integer",
"description": "Internally used to handle time events making use of Time Trigger functionality.",
"minimum":0
},
"absoluteAccumulated":{
"type":"object",
"description": "Block containing the accumulated consumed usages for a specific period.",
"additionalProperties":false,
"properties":{
"reportingLevel":{
"type":"string",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"instanceInUse": {
"type": "string",
"description": "The instanceID of the instance being used for the associated subscriber group.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
},
"overlapInstanceUsed":{
"type": "array",
"description": "The instanceID list of the instances have been used when there are overlapping instances.",
"additionalItems":false,
"items":{
"type":"string",
"description": "The instanceID of the overlapping instance that has already been used.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2}))?/\\d?$"
}
},
"aggregatedLimits":{
"type":"object",
"description": "Block containing dynamic aggregated limits.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit."
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit."
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer"}
]
}
}
]
},
"time":{
"type":"integer",
"description": "Time limit.",
"minimun": 0
}
}
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the absolute accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"rollover":{
"type":"object",
"description": "Block containing the rollover quota from the previous period and the rollover accumulated from the current period.",
"additionalProperties":false,
"properties":{
"rolloverFromPreviousPeriod":{
"type":"object",
"description": "Rollover quota transferred from previous period. It is set when the reset time of the previous period is reached and it doesn't change during the current billing period.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
},
"rolloverAccumulated":{
"type":"object",
"description": "Current rollover accumulated. The initial value of this counter is 0 at the beginning of the period and it is increased when volume/time is consumed.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
},
"expiryDate":{
"type":"object",
"description": "Date and time when the complementary accumulated consumed usages are reset for postpaid subscriptions, or valid for prepaid ones.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"previousExpiryDate":{
"type":"object",
"description": "At creation time of the accumulatedUsage entry, subscriptionDate value (or startDate or system date) is copied in this attribute. It is updated with the expiry date from the previous period.",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"time":{
"type":"string",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
}
}
},
"resetPeriod":{
"type":"object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{"type":"string"},
"time":{"type":"string"}
}
}
}
}
}
}
},
"sessionAccumulated":{
"type":"array",
"description": "Block containing the accumulated consumed usages for an IP session.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"session":{
"type":"string"
},
"reportingLevel":{
"type":"string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description":"Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
},
"counters":{
"type":"array",
"description": "Block containing the complementary accumulated consumed usages.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type":"string"
},
"ulVolume":{
"type":"integer",
"description": "Uplink volume accumulated.",
"minimum": 0
},
"dlVolume":{
"type":"integer",
"description": "Downlink volume accumulated.",
"minimum": 0
},
"bidirVolume":{
"type":"integer",
"description": "Bidirectional volume accumulated.",
"minimum": 0
},
"time":{
"type":"integer",
"description": "Time accumulated",
"minimum": 0
}
}
}
}
}
}
}
}
}
},
"version":{
"type":"string",
"description": "2.3. Internally used to know about the json format syntax of accumulated attribute, as it can be expanded in each release of the SAPC."
}
},
"required":["usageAccumulators"]
}
Example:
{
"usageAccumulators" :
[
{
"selected" : "yes",
"sessionAccumulated" : [],
"subscriberGroupName" : "group_QBAU_GGSN",
"subscriptionDate" : "10-04-2014T11:57:06",
"validityTime" : 0
},
{
"absoluteAccumulated" :
{
"bidirVolume" : 0,
"aggregatedLimits" :
{
"bidirVolume" : 196376
},
"expiryDate" :
{
"volume" : "16-07-2012T00:00:51"
},
"previousExpiryDate" :
{
"volume" : "15-07-2012T00:00:17"
},
"resetPeriod" :
{
"volume" : "daily 00:00"
}
},
"name" : "50",
"selected" : "yes",
"subscriberGroupName" : "_Aggregated_",
"subscriptionDate" : "06-06-2012",
"validityTime" : 11120
}
],
"version" : "2.3"
}
HTTP status code 201
Created
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}/usage-accumulators
Delete a subscriber usage accumulation
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update subscriber static qualification information
Delete subscriber static qualification information
put /subscribers/{subscriberId}/static-qualification
Create or update subscriber static qualification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"description": "Static qualification data associated with a given Subscriber.",
"additionalProperties":false,
"properties":{
"staticQualification":{
"type": "object",
"additionalProperties":false,
"properties":{
"maxBearerQosProfileId":{
"type": "string",
"description": "Maximum static bearer QoS profile for the subscriber."
},
"minBearerQosProfileId":{
"type": "string",
"description": "Minimum static bearer QoS profile for the subscriber."
},
"subscriberChargingProfileId":{
"type": "string",
"description": "Charging profile for the subscriber."
},
"contentFiltering":{
"type": "string",
"description": "Content Filtering profile to be applied to a subscriber."
},
"customerId":{
"type": "string",
"description": "Identifier of customer."
},
"onlineChargingSystemProfileId":{
"type": "string",
"description": "Identifier of the Online Charging System for the subscriber."
},
"presenceReportingAreaNames": {
"type": "array",
"description": "The list of Presence Reporting Area Names for the subscriber.",
"items":{ "type": "string" },
"minItems": 1,
"maxItems": 1,
"uniqueItems": true
},
"pdnGwListName":{
"type": "string",
"description": "PDN-GW list name associated to the subscriber"
},
"spid":{
"type": "integer",
"minimum": 1,
"maximum": 256,
"description": "SPID for the subscriber."
},
"mpsProfileId": {
"type": "string",
"description": "Multimedia Priority Services profile for the subscriber."
}
}
}
}
}
Example:
{
"staticQualification":
{
"maxBearerQosProfileId": "QoS_Max",
"minBearerQosProfileId": "QoS_Min",
"subscriberChargingProfileId": "Charging_Profile_1",
"contentFiltering": "Content_Filtering_Profile_1",
"customerId": "Customer_Id_1",
"onlineChargingSystemProfileId": "default",
"mpsProfileId": "Mps_Profile_1"
}
}
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}/static-qualification
Delete subscriber static qualification information
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update list of subscriber dataplans
Remove whole list of dataplans
put /subscribers/{subscriberId}/dataplans
Create or update list of subscriber dataplans
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"dataplans":{
"type":"array",
"description": "Dataplans associated with a subscriber.",
"additionalItems":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"dataplanName":{
"type": "string",
"description": "Subscriber dataplan to which the subscriber belongs to."
},
"startDate":{
"type":"string",
"description": "Start date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"stopDate":{
"type":"string",
"description": "End date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"priority":{
"type": "integer",
"description": "Priority level assigned to the dataplan.",
"minimum":0
},
"durations":{
"type":"array",
"description":"The durations of multiple instances of the prepaid dataplan.",
"additionalItems":false,
"minItems":1,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"duration":{
"type":"string",
"description":"The duration of each instance, including start time and stop time, if the time is empty then it means there is no time limits for this instance.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?$"
}
}
}
}
},
"required":["dataplanName"]
}
}
},
"required":["dataplans"]
}
Example:
{
"dataplans":
[
{
"dataplanName": "Premium",
"startDate" : "01/01/2017",
"stopDate" : "31/12/2017",
"priority" : 1
}
]
}HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}/dataplans
Remove whole list of dataplans
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update a dataplan associated with a given subscriber
Remove a dataplan
put /subscribers/{subscriberId}/dataplans/{dataplanName}
Create or update a dataplan associated with a given subscriber
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
- dataplanName: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type": "object",
"additionalProperties":false,
"properties":{
"dataplanName":{
"type": "string",
"description": "Subscriber dataplan to which the subscriber belongs to."
},
"startDate":{
"type":"string",
"description": "Start date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"stopDate":{
"type":"string",
"description": "End date and time when the dataplan applies for the subscriber.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"priority":{
"type": "integer",
"description": "Priority level assigned to the dataplan.",
"minimum":0
},
"durations":{
"type":"array",
"description":"The durations of multiple instances of the prepaid dataplan.",
"additionalItems":false,
"minItems":1,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"duration":{
"type":"string",
"description":"The duration of each instance, including start time and stop time, if the time is empty then it means there is no time limits for this instance.",
"pattern":"^((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?(\\s)*,(\\s)*((0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?)?$"
}
}
}
}
},
"required":["dataplanName"]
}
Example:
{
{
"dataplanName": "Premium",
"startDate" : "01/01/2017",
"stopDate" : "31/12/2017",
"priority" : 1
}
}HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}/dataplans/{dataplanName}
Remove a dataplan
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
- dataplanName: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update UsageLimits for a subscriber
Delete Usage Limits
put /subscribers/{subscriberId}/usage-limits
Create or update UsageLimits for a subscriber
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"usageLimits":{
"type":"array",
"description": "Represents the usage limits associated with a subscriber. Usage limits per reporting group or independent of reporting group (that is, total traffic of the IP-CAN session) for a specified time period or the IP session lifetime.",
"additionalItems":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{
"type": "string"
},
"description":{
"type": "string"
},
"reportingLevel":{
"type": "string",
"description": "totalTraffic Fair Usage is related to the total traffic (IP session). perReportingGroup Fair Usage is related to a specific reporting group (service level). If reportingLevel is not provisioned, perReportingGroup (default value) is assumed.",
"enum":["totalTraffic","perReportingGroup"]
},
"subscriptionType":{
"type": "string",
"description": "When not specified, postpaid is assumed. Postpaid subscriptions are associated with a periodic fee that is automatically restarted. Prepaid subscriptions are associated with prepaid accounts or buying a voucher.",
"enum":["prepaid","postpaid"]
},
"subscriptionDate":{
"type": "string",
"description": "Start date and time when the reporting group is controlled for the subscriber. If the optional time part (Thh[:mm[:ss]]) is not specified, 00:00:00 is considered.",
"pattern":"^(0[1-9]|[1-2][0-9]|3[0-1])-(0[1-9]|1[0-2])-[1-2][0-9]{3}(T([0-1][0-9]|2[0-3])(:[0-5][0-9]){0,2})?$"
},
"minQuotaTime":{
"type": "integer",
"description": "Minimum time quota assigned to the reporting group. It prevents from too often usage accumulators updates and associated evaluation process.",
"minimum":0
},
"minQuotaVolume":{
"type": "integer",
"description": "Minimum volume quota assigned to the reporting group. It prevents from receiving usage reporting too often and avoids signalling storms when a subscriber is reaching the end of the usage limit.",
"minimum":0
},
"reportingIntervalTime":{
"type": "integer",
"description": "Maximum time validity limit of the granted quota. Used to avoid usage accumulators are not updated for long end-user consuming periods. In case of volume usage limits, the SAPC forces usage reporting whenever this interval time is reached. In case of time usage limits, the SAPC internally calculates the usage whenever this interval time is reached.",
"minimum":0
},
"sliceTime":{
"type": "integer",
"description": "Amount of time usage. Only applicable for time usage limits.",
"minimum":0
},
"sliceVolume":{
"type":"integer",
"description": "Amount of volume usage. Only applicable for volume usage limits.",
"minimum":0
},
"useRolloverFirst":{
"type":"boolean",
"description": "If true (default value), the remaining quota transferred from the previous billing period is consumed before the quota of the current period; if false, the quota of the current period is consumed first. The value applied is the same for absolute and conditional accumulators.",
"default": true
},
"absoluteLimits":{
"type":"object",
"description": "Block to specify absolute (that is, for a specific period) usage limits.",
"additionalProperties":false,
"properties":{
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
},
"time":{
"type":"string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description" : "Uplink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type": "array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type": "integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum": 0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type": "object",
"additionalProperties":false,
"properties":{
"name":{"type": "string"},
"resetPeriod":{
"type": "object",
"description": "Time period to reset all accumulated consumed usages for postpaid reporting groups (usage information is automatically reset when previous expiration date + resetPeriod is reached).",
"additionalProperties":false,
"properties":{
"volume":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
},
"time":{
"type": "string",
"pattern":"^(monthly)|([1-9]|1[0-9]|2[0-9]|3[0-1]) days|([1-9]|1[0-9]|2[0-4]) hours|monthly day ([1-9]|1[0-9]|2[0-9]|3[0-1])(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|weekly day (Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?|daily(( )([01][0-9]|2[0-3]):([0-5][0-9]|[?]{2}))?$"
}
}
},
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type": "integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type": "integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"rolloverLimit":{
"type":"string",
"description":"Percentage value of the volume or time limit that can be transferred to the next period. If the value is not set or set to 0%, the Rollover Data is not applicable. It does not apply to complementary limits.",
"pattern":"^(100|[1-9]?[0-9])%$",
"default":"0%"
}
}
}
}
}
},
"sessionLimits":{
"type":"object",
"description": "Block to specify usage limits during IP session lifetime.",
"additionalProperties":false,
"properties":{
"ulVolume":{
"oneOf":[
{
"type": "integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
},
"conditionalLimits":{
"type":"array",
"description": "Block to specify complementary usage limits: based on conditions or with different reset period that for the absolute limits.",
"additionalProperties":false,
"items":{
"type":"object",
"additionalProperties":false,
"properties":{
"name":{"type":"string"},
"ulVolume":{
"oneOf":[
{
"type":"integer",
"description": "Uplink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"dlVolume":{
"oneOf":[
{
"type":"integer",
"description": "Downlink volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"bidirVolume":{
"oneOf":[
{
"type":"integer",
"description": "Bidirectional volume limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"oneOf":[
{
"type":"string",
"pattern":"^(([1-9]|[1-9][0-9])%)$"
},
{"type":"integer", "minimum": 0}
]
}
}
]
},
"time":{
"oneOf":[
{
"type":"integer",
"description": "Time limit.",
"minimum":0
},
{
"type":"array",
"uniqueItems":true,
"items":{
"type":"integer",
"minimum":0
}
}
]
}
}
}
}
}
}
}
}
}
},
"required":["usageLimits"]
}
Example:
{
"usageLimits" :
[
{
"absoluteLimits" :
{
"bidirVolume" : 250,
"resetPeriod" :
{
"time" : "5 days",
"volume" : "monthly"
},
"time" : 150
},
"name" : "1111"
}
]
}
HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}/usage-limits
Delete Usage Limits
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
Create or update whole set of Subscriber Operator Specific Infos
Remove whole list of Subscriber Operator Specific Infos
put /subscribers/{subscriberId}/operator-specific-infos
Create or update whole set of Subscriber Operator Specific Infos
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
Body
Type: application/json
Schema:
{
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"additionalProperties":false,
"properties":{
"operatorSpecificInfos":{
"type": "array",
"additionalItems":false,
"items":{
"type": "object",
"description": "Provides an extensible mechanism (space) for the operator to define extra subscriber-related data to be used in policy conditions.",
"additionalProperties": false,
"properties":{
"attributeName":{
"type": "string",
"description": "Identifier of the additional information."
},
"attributeValue":{
"type": "string",
"description": "Value for the additional information."
}
},
"required": ["attributeName","attributeValue"]
}
}
},
"required":["operatorSpecificInfos"]
}
Example:
{
"operator-specific-infos":
[
{
"attributeName" : "Gender",
"attributeValue": "Male",
}
]
}HTTP status code 204
Updated
HTTP status code 400
Bad request
Body
Type: application/json
Example:
{
"error":
{
"code": 400,
"description": "Wrong JSON format: JSON provided does not validate with the required schema.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 415
Content Type is not correct, only application/json is supported
Body
Type: application/json
Example:
{
"error":
{
"code": 415,
"description": "Content Type is not correct.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 422
Unprocessable
Body
Type: application/json
Example:
{
"error":
{
"code": 422,
"description": "Wrong semantic validation.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.
delete /subscribers/{subscriberId}/operator-specific-infos
Remove whole list of Subscriber Operator Specific Infos
Each request must contain the headers necessary for basic authentication
URI Parameters
- subscriberId: required (string)
HTTP status code 204
Deleted
HTTP status code 404
Resource Not Found. The server has not found anything matching the Request-URI. The specified resource does not exist
Body
Type: application/json
Example:
{
"error":
{
"code": 404,
"description": "Not found.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 414
Uri too long
Body
Type: application/json
Example:
{
"error":
{
"code": 414,
"description": "URI too long.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 500
Internal database error
Body
Type: application/json
Example:
{
"error":
{
"code": 500,
"description": "DBS generic error.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
HTTP status code 503
Service unavailable
Body
Type: application/json
Example:
{
"error":
{
"code": 503,
"description": "Service Unavailable.",
"associatedRequest": "HTTP method and URI used in the request"
}
}
Secured by basicAuth
Headers
- Authorization: (string)
Used to send the Base64 encoded "username:password" credentials
HTTP status code 401
Unauthorized. Either the provided username and password combination is invalid, or the user is not allowed to access the content provided by the requested URL.