Skip to main content
POST
Create ProposalContract
A ProposalContract is one quoted contract inside a proposal. It carries the same plan, unit, price, date, and quantity settings as a customer contract and becomes a real contract for the customer when the proposal is accepted. One is created automatically with the proposal from the proposal’s own contract fields; add more to quote several contracts in a single offer. Changes to the plan, units, price, or dates of an existing proposal belong here rather than on the proposal itself.

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 ProposalContract-Create role.

Request Body

Required Fields

integer
required
ID of the proposal this quoted contract belongs to; required, and the proposal’s issuing location owns this record..
integer
required
ID of the plan quoted by this contract; required, and its billing interval, price, and policies govern the contract the customer receives on acceptance..
integer
required
Day of the month, from 1 to 28, on which the contract is invoiced after acceptance..
integer
required
Number of plan units on this quoted contract, at least 1; it multiplies the unit price..

Optional Fields

integer[]
List of IDs of the floor-plan units assigned to this quoted contract; each unit must belong to a location the user can access, an empty list means no unit is attached, and these are the units the customer receives on acceptance..
integer[]
List of IDs of the floor-plan unit packages assigned to this quoted contract; each package must belong to one of the units listed in Desks and to a location the user can access..
number
Optional per-unit price override for this quoted contract, in the issuing location’s currency; when empty the plan’s own price is used before quantity is applied..
string
Date the contract starts once the proposal is accepted; when empty, acceptance starts it the day after the proposal is accepted..
integer
Optional minimum cancellation notice, in days before the next billing day; when empty the plan’s own notice period applies..
string
Optional end date of the minimum contract term, carried onto the customer contract on acceptance; when empty the contract derives its own term from the plan’s default term and start date..
string
Optional date on which the contract ends; leave it empty for an open-ended contract..
integer
Optional ID of a discount code carried onto the customer contract when the proposal is accepted..

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 proposalcontract 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