Skip to main content
POST
/
api
/
billing
/
extraserviceprices
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
An ExtraServicePrice provides an overriding price for an ExtraService (resource price) for members on a specific Tariff (plan). When a member whose active plan matches TariffId books a resource priced by the linked extra service, the Price (and optional MaximumPrice) from this record are used instead of the default extra service price. In most cases it is preferred to create additional ExtraService records connected to the same ResourceTypes and restricted to specific plans via ExtraService.Tariffs, rather than using ExtraServicePrice overrides. Use ExtraServicePrice only when you need a simple price override without duplicating the full extra service configuration.

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

Request Body

Required Fields

ExtraServiceId
integer
required
Extra Service Id.
TariffId
integer
required
Tariff Id.
Price
number
required
Overriding price charged to members on the specified tariff.

Optional Fields

MaximumPrice
number
Optional maximum price cap for time-based extra services on the specified tariff.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/billing/extraserviceprices" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ExtraServiceId": 0,
    "TariffId": 0,
    "Price": 0
}'

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