Update Commitment - m3ter Documentation
Update Commitment
cURL
curl --request PUT \
--url https://api.m3ter.com/organizations/{orgId}/commitments/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accountId": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"currency": "<string>",
"amount": 1,
"version": 123,
"billingPlanId": "<string>",
"productIds": [
"<string>"
],
"amountPrePaid": 1,
"amountFirstBill": 1,
"overageSurchargePercent": 123,
"separateOverageUsage": true,
"billingInterval": 183,
"billingOffset": 182,
"commitmentFeeDescription": "<string>",
"commitmentUsageDescription": "<string>",
"overageDescription": "<string>",
"commitmentFeeBillInAdvance": true,
"billEpoch": "2023-12-25",
"contractId": "<string>",
"accountingProductId": "<string>",
"feesAccountingProductId": "<string>",
"drawdownsAccountingProductId": "<string>",
"feeDates": [
{
"date": "2023-12-25",
"amount": 1,
"servicePeriodStartDate": "2023-11-07T05:31:56Z",
"servicePeriodEndDate": "2023-11-07T05:31:56Z"
}
],
"childBillingMode": "<unknown>",
"lineItemTypes": []
}
'
Python Code
import requests
url = "https://api.m3ter.com/organizations/{orgId}/commitments/{id}"
payload = {
"accountId": "<string>",
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"currency": "<string>",
"amount": 1,
"version": 123,
"billingPlanId": "<string>",
"productIds": ["<string>"],
"amountPrePaid": 1,
"amountFirstBill": 1,
"overageSurchargePercent": 123,
"separateOverageUsage": True,
"billingInterval": 183,
"billingOffset": 182,
"commitmentFeeDescription": "<string>",
"commitmentUsageDescription": "<string>",
"overageDescription": "<string>",
"commitmentFeeBillInAdvance": True,
"billEpoch": "2023-12-25",
"contractId": "<string>",
"accountingProductId": "<string>",
"feesAccountingProductId": "<string>",
"drawdownsAccountingProductId": "<string>",
"feeDates": [
{
"date": "2023-12-25",
"amount": 1,
"servicePeriodStartDate": "2023-11-07T05:31:56Z",
"servicePeriodEndDate": "2023-11-07T05:31:56Z"
}
],
"childBillingMode": "<unknown>",
"lineItemTypes": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch)
const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
accountId: '<string>',
startDate: '2023-12-25',
endDate: '2023-12-25',
currency: '<string>',
amount: 1,
version: 123,
billingPlanId: '<string>',
productIds: ['<string>'],
amountPrePaid: 1,
amountFirstBill: 1,
overageSurchargePercent: 123,
separateOverageUsage: true,
billingInterval: 183,
billingOffset: 182,
commitmentFeeDescription: '<string>',
commitmentUsageDescription: '<string>',
overageDescription: '<string>',
commitmentFeeBillInAdvance: true,
billEpoch: '2023-12-25',
contractId: '<string>',
accountingProductId: '<string>',
feesAccountingProductId: '<string>',
drawdownsAccountingProductId: '<string>',
feeDates: [
{
date: '2023-12-25',
amount: 1,
servicePeriodStartDate: '2023-11-07T05:31:56Z',
servicePeriodEndDate: '2023-11-07T05:31:56Z'
}
],
childBillingMode: '<unknown>',
lineItemTypes: []
})
};
fetch('https://api.m3ter.com/organizations/{orgId}/commitments/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP Code
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.m3ter.com/organizations/{orgId}/commitments/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'accountId' => '<string>',
'startDate' => '2023-12-25',
'endDate' => '2023-12-25',
'currency' => '<string>',
'amount' => 1,
'version' => 123,
'billingPlanId' => '<string>',
'productIds' => [
'<string>'
],
'amountPrePaid' => 1,
'amountFirstBill' => 1,
'overageSurchargePercent' => 123,
'separateOverageUsage' => true,
'billingInterval' => 183,
'billingOffset' => 182,
'commitmentFeeDescription' => '<string>',
'commitmentUsageDescription' => '<string>',
'overageDescription' => '<string>',
'commitmentFeeBillInAdvance' => true,
'billEpoch' => '2023-12-25',
'contractId' => '<string>',
'accountingProductId' => '<string>',
'feesAccountingProductId' => '<string>',
'drawdownsAccountingProductId' => '<string>',
'feeDates' => [
[
'date' => '2023-12-25',
'amount' => 1,
'servicePeriodStartDate' => '2023-11-07T05:31:56Z',
'servicePeriodEndDate' => '2023-11-07T05:31:56Z'
]
],
'childBillingMode' => '<unknown>',
'lineItemTypes' => []
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
Go Code
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.m3ter.com/organizations/{orgId}/commitments/{id}"
payload := strings.NewReader("{\n \"accountId\": \"<string>\",\n \"startDate\": \"2023-12-25\",\n \"endDate\": \"2023-12-25\",\n \"currency\": \"<string>\",\n \"amount\": 1,\n \"version\": 123,\n \"billingPlanId\": \"<string>\",\n \"productIds\": [\n \"<string>\"\n ],\n \"amountPrePaid\": 1,\n \"amountFirstBill\": 1,\n \"overageSurchargePercent\": 123,\n \"separateOverageUsage\": true,\n \"billingInterval\": 183,\n \"billingOffset\": 182,\n \"commitmentFeeDescription\": \"<string>\",\n \"commitmentUsageDescription\": \"<string>\",\n \"overageDescription\": \"<string>\",\n \"commitmentFeeBillInAdvance\": true,\n \"billEpoch\": \"2023-12-25\",\n \"contractId\": \"<string>\",\n \"accountingProductId\": \"<string>\",\n \"feesAccountingProductId\": \"<string>\",\n \"drawdownsAccountingProductId\": \"<string>\",\n \"feeDates\": [\n {\n \"date\": \"2023-12-25\",\n \"amount\": 1,\n \"servicePeriodStartDate\": \"2023-11-07T05:31:56Z\",\n \"servicePeriodEndDate\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"childBillingMode\": \"<unknown>\",\n \"lineItemTypes\": []\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response Structure
{
"id": "<string>",
"version": 123,
"accountId": "<string>",
"billingPlanId": "<string>",
"productIds": ["<string>"],
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"currency": "<string>",
"amount": 123,
"amountPrePaid": 123,
"amountFirstBill": 123,
"amountSpent": 123,
"overageSurchargePercent": 123,
"separateOverageUsage": true,
"billingInterval": 123,
"billingOffset": 123,
"commitmentFeeDescription": "<string>",
"commitmentUsageDescription": "<string>",
"overageDescription": "<string>",
"commitmentFeeBillInAdvance": true,
"billEpoch": "2023-12-25",
"contractId": "<string>",
"accountingProductId": "<string>",
"feesAccountingProductId": "<string>",
"drawdownsAccountingProductId": "<string>",
"feeDates": [
{
"date": "2023-12-25",
"amount": 1,
"servicePeriodStartDate": "2023-11-07T05:31:56Z",
"servicePeriodEndDate": "2023-11-07T05:31:56Z"
}
],
"lineItemTypes": [],
"dtCreated": "2023-11-07T05:31:56Z",
"dtLastModified": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"lastModifiedBy": "<string>"
}