Create a Bucket
/bucket
Request
There are no request parameters for this operation.
- application/json;charset=utf-8
object-
@baseType: string
The object's superclass.
-
@schemaLocation: string
(uri)
A URI to a JSON schema file that defines additional attributes and relationships.
-
@type: string
The object's subclass.
-
description: string
Text describing the contents of the balance managed by the bucket
- isShared: boolean
-
logicalResource: array
logicalResource
-
name: string
Friendly name to identify the bucket
-
partyAccount: object
Party Account Ref
Title:
Party Account RefA reference to a party account. -
product: array
product
- relatedParty: array relatedParty
-
remainingValue: object
Quantity
An amount in a given unit.
-
remainingValueName: string
Remaining amount in a formatted string for the bucket given in the balance unit (for example 1.9 Gb). This formatted string could be used for display needs for example
-
reservedValue: object
Quantity
An amount in a given unit.
-
status: string
status for the bucket. active, expired, suspended
-
usageType(required): string
The bucket's usage type.
-
validFor: object
TimePeriod
A period of time.
array-
Array of:
object Logical Resource Ref
Title:
Logical Resource RefA reference to a logical resource.
objectParty Account Ref-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType: string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
description: string
Title:
DescriptionThe party account's description. -
href: string
Title:
HrefThe party account's href. -
id(required): string
Title:
Account IDThe party account's ID. -
name: string
Title:
NameThe party account's name. -
status: string
Title:
StatusThe overall status of the account. For example, due, paid, or in arrears.
array-
Array of:
object Product Ref
Title:
Product RefA reference to a product.
object-
amount: number
(float)
Default Value:
1Numeric value in a given unit. -
units: string
Unit
object-
endDateTime: string
(date-time)
Title:
End Time PeriodThe end of the time period in IETC-RFC-3339 format. -
startDateTime: string
(date-time)
Title:
Start Time PeriodThe start of the time period in IETC-RFC-3339 format.
objectLogical Resource Ref-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType: string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
href: string
Title:
HrefThe resource's href. -
id(required): string
Title:
IDThe resource's ID. -
name: string
Title:
NameThe resource's name.
objectProduct Ref-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType: string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
href: string
Title:
Product HrefThe product's href. -
id(required): string
Title:
Product IDThe product's ID. -
name: string
Title:
Product NameThe product's name.
objectRelated Party-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType(required): string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
href: string
Title:
HrefThe party's href. -
id(required): string
Title:
Party IDThe party's ID. -
name: string
Title:
Party NameThe party's name. -
role: string
Title:
Party RoleThe party's role.
Response
- application/json;charset=utf-8
201 Response
objectBucket-
@baseType: string
Title:
Base TypeThe object's superclass. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
confirmationDate: string
(date-time)
Title:
Confirmation DateThe date that an action on the bucket was confirmed. -
description: string
Title:
DescriptionThe bucket's description. -
href(required): string
Title:
Bucket HrefThe bucket's href. -
id(required): string
Title:
Bucket IDThe bucket's ID. - isShared: boolean
-
logicalResource: array
logicalResource
Logical resources associated with the bucket.
-
name: string
Title:
Bucket NameThe bucket's name. -
partyAccount: object
Party Account Ref
Title:
Party Account RefA reference to a party account. -
product: array
product
Products associated with the bucket.
- relatedParty: array relatedParty
-
remainingValue: object
Quantity
An amount in a given unit.
-
remainingValueName: string
Title:
Remaining ValueA string, including value and unit, representing the remaining amount in the bucket, used for display purposes. For example, 1.9 GB. -
requestedDate: string
(date-time)
Title:
Requested DateThe date that a request about the bucket was made. -
reservedValue: object
Quantity
An amount in a given unit.
-
status(required): string
Title:
Bucket Status TypeAllowed Values:[ "active", "suspended", "expired" ]A bucket's status. -
usageType: string
Title:
Usage TypeAllowed Values:[ "monetary", "voice", "data", "sms", "other" ]The type of usage. For BRM REST Services Manager, only monetary and other are supported. -
validFor(required): object
TimePeriod
A period of time.
array-
Array of:
object Logical Resource Ref
Title:
Logical Resource RefA reference to a logical resource.
objectParty Account Ref-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType: string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
description: string
Title:
DescriptionThe party account's description. -
href: string
Title:
HrefThe party account's href. -
id(required): string
Title:
Account IDThe party account's ID. -
name: string
Title:
NameThe party account's name. -
status: string
Title:
StatusThe overall status of the account. For example, due, paid, or in arrears.
array-
Array of:
object Product Ref
Title:
Product RefA reference to a product.
object-
amount: number
(float)
Default Value:
1Numeric value in a given unit. -
units: string
Unit
object-
endDateTime: string
(date-time)
Title:
End Time PeriodThe end of the time period in IETC-RFC-3339 format. -
startDateTime: string
(date-time)
Title:
Start Time PeriodThe start of the time period in IETC-RFC-3339 format.
objectLogical Resource Ref-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType: string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
href: string
Title:
HrefThe resource's href. -
id(required): string
Title:
IDThe resource's ID. -
name: string
Title:
NameThe resource's name.
objectProduct Ref-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType: string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
href: string
Title:
Product HrefThe product's href. -
id(required): string
Title:
Product IDThe product's ID. -
name: string
Title:
Product NameThe product's name.
objectRelated Party-
@baseType: string
Title:
Base TypeThe object's superclass. -
@referredType(required): string
Title:
Referred TypeThe object's type in the target system, if baseType and type need further disambiguation. -
@schemaLocation: string
(uri)
Title:
Schema LocationA URI to a JSON-Schema file that defines additional attributes and relationships. -
@type: string
Title:
TypeThe object's subclass. -
href: string
Title:
HrefThe party's href. -
id(required): string
Title:
Party IDThe party's ID. -
name: string
Title:
Party NameThe party's name. -
role: string
Title:
Party RoleThe party's role.
400 Response
object-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
401 Response
object-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
403 Response
object-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
405 Response
object-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
409 Response
object-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
500 Response
object-
@baseType: string
This defines the super-class when sub-classing.
-
@schemaLocation: string
(uri)
A URI to a JSON-schema file that defines additional attributes and relationships.
-
@type: string
This defines the sub-class entity name when sub-classing.
-
code(required): string
Refers to application relevant detail, defined in the API or a common list.
-
message: string
More details and corrective actions related to the error which can be shown to a client user.
-
reason(required): string
Explanation of the reason for the error which can be shown to a client user.
-
referenceError: string
(uri)
URI of documentation describing the error.
-
status: string
Displays the HTTP error code extension.
Examples
The following examples shows how to create buckets (balance groups in BRM) by submitting POST requests on the REST resource using cURL. For more information about cURL, see Use cURL.
The -d option specifies the file to attach as the request body.
curl -X POST 'http://host:port/brm/prepayBalanceManagement/version/bucket' -d @bucketCreate.json
Example of Request Body for Creating a Currency Bucket
The following is an example of the contents of the bucketCreate.json file sent as the request body to create a currency bucket. It specifies both partyAccount and product, but only one is required. It also specifies the units for the remaining value, but this is optional. If you do not specify the unit, the default account currency is used.
{
"partyAccount": {
"id": "0.0.0.1+-account+2090314"
},
"product": [
{
"id": "0.0.0.1+-service-telco-gsm-telephony+2092746"
}
],
"remainingValue": {
"amount": 1000,
"units": "USD"
},
"validFor": {
"endDateTime": "2022-06-02T16:24:59+05:30",
"startDateTime": "2021-10-02T13:04:42+05:30"
},
"usageType": "monetary"
}
Example of Response Body for Creating a Currency Bucket
The following is an example of the response body in JSON format.
{
"id": "0.0.0.1+-balance_group+2090186+840+28",
"href": "https://host:port/brm/prepayBalanceManagement/v4/bucket/0.0.0.1+-balance_group+2090186+840+28",
"confirmationDate": null,
"description": null,
"isShared": null,
"name": "Balance Group (1)",
"remainingValueName": null,
"requestedDate": null,
"logicalResource": null,
"partyAccount": {
"id": "0.0.0.1+-account+2090314",
"href": null,
"description": null,
"name": "aa sa",
"status": "active",
"@baseType": null,
"@schemaLocation": null,
"@type": "PartyAccountRef",
"@referredType": null
},
"product": [
{
"id": "0.0.0.1+-service-telco-gsm-telephony+2092746",
"href": null,
"name": "ServiceTelcoGsmTelephony",
"@baseType": null,
"@schemaLocation": null,
"@type": "ProductRef",
"@referredType": null
}
],
"relatedParty": null,
"remainingValue": {
"amount": 1000.0,
"units": "USD",
"@baseType": null,
"@schemaLocation": null,
"@type": "Quantity"
},
"reservedValue": {
"amount": 0.0,
"units": "USD",
"@baseType": null,
"@schemaLocation": null,
"@type": "Quantity"
},
"status": "ACTIVE",
"usageType": null,
"validFor": {
"endDateTime": "2022-06-02T16:24:59+05:30",
"startDateTime": "2021-10-02T13:04:42+05:30",
"@baseType": null,
"@schemaLocation": null,
"@type": null
},
"@baseType": "Bucket",
"@schemaLocation": null,
"@type": "Bucket"
}
Example of Request Body for Creating a Noncurrency Bucket
The following is an example of the contents of the bucketCreate.json file sent as the request body to create a noncurrency bucket.
{
"partyAccount": {
"id": "0.0.0.1+-account+2090314"
},
"remainingValue": {
"amount": 9999,
"units": "Free Domestic Minutes"
},
"validFor": {
"endDateTime": "2023-05-02T16:24:59+05:30",
"startDateTime": "2021-04-02T13:04:42+05:30"
},
"usageType": "other"
}
You can also transfer noncurrency product balances, with or without a cost.
Example of Response Body for Creating a Noncurrency Bucket
The following is an example of the response body in JSON format.
{
"id": "0.0.0.1+-balance_group+2091210+1000010+4",
"href": "https://host:port/brm/prepayBalanceManagement/v4/bucket/0.0.0.1+-balance_group+2091210+1000010+4",
"confirmationDate": null,
"description": null,
"isShared": null,
"name": "Balance Group<Account>",
"remainingValueName": null,
"requestedDate": null,
"logicalResource": null,
"partyAccount": {
"id": "0.0.0.1+-account+2090314",
"href": null,
"description": null,
"name": "aa sa",
"status": "active",
"@baseType": null,
"@schemaLocation": null,
"@type": "PartyAccountRef",
"@referredType": null
},
"product": null,
"relatedParty": null,
"remainingValue": {
"amount": 9999.0,
"units": "Free Domestic Minutes",
"@baseType": null,
"@schemaLocation": null,
"@type": "Quantity"
},
"reservedValue": {
"amount": 0.0,
"units": "Free Domestic Minutes",
"@baseType": null,
"@schemaLocation": null,
"@type": "Quantity"
},
"status": "ACTIVE",
"usageType": null,
"validFor": {
"endDateTime": "2023-05-02T16:24:59+05:30",
"startDateTime": "2021-04-02T13:04:42+05:30",
"@baseType": null,
"@schemaLocation": null,
"@type": null
},
"@baseType": "Bucket",
"@schemaLocation": null,
"@type": "Bucket"
}