Skip to main content
PUT
/
api
/
billing
/
tariffs
Update Tariff
curl --request PUT \
  --url https://spaces.nexudus.com/api/billing/tariffs \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "Id": 123,
  "BusinessId": 123,
  "Name": "<string>",
  "SystemTariffType": 123,
  "Price": 123,
  "CurrencyId": 123,
  "CancellationPeriod": 123,
  "DisplayOrder": 123,
  "InvoiceEvery": 123,
  "InvoiceEveryWeeks": 123,
  "BookingDueDateStrategy": 123,
  "AddressIdentityCheckProvider": 123,
  "AddressIdentityCheckRepeatPattern": 123,
  "IdentityCheckProvider": 123,
  "IdentityCheckRepeatPattern": 123,
  "DeliveryPreferencesMail": 123,
  "DeliveryPreferencesParcels": 123,
  "DeliveryPreferencesChecks": 123,
  "DeliveryPreferencesPublicity": 123,
  "DeliveryPreferencesOther": 123
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
Updates an existing Tariff 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 Tariff-Edit role.

Enums

ValueName
1FullTimePrivateOffice
2PartTimePrivateOffice
3FullTimeDedicatedDesk
4PartTimeDedicatedDesk
5FullTimeHotDesk
6PartTimeHotDesk
7FullTimeOther
8PartTimeOther
9Storage
10VirtualOffice
11Virtual
99Other
ValueName
1RenewalDate
2BookingEndDate
3BookingCreationDate
4NextNthOfMonth
ValueName
1Manual
2StripeIdentity
ValueName
1Never
2Every3Months
3Every6Months
4Every12Months
5Every24Months
ValueName
1StoreForCollection
2Forward
3OpenScanForward
4OpenScanRecycle
5OpenScanShred
6OpenScanStoreForCollection
7Recycle
8ReturnToSender
9Shred
10DepositCheck
11Unknown

Request Body

Required Fields

Id
integer
required
The Id of the Tariff record to update.
BusinessId
integer
required
ID of the business linked to this record.
Name
string
required
Plan name.
SystemTariffType
integer
required
Category of the plan: FullTimePrivateOffice, PartTimePrivateOffice, FullTimeDedicatedDesk, PartTimeDedicatedDesk, FullTimeHotDesk, PartTimeHotDesk, FullTimeOther, PartTimeOther, Storage, VirtualOffice, Virtual, or Other.
Price
number
required
Recurring price charged per billing cycle.
CurrencyId
integer
required
ID of the currency linked to this record.
CancellationPeriod
integer
required
Number of days’ notice required before a contract can be cancelled.
DisplayOrder
integer
required
Display order on the members portal (lower numbers appear first).
InvoiceEvery
integer
required
Billing cycle length in months. Set to 0 if billing by weeks instead.
InvoiceEveryWeeks
integer
required
Billing cycle length in weeks. Set to 0 if billing by months instead.
BookingDueDateStrategy
integer
required
Strategy for determining when booking charges are due: RenewalDate, BookingEndDate, BookingCreationDate, or NextNthOfMonth.
AddressIdentityCheckProvider
integer
required
Provider used for address identity checks: Manual or StripeIdentity.
AddressIdentityCheckRepeatPattern
integer
required
How often to repeat the address identity check: Never, Every3Months, Every6Months, Every12Months, or Every24Months.
IdentityCheckProvider
integer
required
Provider used for identity checks: Manual or StripeIdentity.
IdentityCheckRepeatPattern
integer
required
How often to repeat the identity check: Never, Every3Months, Every6Months, Every12Months, or Every24Months.
DeliveryPreferencesMail
integer
required
Allowed handling preferences for mail deliveries (virtual office).
DeliveryPreferencesParcels
integer
required
Allowed handling preferences for parcel deliveries (virtual office).
DeliveryPreferencesChecks
integer
required
Allowed handling preferences for check deliveries (virtual office).
DeliveryPreferencesPublicity
integer
required
Allowed handling preferences for publicity deliveries (virtual office).
DeliveryPreferencesOther
integer
required
Allowed handling preferences for other deliveries (virtual office).

Optional Fields

DefaultInvoicingDay
integer
Day of the month on which invoices are generated for members on this plan.
Visible
boolean
Whether the plan is visible to customers on the members portal and mobile app.
AvailableToAi
boolean
Whether this plan is available to any AI channels (Email, Chat or WhatsApp) for recommendations for private offices;.
NotesForAi
string
Custom notes provided to the AI assistant when describing this plan.
ShowPriceForAi
boolean
Whether to show the plan price to the AI assistant.
PriceForAi
number
Custom price shown to the AI assistant instead of the actual price.
UseTimePasses
boolean
Whether this plan uses time passes for check-in access.
Description
string
Plan description shown to customers.
InvoiceLineDisplayAs
string
Custom text shown on the invoice line instead of the plan name.
SignUpFee
number
One-off fee charged when a customer first signs up to this plan.
TaxRateId
integer
Standard tax rate applied to charges on this plan.
ReducedTaxRateId
integer
Reduced tax rate applied when applicable.
ExemptTaxRateId
integer
Tax-exempt rate applied when applicable.
FinancialAccountId
integer
Financial account used for revenue tracking.
TermsAndConditions
string
Terms and conditions text that members must accept when signing up.
NewContractDocumentUrl
string
URL to upload a new contract document template.
ClearContractDocumentFile
boolean
Set to true to remove the uploaded contract document file.
GroupName
string
Group name used to visually group plans together on the members portal.
DisablePortalCancellations
boolean
Prevents members from cancelling this plan through the members portal.
SubscribersLimit
integer
Maximum number of members that can be signed up to this plan at any time.
CancellationLimitDays
integer
Minimum number of days a contract must be active before it can be cancelled.
DefaultContractTerm
integer
Default minimum contract term in months for new sign-ups.
CancelMemeberAccountAfter
integer
Number of days after contract cancellation before the member account is deactivated.
CheckinPricePlanLimit
integer
Maximum number of check-ins included per billing cycle.
CheckinMonthLimit
integer
Maximum number of check-ins allowed per month.
CheckinWeekLimit
integer
Maximum number of check-ins allowed per week.
VisitorMonthLimit
integer
Maximum number of visitor passes allowed per month.
VisitorWeekLimit
integer
Maximum number of visitor passes allowed per week.
VisitorDayLimit
integer
Maximum number of visitor passes allowed per day.
HoursPricePlanLimit
integer
Maximum number of hours included per billing cycle.
HoursMonthLimit
integer
Maximum number of hours allowed per month.
HoursWeekLimit
integer
Maximum number of hours allowed per week.
BookingMinuteWeekLimit
integer
Maximum booking minutes allowed per week.
BookingMinuteMonthLimit
integer
Maximum booking minutes allowed per month.
DiscountExtraServices
number
Discount percentage for extra services.
DiscountTimePasses
number
Discount percentage for time passes.
DiscountCharges
number
Discount percentage for charges.
AutoCancelAfter
integer
Number of days after which the contract is automatically cancelled if not paid.
AdvanceInvoiceCycles
integer
Number of billing cycles to invoice in advance.
ProrateDayOfMonth
integer
Day of the month used to align billing cycles when prorating.
ProrateDaysBefore
integer
Number of days before the prorate day to start prorating.
ProrateCancellations
boolean
Whether to prorate the final invoice when a contract is cancelled mid-cycle.
ChargeAndExtend
integer
Number of days to extend a contract after payment is received.
ExcludeFromInvoice
boolean
Whether to exclude this plan’s charges from member invoices.
AutoRaiseInvoices
boolean
Whether to automatically generate invoices at the end of each billing cycle.
RaiseInvoiceEvery
integer
Raise invoice every N months.
RaiseInvoiceEveryWeeks
integer
Raise invoice every N weeks.
MinimumPrice
number
Minimum total amount charged per billing cycle regardless of usage.
MinimumPriceIncludeTimePasses
boolean
Whether time pass charges count towards the minimum price.
MinimumPriceIncludeExtraServices
boolean
Whether extra service charges count towards the minimum price.
MinimumPriceIncludeEvents
boolean
Whether event charges count towards the minimum price.
Archived
boolean
Whether the plan is archived and no longer available for new sign-ups.
Starred
boolean
Whether the plan is starred (highlighted) on the members portal.
KeepNewAccountsOnHold
boolean
Whether new sign-ups are kept on hold until manually approved.
CanBePaused
boolean
Whether members can pause their contract on this plan.
PauseYearlyLimit
integer
Maximum number of times a contract can be paused per year.
PauseCyclesLimit
integer
Maximum number of billing cycles a contract can be paused for.
BookingDueDateDayOfMonth
integer
Day of the month used when BookingDueDateStrategy is NextNthOfMonth.
IsVirtualOffice
boolean
Whether this is a virtual office plan with mail handling features.
WaitForIdentityChecksToActivate
boolean
Whether to keep the contract on hold until all required identity checks are completed.
RequestAddressIdentityCheck
boolean
Whether to request an address identity check from members signing up to this plan.
AddressIdentityCheckDescription
string
Instructions shown to members when completing the address identity check.
KeepPausedIfAddressMismatch
boolean
Whether to keep the contract paused if the address identity check reveals a mismatch.
RequestIdentityCheck
boolean
Whether to request an identity (ID document) check from members signing up to this plan.
IdentityCheckDescription
string
Instructions shown to members when completing the identity check.
RequestAmlCheck
boolean
Whether to request an AML check from members signing up to this plan.
AmlCheckOpenSanctionsEnabled
boolean
Whether to enable AML checks against the OpenSanctions dataset.
AmlCheckPappersEnabled
boolean
Whether to enable AML checks against the Pappers dataset.
AmlCheckOpenSanctionsDataset
string
Which OpenSanctions dataset to check against for AML screening (e.g. ‘default’).
AmlCheckScoreThreshold
number
Score threshold for AML checks, between 0 and 1. Matches with a score above this threshold will be considered a positive match. Default is 0.7.
SendOnBoardingFormByEmail
boolean
Whether to email the onboarding form to new members signing up to this plan.
FormPageId
integer
ID of the onboarding form page sent to new members.
ProductsStore
integer[]
Product IDs for mail stored for collection (virtual office).
AddedProductsStore
integer[]
The added products store value for this tariff.
RemovedProductsStore
integer[]
The removed products store value for this tariff.
ProductsForward
integer[]
Product IDs for mail forwarding (virtual office).
AddedProductsForward
integer[]
The added products forward value for this tariff.
RemovedProductsForward
integer[]
The removed products forward value for this tariff.
ProductsRecycle
integer[]
Product IDs for mail recycling (virtual office).
AddedProductsRecycle
integer[]
The added products recycle value for this tariff.
RemovedProductsRecycle
integer[]
The removed products recycle value for this tariff.
ProductsShred
integer[]
Product IDs for mail shredding (virtual office).
AddedProductsShred
integer[]
The added products shred value for this tariff.
RemovedProductsShred
integer[]
The removed products shred value for this tariff.
ProductsScan
integer[]
Product IDs for mail scanning (virtual office).
AddedProductsScan
integer[]
The added products scan value for this tariff.
RemovedProductsScan
integer[]
The removed products scan value for this tariff.
ProductsReturn
integer[]
Product IDs for returning mail to sender (virtual office).
AddedProductsReturn
integer[]
The added products return value for this tariff.
RemovedProductsReturn
integer[]
The removed products return value for this tariff.
ProductsDeposit
integer[]
Product IDs for check deposits (virtual office).
AddedProductsDeposit
integer[]
The added products deposit value for this tariff.
RemovedProductsDeposit
integer[]
The removed products deposit value for this tariff.
ProductsCollect
integer[]
Product IDs for mail collection (virtual office).
AddedProductsCollect
integer[]
The added products collect value for this tariff.
RemovedProductsCollect
integer[]
The removed products collect value for this tariff.
MaximumDeliveryStorageDays
integer
Maximum number of days deliveries are stored before being returned (virtual office).
MaximumCompanyAliases
integer
Maximum number of company name aliases allowed for mail handling (virtual office).
MaximumRecipients
integer
Maximum number of mail recipients allowed (virtual office).
MaximumAddresses
integer
Maximum number of forwarding addresses allowed (virtual office).
TransferProductsToContract
boolean
Whether to automatically transfer mail handling products to the member’s contract.

Code Examples

curl -X PUT \
  "https://spaces.nexudus.com/api/billing/tariffs" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BusinessId": 0,
    "Name": "",
    "SystemTariffType": 0,
    "Price": 0,
    "CurrencyId": 0,
    "CancellationPeriod": 0,
    "DisplayOrder": 0,
    "InvoiceEvery": 0,
    "InvoiceEveryWeeks": 0,
    "BookingDueDateStrategy": 0,
    "AddressIdentityCheckProvider": 0,
    "AddressIdentityCheckRepeatPattern": 0,
    "IdentityCheckProvider": 0,
    "IdentityCheckRepeatPattern": 0,
    "DeliveryPreferencesMail": 0,
    "DeliveryPreferencesParcels": 0,
    "DeliveryPreferencesChecks": 0,
    "DeliveryPreferencesPublicity": 0,
    "DeliveryPreferencesOther": 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 tariff was updated successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "Tariff 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
}