Skip to main content
POST
/
api
/
billing
/
contractschedules
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
A ContractSchedule defines a future price change for a plan contract (CoworkerContract). On the date specified by ApplyOn, the system automatically updates the contract’s price to the value in Price. Schedules allow operators to pre-configure stepped pricing — for example, an introductory rate for the first few months that transitions to a full rate on a known date — without any manual intervention at the time of the change. Once a schedule has been processed, Applied is set to true and the record becomes read-only.

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

Request Body

Required Fields

CoworkerContractId
integer
required
Coworker Contract Id.
ApplyOn
string
required
Date on which the system will automatically update the contract price to the value in Price.

Optional Fields

Notes
string
Optional notes or internal comments about this scheduled price change.
Price
number
The new contract price to apply on the scheduled date.
ApplyOnLocal
string
Apply On Local.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/billing/contractschedules" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "CoworkerContractId": 0,
    "ApplyOn": "2025-01-15T10:30:00Z"
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the creation.
Value
object
Contains the Id of the newly created record.
WasSuccessful
boolean
true if the contractschedule was created successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "ContractSchedule was successfully created.",
  "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": "ApplyOn: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "ApplyOn"
    }
  ],
  "WasSuccessful": false
}