2 BSF REST Specifications

This section provides information about REST specifications used in Oracle Communications Cloud Native Core Binding Support Function (BSF).

2.1 General Configurations

This section provides information for configuring General Configurations in BSF.

Resource Name: General Configurations

Table 2-1 Supported REST APIs - General Configurations

Resource Name Resource URI HTTP Method or Custom Operation Description Possible Result Code
General Configurations -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/general/export GET Export General Configuration

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

-H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/general/import -d "{}" POST Import General Configuration

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

-H "accept: application/json" {apiRoot}​/oc-bsf-configuration/v1/general GET Get Individual General Configuration

200: OK General configuration is returned

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

-H "accept: application/json" -H "Content-Type: application/json" {apiRoot}​/oc-bsf-configuration/v1/general -d " {} " PUT Update General Configuration

200: OK Specifies that the update is successful and provides the values in database.

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

GET and PUT - Get and Update General Configuration

Table 2-2 Data structures supported by GET and PUT response body

Name Data Type Mandatory (M)/Optional (O) Description
enableTracing Boolean M Specifies whether to enable tracing. Possible values are:
  • True (Default)
  • False
enableMetrics Boolean M Specifies whether to enable system metrics. Possible values are:
  • True (Default)
  • False
enableCollisionDetection Boolean M Specifies whether to enable collision detection for BSF. Possible values are:
  • True (Default)
  • False
bindingDiscoveryRequestTimeout Integer M Specifies the request timeout value for the Authentication Request (AAR) message towards the BSF Diameter gateway.
enableSubscriberLog Boolean M  
enableSBICorrelation Boolean M  

Sample Request body structure for PUT operations:

{
    "enableTracing": false,
    "enableMetrics": true,
    "enableCollisionDetection": true,
    "bindingDiscoveryRequestTimeout" : 3,
    "enableSubscriberLog": true,
    "enableSBICorrelation": true
}

Sample Response body structure for GET and PUT operations:

{
    "enableTracing": false,
    "enableMetrics": true,
    "enableCollisionDetection": true,
    "bindingDiscoveryRequestTimeout" : 3,
    "enableSubscriberLog": true,
    "enableSBICorrelation": true
}

Export and Import General Configurations

Table 2-3 Data structures supported by Export and Import Response Body

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
exportData array   Exported list of general configurations. For more information, see Table 2-2
sourceVersion string   System version of the product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for Import/Export operations:

{
  "date": "string",
  "exportData": {
    "enableMetrics": true,
    "enableTracing": true,
    "enableCollisionDetection": true,
    "bindingDiscoveryRequestTimeout" : 3,
    "enableSubscriberLog": true,
    "enableSBICorrelation": true
  },
  "sourceVersion": "string",
  "topic": "string"
}

2.2 SBI Error Codes

Table 2-4 Supported REST APIs - SBI Error Codes

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Get SBI Error Codes GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/{conditionName}

200: OK SBI Error Codes is returned

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

Update SBI Error Codes PUT -H "accept: application/json" -H "Content-Type: application/json" -d " {} "{apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/{conditionName}

200: OK Specifies that the update is successful and provides the values in database.

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Export SBI Error Codess GET -H "accept: application/json"{apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/export

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Import SBI Error Codess POST -H "accept: application/json"{apiRoot}/oc-bsf-configuration/v1/sbiErrorCodes/import

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get and Update SBI Error Codes

Table 2-5 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
applicationErrorCode string Mandatory Specifies the application error code for a defined condition.
conditionName string Mandatory Specifies the system defined name for a given condition.
errorDescription string Optional Specifies the description for a defined condition. It is recommended to use descriptions that clearly explain the condition.
httpStatusCode string Mandatory Specifies the HTTP Status code for a defined condition.

Sample Request body for SBI Error Codes PUT operation:

{
  "applicationErrorCode": "string",
  "conditionName": "string",
  "errorDescription": "string",
  "httpStatusCode": "string"
}

Sample Response body structure for SBI Error Codes GET and PUT operation:

{
  "applicationErrorCode": "string",
  "conditionName": "string",
  "errorDescription": "string",
  "httpStatusCode": "string"
}

Import and Export SBI Error Codes

Table 2-6 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
errors.message     Error message
errors.name     Name of the error
exportData array   Exported list of SBI Error Codes. For more information, see Get and Update SBI Error Codes.
key string   Indicates the ID
sourceVersion string   System version of product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for SBI Error Codes Import and Export operations:

{
  "date": "string",
  "errors": [
    {
      "message": "string",
      "name": "string"
    }
  ],
  "exportData": [
    {
      "applicationErrorCode": "string",
      "conditionName": "string",
      "errorDescription": "string",
      "httpStatusCode": "string"
    }
  ],
  "key": "string",
  "sourceVersion": "string",
  "topic": "string"
}

2.3 Management Service

This section provides information for configuring Management Service in BSF.

Resource Name: Management Service

The following table describes the APIs for Resource - Management Service:

Table 2-7 Supported REST APIs - Management Service

Tasks Resource URI HTTP Method or Custom Operation Possible Result Code
Export Management Service -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice/export GET

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Import Management Service -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice/import POST

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get Management Service -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice GET

200: OK Management Service is returned

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

Update Management Service -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/services/managementservice PUT

200: OK Specifies that the update is successful and provides the values in database.

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Sample Request to Update Management Service

The following is the schema for updating Management Service:

{
  "activeSessionCounting": {
    "countRecords": true,
    "countRecordsInterval": 15
  },
  "apiRoot": "string",
  "audit": {
    "ansWithResultCodeCfg": [
      {
        "ansWithResultCode": "DIAMETER_UNABLE_TO_COMPLY",
        "resultCode": 0,
        "vendorId": 0
      }
    ],
    "enable": true,
    "frequency": 330,
    "maxTtl": 7200,
    "notificationRate": 50,
    "queryToPcf": true,
    "ttl": 1440,
    "vendorId": "000111"
  },
  "bsfNfBindingsSettings": {
    "bsfBindingLevel": "NF_SET",
    "bsfSendBindingHeader": true
  },
  "bsfNfServerSettings": {
    "bsfSendServerHeader": true,
    "bsfServerHeaderErrorCodes": [
      0
    ]
  },
  "logLevels": [
    {
      "level": "ALWAYS",
      "loggerName": "string"
    }
  ],
  "rootLogLevel": "ALWAYS"
}
Parameters

The following table describes the parameters:

Table 2-8 Data structures supported by GET and PUT response body

Name Data Type Mandatory (M)/Optional (O) Description
activeSessionCounting.countRecords Boolean O Enables or disables the active sessions counting. By default, the active sessions counting is disabled. To enable the feature, set the value of this parameter to
true
.
activeSessionCounting.countRecordsInterval Integer O Specifies the time interval (in minutes) for which maximum active sessions are reported as a metric.

Default value is 15 minutes.

You can set the time interval to any value between 1 to 60 minutes.

apiRoot String O Indicates the URL for server root.
audit.enable Boolean O Indicates whether to enable or disable auditing of stale records.
audit.frequency Integer M Indicates the time when next audit for the BSF management service table will begin after delta time if auditing this table has been finished before the specified minimum audit passes interval.
audit.ansWithResultCodeCfg Array O Indicates the value that is compared with the result code received in the AAA-I answer. If both the values match, a request is sent towards the BSF Management service to initiate stale record notification. For more information, see Table 2-9.
audit.maxTtl Integer M Indicates the maximum binding age for binding records. Once the binding age for a record exceeds the configured value, audit service marks the record as stale and BSF removes the record from its local database.
audit.notificationRate Integer M Indicates the number of stale records which Audit service notifies to the BSF Management service in one second.
audit.queryToPcf Boolean O Indicates whether BSF management service queries PCF to confirm the status of a PcfBinding record, which is suspected as stale by the audit service.
audit.ttl Integer M Indicates the time to live (TTL) value for binding records.
audit.vendorId string

Example: 000111

O Indicates the vendor ID that BSF retrieves from the Vendor Specific Attribute to send query requests towards PCF. The vendor ID should be 6-digit long.

Note: PCF sends the Vendor Specific Attribute in the request body at the time of binding registration.

bsfNfBindingsSettings.bsfBindingLevel String O Indicates the binding level to be included in the 3gpp-sbi-binding header when BSF adds this header in a message to another NF.
bsfNfBindingsSettings.bsfSendBindingHeader Boolean O Indicates if BSF includes the 3gpp-sbi-binding header in SBI messages.
bsfNfServerSettings.bsfSendServerHeader Boolean O Indicates if BSF management service includes server header while sending an error response.
bsfNfServerSettings.bsfServerHeaderErrorCodes integer O Indicates the error codes for which service header is generated. The error codes can be from 100 to 999.
logLevels:level String O Possible values are:
  • TRACE (Default)
  • DEBUG
  • INFORMATION
  • WARN
  • ERROR
  • ALWAYS
logLevels:loggerName String O Specifies the name of the logger. For Example, trace
rootLogLevel String M Specifies the status of root log level. Possible values are:
  • TRACE
  • DEBUG
  • INFORMATION
  • WARN (Default)
  • ERROR
  • ALWAYS

Table 2-9 ansWithResultCodeCfg

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
ansWithResultCode Enum O Specifies the result code.
resultCode Integer O Specifies the custom result code when ansWithResultCode is EXPERIMENTAL_RESULT_CODE.
vendorId Integer O Specifies the custom vendor ID when ansWithResultCode is EXPERIMENTAL_RESULT_CODE.
Sample cURL command for Update Management Service
curl -X PUT "http://10.75.206.200:8000/oc-bsf-configuration/v1/services/managementservice" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"activeSessionCounting\": { \"countRecords\": true, \"countRecordsInterval\": 15 }, \"apiRoot\": \"string\", \"audit\": { \"ansWithResultCodeCfg\": [ { \"ansWithResultCode\": \"DIAMETER_UNABLE_TO_COMPLY\", \"resultCode\": 0, \"vendorId\": 0 } ], \"enable\": true, \"frequency\": 330, \"maxTtl\": 7200, \"notificationRate\": 50, \"queryToPcf\": true, \"ttl\": 1440, \"vendorId\": \"000111\" }, \"bsfNfBindingsSettings\": { \"bsfBindingLevel\": \"NF_SET\", \"bsfSendBindingHeader\": true }, \"bsfNfServerSettings\": { \"bsfSendServerHeader\": true, \"bsfServerHeaderErrorCodes\": [ 0 ] }, \"logLevels\": [ { \"level\": \"ALWAYS\", \"loggerName\": \"string\" } ], \"rootLogLevel\": \"ALWAYS\"}"
Sample Response for Update Management Service

Same as request body.

Export and Import Management Service

Table 2-10 Data structures supported by Export and Import Response Body

Field Name Data Type Mandatory(M)/Optional(O) Description
date string Optional Current timestamp
exportData array Mandatory Exported list of Management Service. For more information, see Table 2-8
sourceVersion string Optional System version of the product from which data is exported
topic string Mandatory Topic of each managed object

Sample Request Body structure for Import operation:

{
  "date": "string",
  "exportData": {
    "apiRoot": "string",
    "audit": {
      "ansWithResultCodeCfg": [
        {
          "ansWithResultCode": "DIAMETER_UNABLE_TO_COMPLY",
          "resultCode": 0,
          "vendorId": 0
        }
      ],
      "enable": true,
      "frequency": 330,
      "maxTtl": 7200,
      "notificationRate": 50,
      "queryToPcf": true,
      "ttl": 1440,
      "vendorId": "000111"
    },
    "bsfNfBindingsSettings": {
      "bsfBindingLevel": "NF_SET",
      "bsfSendBindingHeader": true
    },
    "bsfNfServerSettings": {
      "bsfSendServerHeader": true,
      "bsfServerHeaderErrorCodes": [
        0
      ]
    },
    "logLevels": [
      {
        "level": "ALWAYS",
        "loggerName": "string"
      }
    ],
    "rootLogLevel": "ALWAYS"
  },
  "sourceVersion": "string",
  "topic": "string"
}

2.4 Diameter Settings

This section provides information for configuring diameter gateway in BSF.

Resource Name: Diameter Settings

Table 2-11 Supported REST APIs - Diameter Settings

Resource Name Resource URI HTTP Method or Custom Operation Description Possible Result Code
Diameter Settings -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/settings/export GET Export Diameter Settings

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

-H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/settings/import -d "{}" POST Import Diameter Settings

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

-H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/settings GET Get Diameter Settings

200: OK Diameter Settings are returned

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

-H "accept: application/json" -H "Content-Type: application/json" {apiRoot} /oc-bsf-configuration/v1/diameter/settings -d " {} " PUT Update Diameter Settings

200: OK Specifies that the update is successful and provides the values in database.

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get and Update Diameter Settings

Table 2-12 Data structures supported by GET and PUT response body

Name Data Type Mandatory (M)/Optional (O) Description
timer:connectionTimeout Number O Specifies the connection timeout interval in seconds. The default is 3 seconds.
timer:reconnectDelay Number O Specifies the time frame to delay before attempting to reconnect after a connection failure in seconds. The default is 3 seconds.
timer:responseTimeout Number O Specifies the response timeout interval in seconds. The default is 5 seconds.
timer:watchdog interval Number O Specifies the watchdog interval in seconds. The default is 6 seconds.
transport:protocol String O TCP/SCTP

Table 2-13 congestionControl

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
congestionLoadSheddingProfile string O Specifies the load shedding profile name.
congestionMessagePriorityProfile string O Specifies the message priority profile name.

Table 2-14 DiamSettingsOverloadControl

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
overloadLoadSheddingProfile string Optional Specifies the load shedding profile name for overload control.
overloadMessagePriorityProfile string Optional Specifies the message priority profile name for overload control.

Table 2-15 Enhanced Timer Configuration

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
appId Integer M Specifies the application name.
appResponseTimeoutValue Integer M Specifies the application response timeout in milliseconds.
cmdCodeResponseTimeoutValueMap Map <Integer, Integer> O Specifies the command code response timeout for the AAR, RAR, STR, and ASR message types in milliseconds.

Sample Request body structure for PUT operations:

{
  "advancedSettings": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "congestionControl": {
    "congestionLoadSheddingProfile": "string",
    "congestionMessagePriorityProfile": "string"
  },
  "messageTimers": [
    {
      "appId": 0,
      "appResponseTimeoutValue": 0,
      "cmdCodeResponseTimeoutValueMap": {
        "258": 0,
        "265": 0,
        "274": 0,
        "275": 0
      }
    }
  ],
  "overloadControl": {
    "overloadLoadSheddingProfile": "string",
    "overloadMessagePriorityProfile": "string"
  },
  "timer": {
    "connectionTimeout": 3,
    "reconnectDelay": 3,
    "responseTimeout": 5,
    "watchdogInterval": 6
  },
  "topologyhiding": {
    "AppsToHide": [
      "All"
    ],
    "EnableTopologyHiding": true
  },
  "transport": {
    "protocol": "SCTP"
  }
}

Sample Response body structure for GET and PUT operations:

{
  "advancedSettings": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "congestionControl": {
    "congestionLoadSheddingProfile": "string",
    "congestionMessagePriorityProfile": "string"
  },
  "messageTimers": [
    {
      "appId": 0,
      "appResponseTimeoutValue": 0,
      "cmdCodeResponseTimeoutValueMap": {
        "258": 0,
        "265": 0,
        "274": 0,
        "275": 0
      }
    }
  ],
  "overloadControl": {
    "overloadLoadSheddingProfile": "string",
    "overloadMessagePriorityProfile": "string"
  },
  "timer": {
    "connectionTimeout": 3,
    "reconnectDelay": 3,
    "responseTimeout": 5,
    "watchdogInterval": 6
  },
  "topologyhiding": {
    "AppsToHide": [
      "All"
    ],
    "EnableTopologyHiding": true
  },
  "transport": {
    "protocol": "SCTP"
  }
}

Export and Import Diameter Settings

Table 2-16 Data structures supported by Export and Import Response Body

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
exportData array   Exported list of Diameter Settings. For more information, see Table 2-12
sourceVersion string   System version of the product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for Import/Export operations:

{
  "date": "string",
  "errors": [
    {
      "message": "string",
      "name": "string"
    }
  ],
  "exportData": {
    "advancedSettings": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "congestionControl": {
      "congestionLoadSheddingProfile": "string",
      "congestionMessagePriorityProfile": "string"
    },
    "messageTimers": [
      {
        "appId": 0,
        "appResponseTimeoutValue": 0,
        "cmdCodeResponseTimeoutValueMap": {
          "258": 0,
          "265": 0,
          "274": 0,
          "275": 0
        }
      }
    ],
    "overloadControl": {
      "overloadLoadSheddingProfile": "string",
      "overloadMessagePriorityProfile": "string"
    },
    "timer": {
      "connectionTimeout": 3,
      "reconnectDelay": 3,
      "responseTimeout": 5,
      "watchdogInterval": 6
    },
    "topologyhiding": {
      "AppsToHide": [
        "All"
      ],
      "EnableTopologyHiding": true
    },
    "transport": {
      "protocol": "SCTP"
    }
  },
  "sourceVersion": "string",
  "topic": "string"
}

2.5 Diameter Routing Table

Table 2-17 Supported REST APIs

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Export Diameter Routing Table GET {apiRoot}​/oc-bsf-configuration​/v1/diameter/routingTable/export

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Import Diameter Routing Table POST {apiRoot}​/oc-bsf-configuration​/v1/diameter/routingTable/import

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get Diameter Routing Table GET {apiRoot}/oc-bsf-configuration​/v1/diameter/routingTable

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Update Diameter Routing Table PUT {apiRoot}​/oc-bsf-configuration​/v1/diameter/routingTable

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get and Update Operations

Table 2-18 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
defaultRoute      
routeTable  

Table 2-19 defaultRoute

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
serverID string O  

Table 2-20 routeTable

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
appIDs
hosts string  
name string O  
priority string O  
realms string    
type Realm    

Sample Request body structure for PUT operations:

"defaultRoute": {
    "serverId": "string"
  },
  "routeTable": [
    {
      "appIds": [
        "All"
      ],
      "hosts": [
        "string"
      ],
      "name": "string",
      "priority": "string",
      "realms": [
        "string"
      ],
      "serverIds": [
        "string"
      ],
      "type": "Host"
    }
  ]
}

Sample Response body structure for GET and PUT operations:

{
  "defaultRoute": {
    "serverId": "string"
  },
  "routeTable": [
    {
      "appIds": [
        "All"
      ],
      "hosts": [
        "string"
      ],
      "name": "string",
      "priority": "string",
      "realms": [
        "string"
      ],
      "serverIds": [
        "string"
      ],
      "type": "Host"
    }
  ]
}

Export/Import Diameter Routing Table

Table 2-21 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
exportData array   Exported list of diamteter routing table.
sourceVersion string   System version of product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for Import/Export operations:

{
  "date": "string",
  "exportData": {
    "defaultRoute": {
      "serverId": "string"
    },
    "routeTable": [
      {
        "appIds": [
          "All"
        ],
        "hosts": [
          "string"
        ],
        "name": "string",
        "priority": "string",
        "realms": [
          "string"
        ],
        "serverIds": [
          "string"
        ],
        "type": "Host"
      }
    ]
  },
  "sourceVersion": "string",
  "topic": "string"
}

2.6 Load Shedding Profile

Table 2-22 Supported REST APIs - Load Shedding Profile

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Create Load Shedding Profile POST -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get Load Shedding Profile GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/{loadsheddingName}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Update Load Shedding Profile PUT -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/{loadsheddingName}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Export Load Shedding Profiles GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/export

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Import Load Shedding Profiles POST -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/import

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Delete Load Shedding Profile DELETE -H "accept: */*" {apiRoot}/oc-bsf-configuration/v1/diameter/loadsheddingprofiles/{loadsheddingName}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too many Requests

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Create and Update Load Shedding Profile

Table 2-23 PUT and POST Request Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
loadSheddingRules CongestionLoadSheddingRules Optional Specifies the list of configured Congestion Load Shedding Rules.
name string Mandatory Specifies the unqiue name of the load shedding profile.
overloadLoadSheddingRules OverloadLoadSheddingRules Optional Specifies the list of configured Overload Load Shedding Rules.
type Enum
The supported values are:
  • Overload Control
  • congestion
Optional Specifies the type of load shedding profile. The load shedding profile can be one of the following types:
  • Congestion Control
  • Overload Control

Table 2-24 CongestionLoadSheddingRules

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
ansWithResultCode Enum
The supported values are:
  • DIAMETER_TOO_BUSY
  • DIAMETER_UNABLE_TO_COMPLY
  • DIAMETER_UNABLE_TO_DELIVER
  • EXPERIMENTAL_RESULT_CODE
Optional Specifies the result code, returned in the answer response, when request message is rejected as part of congestion control.
discardPriority integer Mandatory Specifies the discard priority for the congestion load shedding rule. The discard priority value can be a number from 0 to 15. Any request message with equal or lower priority is rejected.
resultCode integer Conditional

Note: Specify a value for this parameter when you choose EXPERIMENTAL_RESULT_CODE value for the ansWithResultCode parameter.

Specifies the custom result code, which is returned in the answer response when service request is rejected due to congestion control.

.
state Enum
The supported values are:
  • CONGESTED
  • DANGER_OF_CONGESTION
Optional Specifies the type of state for which you are defining the rule.
vendorId integer Conditional

Note: Specify a value for this parameter when you choose EXPERIMENTAL_RESULT_CODE value for the ansWithResultCode parameter.

Specifies the vendor ID, which is returned in the answer response when service request is rejected due to congestion control.

.

Table 2-25 OverloadLoadSheddingRules

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
ansWithResultCode Enum
The supported values are:
  • DIAMETER_TOO_BUSY
  • DIAMETER_UNABLE_TO_COMPLY
  • DIAMETER_UNABLE_TO_DELIVER
  • EXPERIMENTAL_RESULT_CODE
Optional Specifies the result code, returned in the answer response, when request message is rejected as part of overload control.
discardPriority integer Mandatory Specifies the discard priority for the overload shedding rule. The discard priority value can be a number from 0 to 15. Any request message with equal or lower priority is rejected.
level Enum
The supported values are:
  • L1
  • L2
  • L3
  • L4
Mandatory Specifies the name of the level. The name specified in this parameter must match the level name in Ingress Gateway's ocdiscardpolicies.
resultCode integer Conditional

Note: Specify a value for this parameter when you choose EXPERIMENTAL_RESULT_CODE value for the ansWithResultCode parameter.

Specifies the custom result code, which is returned in the answer response when service request is rejected due to overload control.

.
vendorId integer Conditional

Note: Specify a value for this parameter when you choose EXPERIMENTAL_RESULT_CODE value for the ansWithResultCode parameter.

Specifies the vendor ID, which is returned in the answer response when service request is rejected due to overload control.

.

Sample Request body for Load Shedding Profile (PUT and POST operations):

{
  "loadSheddingRules": [
    {
      "ansWithResultCode": "DIAMETER_TOO_BUSY",
      "discardPriority": 0,
      "resultCode": 0,
      "state": "CONGESTED",
      "vendorId": 0
    }
  ],
  "name": "string",
  "overloadLoadSheddingRules": [
    {
      "ansWithResultCode": "DIAMETER_TOO_BUSY",
      "discardPriority": 0,
      "level": "L1",
      "resultCode": 0,
      "vendorId": 0
    }
  ],
  "type": "DIAMETER_TOO_BUSY"
}

Sample Response body structure for GET, PUT, and POST operation:

{
  "loadSheddingRules": [
    {
      "ansWithResultCode": "DIAMETER_TOO_BUSY",
      "discardPriority": 0,
      "resultCode": 0,
      "state": "CONGESTED",
      "vendorId": 0
    }
  ],
  "name": "string",
  "overloadLoadSheddingRules": [
    {
      "ansWithResultCode": "DIAMETER_TOO_BUSY",
      "discardPriority": 0,
      "level": "L1",
      "resultCode": 0,
      "vendorId": 0
    }
  ],
  "type": "DIAMETER_TOO_BUSY"
}

Import and Export Load Shedding Profile

Table 2-26 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
exportData array   Exported list of Load Shedding Profile. For more information, see Create and Update Load Shedding Profile.
key string   Indicates the ID
sourceVersion string   System version of product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for Load Shedding Profile Import and Export operations:

{
  "date": "string",
  "errors": [
    {
      "message": "string",
      "name": "string"
    }
  ],
  "exportData": [
    {
      "loadSheddingRules": [
        {
          "ansWithResultCode": "DIAMETER_TOO_BUSY",
          "discardPriority": 0,
          "resultCode": 0,
          "state": "CONGESTED",
          "vendorId": 0
        }
      ],
      "name": "string",
      "overloadLoadSheddingRules": [
        {
          "ansWithResultCode": "DIAMETER_TOO_BUSY",
          "discardPriority": 0,
          "level": "L1",
          "resultCode": 0,
          "vendorId": 0
        }
      ],
      "type": "DIAMETER_TOO_BUSY"
    }
  ],
  "key": "string",
  "sourceVersion": "string",
  "topic": "string"
}

2.7 Congestion Threshold

Table 2-27 Supported REST APIs - Congestion Threshold

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Get Congestion Threshold GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/{serviceType}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

429: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Update Congestion Threshold PUT -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/{serviceType}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Export Congestion Thresholds GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/export/{serviceType}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Import Congestion Thresholds POST -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/threshold/import/{serviceType}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get and Update Congestion Threshold

Table 2-28 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
stateCalculationInterval integer Mandatory

Specifies the interval at which congestion state is calculated.

stateChangeSampleCount integer Mandatory Specifies the continuous sample counts for which calculated state remains the same.
thresholds[] array   An array to define threshold values for each resource for a given state,
thresholds[].state string   Specifies the congestion state.
thresholds[].resourceUsageLimit     Specifies the resource usage limit for a defined state.
thresholds[].resourceUsageLimit.cpu integer   Specifies the threshold value for CPU message.
thresholds[].resourceUsageLimit.memory integer   Specifies the threshold value for memory message.
thresholds[].resourceUsageLimit.queue integer   Specifies the threshold value for number of messages in the queue.

Sample Request body for Congestion Threshold PUT operation:


      {
  "stateCalculationInterval": 100,
  "stateChangeSampleCount": 10,
  "thresholds": [
    {
      "state": "CONGESTED",
      "resourceUsageLimit": {
        "cpu": 80,
        "memory": 80,
        "queue": 50
      }
    },
    {
      "state": "DANGER_OF_CONGESTION",
      "resourceUsageLimit": {
        "cpu": 60,
        "memory": 60,
        "queue": 30
      }
    }
  ]
}

Sample Response body structure for Congestion Threshold GET and PUT operation:

{
  "stateCalculationInterval": 100,
  "stateChangeSampleCount": 10,
  "thresholds": [
    {
      "state": "CONGESTED",
      "resourceUsageLimit": {
        "cpu": 80,
        "memory": 80,
        "queue": 50
      }
    },
    {
      "state": "DANGER_OF_CONGESTION",
      "resourceUsageLimit": {
        "cpu": 60,
        "memory": 60,
        "queue": 30
      }
    }
  ]
}

Import and Export Congestion Threshold

Table 2-29 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
exportData array   Exported list of Congestion Threshold. For more information, see Get and Update Congestion Threshold.
key string   Indicates the ID
sourceVersion string   System version of product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for Congestion Threshold Import and Export operations:

{
  "date": "string",
  "errors": [
    {
      "message": "string",
      "name": "string"
    }
  ],
  "exportData": {
    "stateCalculationInterval": 100,
    "stateChangeSampleCount": 10,
    "thresholds": [
      {
        "state": "CONGESTED",
        "resourceUsageLimit": {
          "cpu": 80,
          "memory": 80,
          "queue": 50
        }
      },
      {
        "state": "DANGER_OF_CONGESTION",
        "resourceUsageLimit": {
          "cpu": 60,
          "memory": 60,
          "queue": 30
        }
      }
    ]
  },
  "sourceVersion": "string",
  "topic": "string"
}

2.8 Peer Node

This section provides information for configuring Peer Node in BSF.

Resource Name: Peer Node

Table 2-30 Supported REST APIs - Peer Node

Resource Name Resource URI HTTP Method or Custom Operation Description Possible Result Code
Peer Node -H "accept: application/json" -H "Content-Type: application/json" ​/oc-bsf-configuration/v1/diameter/peernodes POST Create Peer Node

200: OK

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

-H "accept: application/json" /oc-bsf-configuration/v1/diameter/peernodes/export GET Get All (Export) Peer Nodes

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

-H "accept: application/json" -H "Content-Type: application/json" ​/oc-bsf-configuration​/v1/diameter/peernodes/import POST Import Peer Nodes

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

-H "accept: application/json" ​/oc-bsf-configuration​/v1/diameter/peernodes/{peernodeName} GET Get Peer Node

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

-H "accept: application/json" -H "Content-Type: application/json" ​​/oc-bsf-configuration​/v1/diameter/peernodes/{peernodeName} PUT Update Peer Node

200: OK Specifies that the update is successful and provides the values in database.

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

​-H "accept: */*" ​/oc-bsf-configuration​/v1/diameter/peernodes/{peernodeName} DELETE Delete Peer Node

200: OK

204: Peer Node was succesfully deleted

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

GET and PUT - Get, Create, and Update Peer Node

Table 2-31 Data structures supported by the GET and PUT Response Body

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
diamName String O Unique Name of the Peer Node
dtype String O Defines which type of Diameter Service it should take up. The value can be Application function (af), backend, diameter routing agent(dra), ocs, tdf, or udr.
host String O The host name. Enter a FQDN, ipv4 or ipv6 address available for establishing diameter transport connections to the peer node.
identity String O An identity to define a node in a realm.
initiateConnection boolean O Set it to True to initiate a connection for this peer node.

Default Value: FALSE

port Number O The port number. Enter a number from 0 to 65535.
realm String O The realm name, that is, FQDNs to all of that computers that transact diameter traffic.
reconnectLimit Number    

Sample Request body structure for PUT operations:

{
  "diamName": "string",
  "dtype": "af",
  "host": "string",
  "identity": "string",
  "initiateConnection": true,
  "port": "3868",
  "realm": "string",
  "reconnectLimit": "3"
}

Sample Response body structure for GET and PUT operations:

{
  "diamName": "string",
  "dtype": "af",
  "host": "string",
  "identity": "string",
  "initiateConnection": true,
  "port": "3868",
  "realm": "string",
  "reconnectLimit": "3"
}

DELETE - delete peer node

Table 2-32 Data structures supported by the DELETE Response Body

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
Peer Node Name string M Peer Node Name

Get All (Export) and Import Peer Node

Table 2-33 Data structures supported by Export and Import Response Body

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
exportData array   Exported list of peer nodes.
key string   Indicates the ID
sourceVersion string   System version of product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for Import/Export operations:

{
  "date": "string",
  "errors": [
    {
      "message": "string",
      "name": "string"
    }
  ],
  "exportData": [
    {
      "diamName": "string",
      "dtype": "af",
      "host": "string",
      "identity": "string",
      "initiateConnection": true,
      "port": "3868",
      "realm": "string",
      "reconnectLimit": "3"
    }
  ],
  "key": "string",
  "sourceVersion": "string",
  "topic": "string"
}

2.9 Message Priority Profile

Table 2-34 Supported REST APIs - Message Priority Profile

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Create Message Priority Profile POST -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get Message Priority Profile GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/{messagepriorityName}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Update Message Priority Profile PUT -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/{messagepriorityName}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Export Message Priority Profiles GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/export

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Import Message Priority Profiles POST -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/import

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Delete Message Priority Profile DELETE -H "accept: */*" {apiRoot}/oc-bsf-configuration/v1/diameter/messagepriorityprofiles/{messagepriorityName}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too many Requests

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Create and Update Message Priority Profile

Table 2-35 PUT and POST Request Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
name string Mandatory Unique name of the message priority profile.
priorityRules [] array Optional Specifies configured message priority rules.
priorityRules [].conditions conditions Optional Specifies the conditions for message priority rule.
priorityRules [].conditions.application string Mandatory Specifies the type of application.
priorityRules [].conditions.message string Mandatory Specifies the type of message for the selected application.
priorityRules [].conditions.preDefinedAVPConditions array Optional Specifies the pre-defined AVP conditons.
enableDRMPPriority boolean Optional When this switch is enabled, the priority for the message rule is assigned from DRMP AVP.
messagePriority integer Mandatory Specifies the priority assigned to the message. It can be a number from 0 to 15.
ruleName string Mandatory Specifies the unique name of the message priority rule.
rulePriority integer Mandatory Specifies the priority assigned to the message priority rule.

Sample Request body for PUT and POST operations:

{
  "name": "string",
  "priorityRules": [
    {
      "conditions": {
        "application": "Gx",
        "message": "CCR",
        "preDefinedAVPConditions": [
          {
            "conditionCCRTValue": "UPDATE_REQUEST",
            "conditionCSIDValue": [
              "string"
            ],
            "conditionMCPTTIdValue": [
              "string"
            ],
            "conditionMCVideoIdValue": [
              "string"
            ],
            "conditionMPSIdValue": [
              "string"
            ],
            "conditionName": "CC-Request-Type",
            "conditionReservPriorityValue": [
              "string"
            ],
            "conditionRxRTValue": [
              "INITIAL_REQUEST"
            ],
            "conditionSNRTypeValue": [
              "ABORT_SESSION_REQUEST"
            ],
            "conditionServiceURNIDValue": [
              "string"
            ]
          }
        ]
      },
      "enableDRMPPriority": true,
      "messagePriority": 8,
      "ruleName": "string",
      "rulePriority": 3
    }
  ]
}

Sample Response body structure for GET, PUT, and POST operations:

{
  "name": "string",
  "priorityRules": [
    {
      "conditions": {
        "application": "Gx",
        "message": "CCR",
        "preDefinedAVPConditions": [
          {
            "conditionCCRTValue": "UPDATE_REQUEST",
            "conditionCSIDValue": [
              "string"
            ],
            "conditionMCPTTIdValue": [
              "string"
            ],
            "conditionMCVideoIdValue": [
              "string"
            ],
            "conditionMPSIdValue": [
              "string"
            ],
            "conditionName": "CC-Request-Type",
            "conditionReservPriorityValue": [
              "string"
            ],
            "conditionRxRTValue": [
              "INITIAL_REQUEST"
            ],
            "conditionSNRTypeValue": [
              "ABORT_SESSION_REQUEST"
            ],
            "conditionServiceURNIDValue": [
              "string"
            ]
          }
        ]
      },
      "enableDRMPPriority": true,
      "messagePriority": 8,
      "ruleName": "string",
      "rulePriority": 3
    }
  ]
}

Import and Export Message Priority Profile

Table 2-36 Request and Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string   Current timestamp
exportData array   Exported list of Message Priority Profile. For more information, see Create and Update Message Priority Profile.
key string   Indicates the ID
sourceVersion string   System version of product from which data is exported
topic string   Topic of each managed object

Sample Request Body structure for Message Priority Profile Import operation:

{
  "date": "string",
  "errors": [
    {
      "message": "string",
      "name": "string"
    }
  ],
  "exportData": [
    {
      "name": "string",
      "priorityRules": [
        {
          "conditions": {
            "application": "Gx",
            "message": "CCR",
            "preDefinedAVPConditions": [
              {
                "conditionCCRTValue": "UPDATE_REQUEST",
                "conditionCSIDValue": [
                  "string"
                ],
                "conditionMCPTTIdValue": [
                  "string"
                ],
                "conditionMCVideoIdValue": [
                  "string"
                ],
                "conditionMPSIdValue": [
                  "string"
                ],
                "conditionName": "CC-Request-Type",
                "conditionReservPriorityValue": [
                  "string"
                ],
                "conditionRxRTValue": [
                  "INITIAL_REQUEST"
                ],
                "conditionSNRTypeValue": [
                  "ABORT_SESSION_REQUEST"
                ],
                "conditionServiceURNIDValue": [
                  "string"
                ]
              }
            ]
          },
          "enableDRMPPriority": true,
          "messagePriority": 8,
          "ruleName": "string",
          "rulePriority": 3
        }
      ]
    }
  ],
  "key": "string",
  "sourceVersion": "string",
  "topic": "string"
}

2.10 Diameter Error Codes

Table 2-37 Supported REST APIs - Diameter Error Codes

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Get Diameter Error Codes GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/{conditionName}

200: OK SBI Error Codes is returned

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

Update Diameter Error Codes PUT {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/{conditionName}

200: OK Specifies that the update is successful and provides the values in database.

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Export Diameter Error Codes GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/export

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Import Diameter Error Codes POST -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/diameter/diameterErrorCodes/import -d " {} "

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get and Update Diameter Error Codes

Table 2-38 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
conditionName string Mandatory Specifies the system defined name for a given condition.
diameterResultCode string Conditional Specifies the Diameter result code for a defined condition.
errorMessage string Optional Specifies the description for a defined condition. It is recommended to use descriptions that clearly explain the condition.
experimentalResultCode string Conditional Specifies the custom Diameter result code for a defined condition.
useExperimentalResultCode boolean Optional Indicates whether to use the Result Code AVP (268) or Experimental Result AVP (297) when an error result is generated by BSF.
vendorId string Conditional Specifies the Vendor ID of the operator or governing body that manages the code entered by the user in the experimentalResultCode field.

Sample Request body for Diameter Error Codes PUT operation:

{
  "conditionName": "string",
  "diameterResultCode": "string",
  "errorMessage": "string",
  "experimentalResultCode": "string",
  "useExperimentalResultCode": true,
  "vendorId": "string"
}

Sample Response body structure for Diameter Error Codes GET and PUT operation:

{
  "conditionName": "string",
  "diameterResultCode": "string",
  "errorMessage": "string",
  "experimentalResultCode": "string",
  "useExperimentalResultCode": true,
  "vendorId": "string"
}

Import and Export Diameter Error Codes

Table 2-39 Request or Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
date string Optional Current timestamp
errors.message string Optional Error message
errors.name string Optional Name of the error
exportData array Mandatory Exported list of SBI Error Codes. For more information, see Table 2-38.
key string Optional Indicates the ID
sourceVersion string Optional System version of product from which data is exported
topic string Mandatory Topic of each managed object

Sample Request Body structure for Diameter Error Codes Import and Export operations:

{
  "date": "string",
  "errors": [
    {
      "message": "string",
      "name": "string"
    }
  ],
  "exportData": [
    {
      "conditionName": "string",
      "diameterResultCode": "string",
      "errorMessage": "string",
      "experimentalResultCode": "string",
      "useExperimentalResultCode": true,
      "vendorId": "string"
    }
  ],
  "key": "string",
  "sourceVersion": "string",
  "topic": "string"
}

2.11 Session Viewer

Table 2-40 Supported REST APIs - Session Viewer

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Get PCF Bindings GET -H "accept: application/json" {apiRoot}/oc-bsf-query/v1/pcfBindings

200: OK. PCF bindings is returned

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

Delete Binding IDs POST {apiRoot}/oc-bsf-query/v1/pcfBindings/cleanup

200: OK.

201: Created

204: No content

401: Unauthorized

403: Forbidden

404: Not Found

500: Internal Server Error

Get Active Session Counter GET /v1/activeSessionCount/pcfBindings

200 : OK

401: Unauthorized

403: Forbidden

404: Not Found

Get PCF Bindings

To fetch PCF bindings, it is required to use any one of the following query parameters:

  • SUPI
  • GPSI
  • UE Address

Table 2-41 Query Parameters

Parameter Name Data Type Mandatory(M)/Optional(O) Description
dnn string Optional Specifies the Data Network Name.
gpsi string Optional Specifies the Generic Public Subscription Identifier. For example - msisdn-9192503899.
ipDomain string Optional Specifies the IPv4 address domain identifier
ipv4Addr string Optional Specifies the IP addresses in IPv4 format
ipv6Prefix string Optional Specifies the IPv6 Address Prefix.

Note: When you use IPv6 prefix to query a session, ensure that you provide the full notation value.

Example: 2011:db8:3c4d:0:0:0:0:0/48

mac string Optional Specifies the MAC address, which is formatted as six groups of two hexadecimal digits separated by colons (:) or hyphens (-). For example, in the format hh:hh:hh:hh:hh:hh.
sNssaiSd string Optional Specifies the Slice Differentiator (SD) for a given S-NSSAI (Single Network Slice Selection Assistance Information). This optional information is used to differentiate slice or service type across multiple network slices.
sNssaiSst integer Optional Specifies the Slice or Service type for a given S-NSSAI (Single Network Slice Selection Assistance Information).
supi string Optional Specifies the Subscription Permanent Identifier. For example - imsi-450081100100001.
Sample cURL command
curl -X GET "http://10.75.168.25:32202/api-docs/oc-bsf-query/v1/pcfBindings?supi=imsi-450080000000001" -H "accept: application/json"

Sample Response body structure for Pcf Bindings GET operation:

In the response, PCF bindings is returned as a string.

Delete PCF Bindings

Table 2-42 Request Body Parameters

Parameter Name Data Type Mandatory(M)/Optional(O) Description
bindingIds string Mandatory Specifies the binding IDs to be deleted manually by the user.

Sample request body structure for Pcf Bindings delete operation:

{
  "bindingIds": [
    "string"
  ]
}
Sample cURL command
curl -X POST "http://10.75.168.25:32202/api-docs/oc-bsf-query/v1/pcfBindings/cleanup" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"bindingIds\": [ \"string\" ]}"

Get Active Session Counter

Get Active Session Counter is used to get an active session counter for a service.

There are no input parameters for this API.

Table 2-43 Response paramters

Parameter Name Data Type Mandatory(M)/Optional (O) Description
dateTime string NA Time stamp of the query
count string NA Active sessions count
errorMsg integer NA Error message to include in the response in case the request fails.

Sample success response:

{
  "dateTime": "Tue, 02 Jan 2018 18:07:59",
  "count": 2211
}

Sample failure response:

{
  "dateTime": "Tue, 02 Jan 2018 18:07:59"
  "errMsg": "Active Session Counting is not enabled"
}
Sample cURL command
curl -X GET "http://10.75.206.200:8000/oc-bsf-query/v1/activeSessionCount/pcfBindings" -H "accept: */*"

2.12 Bulk Import/Export Controller

This section provides information for configuring bulk import/export in BSF.

Resource Name: Bulk Import Export Controller

Table 2-44 Supported REST APIs - Bulk Import Export Controller

Resource Name Resource URI HTTP Method or Custom Operation Description Possible Result Code
Bulk Import Export Controller -H "accept: */*" -H "ConttedFiles.zip;type=application/x-zip-compressed" /oc-bsf-configuration​/v1/administration/import POST Bulk Import

200: OK

201: Created

401: Unauthorized

403: Forbidden

404: Not Found

-H 'accept: application/json' -H 'Content-Type: application/json' -d @sampleput.json /oc-bsf-configuration​/v1/administration/import/{importResourceId}/status GET Import Status

200: OK

401: Unauthorized

403: Forbidden

404: Not Found

-H 'accept: application/json' -H 'Content-Type: application/json' -d @sampleput.json /oc-bsf-configuration​/v1/administration/import/{importResourceId}/report GET Import Report

200: OK

401: Unauthorized

403: Forbidden

404: Not Found

-H "accept: */*" /oc-bsf-configuration​/v1/administration/import GET Import Resource Ids

200: OK

401: Unauthorized

403: Forbidden

404: Not Found

​-H "accept: */*" -d "" /oc-bsf-configuration​/v1/administration/export POST Bulk Export

200: OK

201: Created

401: Unauthorized

403: Forbidden

404: Not Found

-H "accept: application/json" /oc-bsf-configuration​/v1/administration/export/{exportResourceId}/status GET Export Status for BSF

200: OK

401: Unauthorized

403: Forbidden

404: Not Found

-H "accept: application/octet-stream" /oc-bsf-configuration​/v1/administration/export/{exportResourceId}/report GET Export Report for BSF

200: OK

401: Unauthorized

403: Forbidden

404: Not Found

​-H "accept: application/octet-stream" /oc-bsf-configuration​/v1/administration/export/{exportResourceId}/download GET Download Exported File

200: OK

401: Unauthorized

403: Forbidden

404: Not Found

​ -H "accept: */*" /oc-bsf-configuration​/v1/administration/export GET Export Resource IDs

200: OK

401: Unauthorized

403: Forbidden

404: Not Found

Note:

The Bulk Import/Export APIs return a ResourceId in response to the POST request. The ResourceId is the background task id for the POST operations. This id can be used to track the import or export requests, and download the export data.

For example, the POST API for bulk export operation takes Managed Object (MO) name as input. The response of this API contains the resource id of the file created for export. You can use this resource Id to download the export data at any point of time.

Below are the status displayed by Bulk import/export:
  • IN_PROGRESS: If the import/export is running.
  • DONE: If the import/export is finished. Following are the possible status if the import/export is in DONE status:
    • SUCCESS : If the import/export is successful
    • FAILED : If the import/export is failed
    • PARTIAL_SUCCESS : If the import/export is partially successful

2.13 Subscriber Activity Logging

Table 2-45

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Create Subscriber Logging POST -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/ subscriberActivityLogging -d "{}"

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get Subscriber Logs GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/ subscriberActivityLogging/{identifierValue}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Update Subscriber Logging PUT -H "accept: application/json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/ subscriberActivityLogging/{identifierValue} -d " {} "

200: OK Specifies that the update is successful and provides the values in database.

201: Created

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Delete Subscriber Logging DELETE -H "accept: */*" {apiRoot}/oc-bsf-configuration/v1/subscriberActivityLogging/{identifierValue}

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too many Requests

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Export Subscriber Logs GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/subscriberActivityLogging/export

200: OK General configuration is returned

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

429: Too Many Requests

500: Internal Server Error

503: Service Unavailable

Import Subscriber Logs POST -H "accept: application/problem+json" -H "Content-Type: application/json" {apiRoot}/oc-bsf-configuration/v1/subscriberActivityLogging/import -d "{ }"

200: OK

201: Imported

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Get and Create Subscriber Logging

Table 2-46

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
enable boolean O  
type string O Identifier type
value string M  

Sample Request body structure for POST operation:

{
  "enable": true,
  "type": "gpsi",
  "value": "string"
}

Sample Response body structure for GET, POST, and PUT operations:

[
  {
    "date": "string",
    "errors": [
      {
        "message": "string",
        "name": "string"
      }
    ],
    "exportData": [
      {
        "enable": true,
        "type": "gpsi",
        "value": "string"
      }
    ],
    "sourceVersion": "string",
    "topic": "string"
  }
]

Delete Subscriber Logging

Table 2-47 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
identifierValue string M Subscriber Identifier

2.14 NRF Status

Table 2-48 BSF NRF Status Supported APIs

Description HTTP Method or Custom Operation Resource URI Possible Result Code
Get NRF Status GET -H "accept: application/json" {apiRoot}/oc-bsf-configuration/v1/nrfStatus

200: OK

400: Bad request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

Table 2-49 Request/Response Body Parameters

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
nfStatus String M It shows whether the BSF instance is registered, suspended, or deregistered with NRF.
nfType String M The type of Network Function. Example: "BSF".
nfInstanceId String M It shows the unique Instance ID of BSF registered with NRF.
nfFqdn String O It shows the FQDN of the BSF registered with NRF.
nfRegistrationTime String O It shows the time at which PCF registered with NRF
nfRegisteredWith String O It shows the FQDN of the NRF with which BSF is registered.
nrfData Object M It shows the details about the NRF.

Table 2-50 nrfData

Field Name Data Type Mandatory(M)/Optional(O)/Conditional(C) Description
priority Integer M It shows the priority of the NRF instances. An NRF instance with priority 1 is treated as primary NRF.
apiRoot String M  
status String M It shows the health status of the NRF instance. It could be in either healthy or unhealthy state.
statusChangeTime String M It shows the time when the NRF status changed.
errorReason Array M It shows the HTTP status codes or exceptions for which retry is attempted.
connectedTime String O It shows the time when PCF last connected with primary NRF.
isPrimary Boolean M It shows if this primary NRF or not.
isAttachedWithBsf Boolean M It shows if this NRF instance is attached with BSF or not.
Sample Response body structure for GET operations:
{
    "nfStatus":"REGISTERED",
    "nfType":"BSF",
    "nfInstanceId":"fe7d992b-0541-4c7d-ab84-c6d70b1b0123",
    "nfFqdn":"ocbsf1-2-api-gateway.bsf1-2.svc.atlantic.morrisville.us.lab.oracle.com",
    "nfRegistrationTime":"2022-54-22 08:50:24",   
    "nfRegisteredWith": "nf1stub.pdprodigiespolicy.svc:8080",
    "nrfData":[       
      {
            "priority":1,
            "apiRoot":"nf2stub.pdprodigiespolicy.svc:8080",
            "status":"HEALTHY",           
            "statusChangeTime": "2022-54-22 08:53:24",           
            "errorReason": null,           
            "connectedTime": "2022-54-22 08:54:24",           
            "isPrimary": true,           
            "isAttachedWithBsf": true       
      },       
      {     "priority":2,
            "apiRoot":"nf1stub.pdprodigiespolicy.svc:8080",
            "status":"UNHEALTHY",           
            "statusChangeTime": "2022-54-22 08:51:24",           
            "errorReason": "SocketTimeoutException",           
            "connectedTime": "2022-54-22 08:54:22",           
            "isPrimary": false,           
            "isAttachedWithBsf": false       
      }    
]}

2.15 Error Configurations

API support is available for EXPORT/IMPORT of error handler configurations.

Table 2-51 Supported REST APIs

Description HTTP Method or Custom Operation Resource URI Media Type Possible Result Code
Export Error Configuration GET {/oc-bsf-configuration/v1/services/errorHandler/errorConfiguration/export application/json

200: OK

400: Bad Request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Precondition Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

default: default Response

Import Error Configuration POST /oc-bsf-configuration/v1/services/errorHandler/errorConfiguration/import application/json

201: Imported

400: Bad Request

401: Unauthorized

403: Forbidden

404: Not Found

405: Method Not Allowed

406: Not Acceptable

408: Request Timeout

409: Conflict

412: Preconditon Failed

500: Internal Server Error

503: Service Unavailable

504: Gateway Timeout

detault: default Response

This section describes the request/response body parameters for APIs for Error Import or Export Configurations.

Table 2-52 Request/Response Body Parameters

Field Name Data Type Mandatory( M)/ Optional(O)/ Conditional( C) Description
topic string M Topic of each managed object
sourceVersion string O System version of product from which data is exported
date string O Current Timestamp
exportData array O Exported list of error rules configurations
Sample Request Body structure for Import/Export operations:
{
  "topic": "string",
  "sourceVersion": "string",
  "date": "string",
  "exportData": [
    {
      "ruleMapperConfigs": [
        {
          "templateId": "string",
          "action": "string",
          "ruleName": "string",
          "isDefault": true,
          "context": {
            "context": "string",
            "errorInfo": {
              "errorDetails": {
                "status": "string",
                "instance": "string",
                "cause": "string",
                "message": "string",
                "resource": "string",
                "sourceService": "PDS",
                "targetService": "PDS"
              },
              "resourceErrorMap": {
                "additionalProp1": {
                  "status": "string",
                  "instance": "string",
                  "cause": "string",
                  "message": "string",
                  "resource": "string",
                  "sourceService": "PDS",
                  "targetService": "PDS"
                },
                "additionalProp2": {
                  "status": "string",
                  "instance": "string",
                  "cause": "string",
                  "message": "string",
                  "resource": "string",
                  "sourceService": "PDS",
                  "targetService": "PDS"
                },
                "additionalProp3": {
                  "status": "string",
                  "instance": "string",
                  "cause": "string",
                  "message": "string",
                  "resource": "string",
                  "sourceService": "PDS",
                  "targetService": "PDS"
                }
              },
              "trace": {
                "additionalProp1": [
                  {
                    "errorState": "string",
                    "errorDetails": {
                      "status": "string",
                      "instance": "string",
                      "cause": "string",
                      "message": "string",
                      "resource": "string",
                      "sourceService": "PDS",
                      "targetService": "PDS"
                    }
                  }
                ],
                "additionalProp2": [
                  {
                    "errorState": "string",
                    "errorDetails": {
                      "status": "string",
                      "instance": "string",
                      "cause": "string",
                      "message": "string",
                      "resource": "string",
                      "sourceService": "PDS",
                      "targetService": "PDS"
                    }
                  }
                ],
                "additionalProp3": [
                  {
                    "errorState": "string",
                    "errorDetails": {
                      "status": "string",
                      "instance": "string",
                      "cause": "string",
                      "message": "string",
                      "resource": "string",
                      "sourceService": "PDS",
                      "targetService": "PDS"
                    }
                  }
                ]
              }
            },
            "type": "string"
          },
          "errorMatcher": {
            "errorStateDisp": {
              "errorType": {
                "label": "string",
                "value": "string"
              },
              "origin": {
                "label": "string",
                "value": "string"
              },
              "operation": {
                "label": "string",
                "value": "string"
              },
              "errorStatus": {
                "label": "string",
                "value": "string"
              },
              "sourceInterface": {
                "label": "string",
                "value": "string"
              }
            },
            "errorCauseDisp": {
              "status": {
                "label": "string",
                "value": "string"
              },
              "instance": {
                "label": "string",
                "value": "string"
              },
              "message": {
                "label": "string",
                "value": "string"
              },
              "cause": {
                "label": "string",
                "value": "string"
              },
              "resource": {
                "label": "string",
                "value": "string"
              }
            },
            "errorCause": {
              "field": "string",
              "match": "string",
              "value": {
                "status": "string",
                "instance": "string",
                "message": "string",
                "resource": "string",
                "cause": "string"
              }
            },
            "errorState": "string"
          },
          "priority": 0,
          "key": "string",
          "errorRuleEnabled": true
        }
      ],
      "enableErrorHandler": true,
      "serviceName": "string"
    }
  ]
}