Update a usage rule definition

This PUT operation updates a usage rule definition by using the usageRuleDefinitionId parameter as well as a JSON payload containing what you want to update. If successful, you receive an HTTP response code of 201 and a JSON response containing the updated usage rule definition information.

See HTTP response codes for other response codes.

PUT /pcc/spcm/planDefinitions/<planDefinitionId>/usageRuleDefinitions/<usageRuleDefinitionId> + JSON payload


HEADER INFO

tenant: <tenantName>

authorisation: HTTP Basic Auth

content-type: application/hal+JSON

accept: application/hal+JSON

permissions: SPCM_PLAN_DEFINITION_CREATE_PERMISSION

URL parameters

There are two mandatory parameters.

Parameter Type Description

planDefinitionId

integer

A unique identifier for a plan definition which was assigned by the server upon creating the plan definition.

usageRuleDefinitionId

integer

The id of the usage rule definition.


JSON payload

This example updates a usage rule with an id of 42 and updates the summary to contain a bit more information regarding the rule.

{
    "id": 42,
    "name": "fairUsageRule",
    "summary": "this rule applies fair usage restraints",
    "threshold": 100,
    "maxDeactivationPeriod": null,
    "updateType": "NONE"
}


JSON response

The following example shows a JSON response from the above JSON payload.

{
    "id": 42,
    "name": "fairUsageRule",
    "summary": "this rule applies fair usage restraints",
    "threshold": 100,
    "maxDeactivationPeriod": null,
    "updateType": "NONE"
    "_links": {
        "pccProfiles": {
            "href": "http://localhost:8080/spcm-rest-ws/pcc/spcm/planDefinitions/167/usageRuleDefinitions/42/pccProfiles"
        },
    "usageCounterDefinitions": {
        "href": "http://localhost:8080/spcm-rest-ws/pcc/spcm/planDefinitions/167/usageRuleDefinitions/42/usageCounterDefinition"
            },
    "self": {
        "href": "http://localhost:8080/spcm-rest-ws/pcc/spcm/planDefinitions/
        167/usageRuleDefinitions/42"
            }
        }
}


Usage rule definition type descriptions

Field Type Description

id

integer

The unique identifier for the usage rule. This is assigned by the server upon creation.

mandatory (on update)

name

string

The name of the usage rule.

mandatory

threshold

integer

The threshold (in bytes) at which the rule is violated.

mandatory

summary

string

A summary of the usage rule definition.

maxDeactivationPeriod

string

The maximum period of time that which a subscriber can deactivate a usage rule. Format: Xminute,Xhour,Xday,Xweek,Xmonth

mandatory if updateType is ALL.

updateType

enum

Specifies the update type.

possible values
  • all = rule can be updated

  • none = rule cannot be updated

HTTP response codes

Code Description

201/204

success!

If you receive a 204 code, you will not see a JSON response.

207

Multistatus response

Check out HTTP statuses for more details.
This is not applicable to all operations.

400

malformed request

401

unauthorised; bad username or password

403

forbidden; user does not have appropriate privileges

404

usage rule definition not found

409

conflict with target resource

This often occurs if the item already exists, such as a plan, group, or name.
This is not applicable to all operations.

412

failed validation; this typically means that a property was not set or a value is out of range.

example
HTTP 412
{
  "errors" : [
        {
          "field" : "name",
          "description" : "name is mandatory"
        }
    ]
}

422

failed processing (after passing validation).

example
HTTP 422
{
    "message": "Subscriber max plan count exceeded",
    "errorCode": 1
}

500

internal error

example
HTTP/1.1 500
{
    "message": "Internal server error - [Failed to get session information]",
    "status": "error"
}

503

request rejected due to overload