Skip to main content
POST
Create Proposal
A Proposal bundles one or more contracts (ProposalContract records) that are presented to a customer for review and acceptance. Each ProposalContract carries the same properties as a CoworkerContract and becomes one when the proposal is accepted. When a Proposal is created, a ProposalContract is automatically created and associated with it. From that point on, the contract-related fields on the Proposal (TariffId, Desks, Variants, Price, StartDate, CancellationLimitDays, ContractTerm, CancellationDate, ExpirationDate, BillingDay, Quantity) become read-only — they are all createOnly. Subsequent edits to those values must be made via the associated ProposalContract. Additional ProposalContract records can also be added. Proposals support three optional attachments:
  • DocumentToSendId — a DocumentTemplate entity presented to the customer instead of the standard price-schedule table before the proposal is accepted.
  • DocumentToSignId — a DocumentTemplate entity used to generate a document for e-signature.
  • ProposalFile — a file shown as a downloadable link before the proposal is accepted.
Set DoNotIssueInvoice to control whether the first invoice is issued automatically when the proposal is accepted.

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

Enums

Request Body

Required Fields

integer
required
ID of the issued by linked to this record.
integer
required
ID of the responsible linked to this record.
integer
required
ID of the coworker linked to this record.
string
required
Proposal reference.
integer
required
Proposal status. Defaults to eProposalStatus.Draft.
integer
required
ID of the tariff linked to this record.
integer
required
Billing day of month for the initial contract. Becomes read-only after creation; edit via ProposalContract.
integer
required
Quantity for the initial contract. Becomes read-only after creation; edit via ProposalContract.

Optional Fields

string
Optional notes or comments about this proposal.
integer
ID of the document to send linked to this record.
integer
ID of the document to sign linked to this record.
string
The document to sign html value for this proposal.
string
URL of a new file to upload as the document to sign binary document.
boolean
Set to true to remove the current document to sign binary document file.
string
The document to send html value for this proposal.
string
URL of a new file to upload as the document to send binary document.
boolean
Set to true to remove the current document to send binary document file.
string
URL of a new file to upload as the proposal file.
boolean
Set to true to remove the current proposal file file.
integer[]
List of desks linked to this record.
integer[]
List of variants linked to this record.
number
Price override for the initial contract. Becomes read-only after creation; edit via ProposalContract.
string
Start date for the initial contract. Becomes read-only after creation; edit via ProposalContract.
integer
Cancellation limit in days for the initial contract. Becomes read-only after creation; edit via ProposalContract.
string
Contract term end date for the initial contract. Becomes read-only after creation; edit via ProposalContract.
string
Cancellation date for the initial contract. Becomes read-only after creation; edit via ProposalContract.
string
Proposal expiration date. Becomes read-only after creation; edit via ProposalContract.
integer
ID of the discount code linked to this record.
string
Date/time value for start date local.
string
Date/time value for sent on local.
boolean
If true, the first invoice is not issued automatically 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 proposal 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