Skip to main content
POST
Create ContractDeposit
A contract deposit (internally ContractDeposit) is a one-time product charge attached to a customer’s contract, normally created from a plan’s sign-up products. Creating a new contract from a plan with sign-up products creates one deposit for each product and sets the contract’s IncludeSignupFee flag to true. Deposits are charged on the next eligible contract invoice only while IncludeSignupFee is true; that invoicing run then resets the flag to false. A deposit marked InvoiceDuringOnlineCheckout is instead charged during the customer’s online checkout. A refundable deposit can be processed through the dedicated refund workflow after the contract ends.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the ContractDeposit-Create role.

Request Body

Required Fields

integer
required
ID of the customer’s contract; it determines this deposit’s location, customer, plan, and invoice cycle..
integer
required
ID of the location product charged for this deposit; its current price is used when Price is null..

Optional Fields

string
Optional operator notes about this deposit..
number
Optional deposit amount in the location’s currency; when null, the linked product’s current price is used..
boolean
Whether cancelling the contract makes this deposit eligible for the dedicated refund workflow, which creates a negative sale that can be included in a credit note..
boolean
Whether this deposit is charged during the customer’s online checkout instead of waiting for the contract’s next eligible invoice..

Code Examples

Response

200

integer
HTTP status code. 200 on success.
string
A human-readable message confirming the creation.
object
Contains the Id of the newly created record.
boolean
true if the contractdeposit was created successfully.
array
null on success.
Example Response

400

string
A summary of the validation error(s), in the format PropertyName: error message.
any
null on validation failure.
object[]
Array of validation errors.
boolean
false when the request fails validation.
Example Response