Skip to main content
PUT
/
api
/
billing
/
proposalcontracts
Update ProposalContract
curl --request PUT \
  --url https://spaces.nexudus.com/api/billing/proposalcontracts \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "Id": 123,
  "ProposalId": 123,
  "TariffId": 123,
  "BillingDay": 123,
  "Quantity": 123
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
Updates an existing ProposalContract record. You must include the Id of the record to update along with all required fields.

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-Edit role.

Request Body

Required Fields

Id
integer
required
The Id of the ProposalContract record to update.
ProposalId
integer
required
ID of the proposal linked to this record.
TariffId
integer
required
ID of the tariff linked to this record.
BillingDay
integer
required
Billing day of month.
Quantity
integer
required
Number of units.

Optional Fields

Desks
integer[]
List of desks linked to this record.
AddedDesks
integer[]
The added desks value for this proposal contract.
RemovedDesks
integer[]
The removed desks value for this proposal contract.
Variants
integer[]
List of variants linked to this record.
AddedVariants
integer[]
The added variants value for this proposal contract.
RemovedVariants
integer[]
The removed variants value for this proposal contract.
Price
number
Price override.
StartDate
string
Contract start date.
CancellationLimitDays
integer
Cancellation limit in days.
ContractTerm
string
Contract term end date.
CancellationDate
string
Cancellation date.
DiscountCodeId
integer
ID of the discount code linked to this record.

Code Examples

curl -X PUT \
  "https://spaces.nexudus.com/api/billing/proposalcontracts" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ProposalId": 0,
    "TariffId": 0,
    "BillingDay": 0,
    "Quantity": 0,
    "Id": 87654321
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the update.
Value
object
Contains the Id of the updated record.
WasSuccessful
boolean
true if the proposalcontract was updated successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "ProposalContract was successfully updated.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}

400

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}