Request Payload Extensions
You can extend the payloads of BRM REST Services Manager API POST requests to include additional attributes.
This document shows the additional payload attributes that are supported for each TMF Open API:
- TMF 678: Customer Bill Management API
- TMF 676: Payment Management API
- TMF 654: Prepay Balance Management API
- TMF 670: Payment Method Management API
TMF 678: Customer Bill Management API
You can add the following attributes to the payload of the following Customer Bill Management API endpoints.
Create Customer Bill On Demand endpoint
-
Extended attributes:
Create a bill for a billing cycle specification (billingCycleSpecification.id)
-
Example syntax:
{ "@type":"CustomerBillOnDemand_CreateOracle", "billingAccount":{ "id":"0.0.0.1+-account+341286" }, "billingCycleSpecification":{ "id":"0.0.0.1+-billinfo+342822" } }
TMF 676: Payment Management API
You can add the following attributes to the payload of the following Payment Management API endpoints.
Create a Payment endpoint
-
Extended attributes:
- A billing cycle specification (billingCycleSpecification.id)
The payment method in the request must be associated with the billing cycle specification (bill unit) to which the payment will be allocated.
You can find the payment method associated with a billing cycle specification by submitting a GET request to the /billingCycleSpecification/{id} endpoint with the @type=billingCycleSpecificationOracle query parameter. The paymentProfile.id attribute in the response contains the correct payment method ID.
- Bills (bills)
You can specify one or more bills in the array, but they must all belong to the same billing cycle specification.
You can find out what billing cycle specification a bill belongs to by submitting a GET request to the /customerBill/{id} endpoint with the @type=CustomerBillOracle query parameter.
- A bill number (bills.id)
The bill number in the request must be associated with the billing cycle specification (bill unit) to which the payment will be allocated.
- A billing cycle specification (billingCycleSpecification.id)
-
Example syntax:
{ "@type": "Payment_CreateOracle", "account": { "id": "0.0.0.1+-account+213214" }, "paymentMethod": { "id": "0.0.0.1+-payinfo-cc+219136" }, "totalAmount": { "value": 400, "unit": "USD" }, "description": "New Payment", "billingCycleSpecification": { "id": "0.0.0.1+-billinfo+216286" }, "bills": [ { "id": "B1-123", "amount": { "value": 200 } }, { "id": "0.0.0.1+-bill+220253", "amount": { "value": 200 } } ] }
Create a Payment Allocation for a Bill endpoint
-
Extended attributes:
A bill ID or bill number (bill.id)
-
Example syntax:
{ "paymentId": "0.0.0.1+-item-payment+91630", "bill": [ { "id": "B1-123", "allocatedAmount": { "value": "50", "unit": "USD" } } ] }
TMF 654: Prepay Balance Management API
You can add the following attributes to the payload of the following Prepay Balance Management API endpoints.
Create a Disputed Balance endpoint
-
Extended attributes:
Create an adjustment for a bill, item, or event ID or number (bieId.id)
-
Example syntax:
The following is an example of a request body for creating a disputed balance for events by including the bieId.id property set to a bill number.
{ "description": "Bill Dispute", "reason": "1", "amount": { "amount": -15.00, "units": "USD" }, "bieId": [ { "id": "B1-3" }, ], "taxTreatment": "TaxExcluded" }
TMF 670: Payment Method Management API
You can add the following attributes to the payload of all Payment Method Management API endpoints.
- SEPA: Specifies SEPA payments.
Example syntax:
The following is an example of a request body for creating a payment method by including the SEPA attribute.
{ "id": "payment-sepa-complete-1", "name": "Complete SEPA Payment", "description": "SEPA payment with all supported fields", "account": [ { "id": "payment_account_euro" } ], "isPreferred": false, "@type": "sepa", "@baseType": "PaymentMethodOracle", "status": "inactive", "BIC": "DEUTDEFF", "bankAccountNumber": "DE89370400440532013000", "sepaName": "Primary SEPA Mandate", "city": "Frankfurt", "street": "Mainzer Landstrasse 1", "postCode": "60329", "country": "DE", "mandateSignedDate": "2026-01-01T08:40:00Z", "mandateType": "Recurring", "creditorId": "DE98ZZZ09999999999", "creditorName": "Oracle Deutschland" } - Invoice: Specifies monthly invoices.
Example syntax:
The following is an example of a request body for creating a payment method by including the Invoice attribute.{ "id": "payment-invoice-complete-1", "name": "Complete Invoice Payment", "description": "Invoice payment with all supported fields", "account": [ { "id": "payment_account_usa" } ], "isPreferred": false, "@type": "invoice", "@baseType": "PaymentMethodOracle", "status": "inactive", "emailAddress": "invoice@example.com", "invoiceName": "Primary Invoice", "invoiceDescription": "Monthly invoice delivery", "city": "Bengaluru", "street": "Oracle Tech Park", "stateOrProvince": "Karnataka", "postCode": "560037", "country": "IN", "mediumType": "emailAddress" }