Create Commitment - m3ter Documentation
Create Commitment
cURL
curl --request POST \
--url https://api.m3ter.com/organizations/{orgId}/commitments \
--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 Example
import requests
url = "https://api.m3ter.com/organizations/{orgId}/commitments"
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.post(url, json=payload, headers=headers)
print(response.text)
Other Examples
JavaScript (Fetch)
const options = {
method: 'POST',
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', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP Example
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.m3ter.com/organizations/{orgId}/commitments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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;
}
?>
Response Example
{
"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>"
}
Error Response
{
"message": "<string>"
}