Skip to main content
PUT
/
api
/
billing
/
coworkercontracts
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
Updates an existing CoworkerContract 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 CoworkerContract-Edit role.

Enums

ValueName
1PriceTooHigh
2NewJobRelocation
3MovedToOtherSpace
4ChangeWorkEnvironment
5LackCommunityInterations
6PoorSpaceCondition
7OtherMembers
8Rellocated
9BusinessExpansion
10Pause
11Renewed
12Upgraded
13Downgraded
19Covid19
99Other
ValueName
1StoreForCollection
2Forward
3OpenScanForward
4OpenScanRecycle
5OpenScanShred
6OpenScanStoreForCollection
7Recycle
8ReturnToSender
9Shred
10DepositCheck
11Unknown

Request Body

Required Fields

Id
integer
required
The Id of the CoworkerContract record to update.
IssuedById
integer
required
Issued By Id.
CoworkerId
integer
required
Coworker Id.
TariffId
integer
required
Tariff Id.
BillingDay
integer
required
Day of month on which billing occurs.
Quantity
integer
required
Quantity.

Optional Fields

NextTariffId
integer
Next Tariff Id.
Notes
string
Free-text notes for this contract.
StartDate
string
Contract start date.
RenewalDate
string
Date on which the contract will next be automatically invoiced. Updated automatically every time the contract is invoiced, advancing by the plan’s renewal period.
InvoicedPeriod
string
Period the next invoice will cover. For new contracts this equals RenewalDate. If Tariff.AdvanceInvoiceCycles > 1, Nexudus invoices several periods at once on the first invoice, pushing InvoicedPeriod ahead of RenewalDate. Nexudus stops invoicing when InvoicedPeriod reaches the cancellation date.
ContractTerm
string
Minimum contract length end date. Defines the earliest date at which the contract can be cancelled without penalty.
Price
number
Fixed price override for this contract. If null, the contract uses the plan’s default price (TariffPrice).
Value
number
Contract value used in reporting to compare against the actual invoiced price.
Desks
integer[]
Desks.
AddedDesks
integer[]
Added Desks.
RemovedDesks
integer[]
Removed Desks.
Variants
integer[]
Variants.
AddedVariants
integer[]
Added Variants.
RemovedVariants
integer[]
Removed Variants.
PurchaseOrder
string
Purchase order.
IncludeSignupFee
boolean
Whether to include the plan’s signup fee when creating this contract.
InvoiceAdvancedCycles
boolean
Whether to invoice multiple billing cycles in advance on the first invoice, as configured by Tariff.AdvanceInvoiceCycles.
ApplyProRating
boolean
Whether to pro-rate the first invoice based on the contract start date relative to the billing cycle.
NextAutoInvoice
string
Date of the next automatic invoice generation for this contract.
PricePlanTermsAccepted
boolean
Whether the customer has accepted the plan’s terms and conditions.
CancellationDate
string
Date on which the contract will be cancelled. Nexudus stops invoicing when InvoicedPeriod reaches this date.
CancellationLimitDays
integer
Minimum number of days’ notice required before cancellation takes effect.
ProRateCancellation
boolean
Whether to pro-rate the final invoice when the contract is cancelled mid-cycle.
CancelTeamContracts
boolean
Whether to cascade cancellation to contracts of team members under this customer.
CancellationReason
integer
Reason for cancellation. See eCancellationReason? enum above.
CancellationNotes
string
Free-text notes about the cancellation.
DeliveryHandlingPreferenceChecks
integer
Delivery handling preference for checks. See eDeliveryHandlingPreference? enum above.
DeliveryHandlingPreferenceMail
integer
Delivery handling preference for mail. See eDeliveryHandlingPreference? enum above.
DeliveryHandlingPreferenceParcels
integer
Delivery handling preference for parcels. See eDeliveryHandlingPreference? enum above.
DeliveryHandlingPreferencePublicity
integer
Delivery handling preference for publicity. See eDeliveryHandlingPreference? enum above.
DeliveryInstructions
string
Free-text delivery instructions for this contract’s mail handling.
IdentityChecksDueOn
string
Date by which identity verification checks must be completed for this contract.
AddressChecksDueOn
string
Date by which address verification checks must be completed for this contract.
StartDateLocal
string
Start Date Local.
RenewalDateLocal
string
Renewal Date Local.
NextAutoInvoiceLocal
string
Next Auto Invoice Local.
PricePlanTermsAcceptedOnLocal
string
Price Plan Terms Accepted On Local.
CancellationDateLocal
string
Cancellation Date Local.
ContractTermLocal
string
Contract Term Local.
InvoicedPeriodLocal
string
Invoiced Period Local.
PoBoxNumber
string
PO box number.

Children

ContractSchedules
object[]
Scheduled future price changes for this contract. Each entry sets a new Price to apply on a given date

Code Examples

curl -X PUT \
  "https://spaces.nexudus.com/api/billing/coworkercontracts" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "IssuedById": 0,
    "CoworkerId": 0,
    "TariffId": 0,
    "BillingDay": 0,
    "Quantity": 0,
    "Id": 87654321,
    "ContractSchedules": [
        {
            "Price": null,
            "ApplyOn": "2025-01-15T10:30:00Z"
        }
    ]
}'

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 coworkercontract was updated successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "CoworkerContract 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": "PriceWithProductsAndDeposits: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "PriceWithProductsAndDeposits"
    }
  ],
  "WasSuccessful": false
}