insertContractBudgets
insertContractBudgets
Overview
This method inserts new budget entries for one or more contracts, for example adjustment entries.
If the contract has a suspend date, a ContractSuspended 422 validation error is returned, unless the fm / invoice_suspended_contracts_flag global control is set to yes. In that case, an adjustment can be inserted on a suspended (or terminated) contract.
This method requires the ContractBudgets:Insert permission to be associated with your role.
Permissions
The permission for this api is stored in [gb_api_permissions]permission as 'ContractBudgets:Insert'.
Only roles with a stored link to this permission in [gb_role_api_permissions] can run this api.
HTTP Method
Use the HTTP Method 'POST' for consuming this web service.
URL Examples
https://api.demo.catch-e.com/fm/contract/budgets/insert https://api.{{environment}}.catch-e.com/fm/contract/budgets/insert https://api.test.catch-e.com/fm/contract/budgets/insert Input Fields (Header)
Input Fields (JSON)
Send an array of budget entries.
budgets
The budgets object uses each posting class code as a property name (for example FIN, MAINT, REG). Each property holds the amounts for that posting class:
Example
[ { "contract_id": "5678", "billing_period": 3, "billing_date": "2026-03-12", "payment_method": "direct-debit", "budgets": { "FIN": { "amount_net": -50.0, "amount_gst": -5.0 }, "MAINT": { "amount_net": 20.0 } } } ] Response Details
Success
201 - Created
{ "affected_records": 4 } Error Response Details
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unauthorized", "status": 401, "detail": "Unauthorized" } { "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Forbidden", "status": 403, "detail": "Forbidden" } { "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Not Acceptable", "status": 406, "detail": "Not Acceptable" } { "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unsupported Media Type", "status": 415, "detail": "Not Acceptable" } { "warning_messages": {}, "validation_messages": { "fieldName": { "validationExceptionCode": "A textual description of the validation exception" } }, "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unprocessable Entity", "status": 422, "detail": "Failed Validation" } { "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Locked", "status": 423, "detail": "Locked" } { "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "string", "status": 599, "detail": "string" } { "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "string", "status": 599, "detail": "string" }