A DiscountCode represents a discount registered in the system. Each discount code belongs to a Business (location) and defines a percentage or fixed-amount discount that can be applied to different item types: price plans (tariffs), bookings, products, and/or events.
Use the boolean flags (DiscountPricePlans, DiscountBookings, DiscountProducts, DiscountEvents) to control which item categories the discount applies to. For each enabled category, associate the specific eligible items via the corresponding ID list (e.g. Tariffs, ResourceTypes, Products, EventCategories). Use the Added* and Removed* list variants for incremental updates without replacing the full list.
A discount can specify either DiscountPercentage (e.g. 10 for 10% off) or DiscountAmount (a fixed monetary amount off), but not both.
Discount codes can be assigned to individual customers via CoworkerDiscountCode. Availability can be further restricted by validity dates (ValidFrom/ValidTo), publish window (PublishFrom/PublishTo), usage caps (MaxUses, MaxUsesPerUser), audience (OnlyForContacts, OnlyForMembers), and expiration rules (ExpirationType, ExpiresIn).
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 DiscountCode-List role.
Enums
Value Name 1 Day 2 Week 3 Month 4 Year
Query Parameters
The page number to retrieve.
The number of records per page.
The property name to sort results by (e.g. Name, CreatedOn).
Sort direction. 1 for ascending, -1 for descending.
Filters
DiscountCode_Business_Name
Filter by name of the business (location) this discount code belongs to.
DiscountCode_Business_Currency_Code
Filter by currency code of the business (e.g. USD, EUR).
Filter by the unique alphanumeric code customers enter to apply the discount.
Filter by human-readable description of what this discount code is for.
Filter by whether this discount code is currently active and can be redeemed.
Filter by date from which this discount code is visible/published to customers.
Filter by date until which this discount code is visible/published to customers.
DiscountCode_DiscountPercentage
Filter by percentage discount to apply (e.g. 10 for 10% off). Mutually exclusive with DiscountAmount.
DiscountCode_DiscountAmount
Filter by fixed monetary amount to discount. Mutually exclusive with DiscountPercentage.
DiscountCode_ReferralDiscount
Filter by whether this discount code is used as part of the referral program.
DiscountCode_DiscountPricePlans
Filter by whether this discount can be applied to price plans (tariffs). When true, use Tariffs to restrict to specific plans.
DiscountCode_DiscountBookings
Filter by whether this discount can be applied to resource bookings. When true, use ResourceTypes to restrict to specific resource types.
DiscountCode_DiscountProducts
Filter by whether this discount can be applied to products. When true, use Products to restrict to specific products.
DiscountCode_DiscountEvents
Filter by whether this discount can be applied to events. When true, use EventCategories to restrict to specific event categories.
DiscountCode_MaxUsesPerUser
Filter by maximum number of times a single customer can redeem this discount code.
Filter by maximum total number of times this discount code can be redeemed across all customers.
DiscountCode_OnlyForContacts
Filter by when true, only contacts (non-member customers) can use this discount code.
DiscountCode_OnlyForMembers
Filter by when true, only members (customers with an active plan) can use this discount code.
Filter by start date from which this discount code can be redeemed.
Filter by end date after which this discount code can no longer be redeemed.
DiscountCode_ExpirationType
Filter by unit of the expiration period (Day, Week, Month, Year). Used with ExpiresIn to determine when the discount expires after being assigned to a customer.
Filter by number of ExpirationType periods after assignment until the discount expires for a customer.
Range Filters
from_DiscountCode_PublishFrom
Filter by date from which this discount code is visible/published to customers greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_DiscountCode_PublishFrom
Filter by date from which this discount code is visible/published to customers less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_DiscountCode_PublishTo
Filter by date until which this discount code is visible/published to customers greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_DiscountCode_PublishTo
Filter by date until which this discount code is visible/published to customers less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_DiscountCode_DiscountPercentage
Filter by percentage discount to apply (e.g. 10 for 10% off). Mutually exclusive with DiscountAmount greater than or equal to this value.
to_DiscountCode_DiscountPercentage
Filter by percentage discount to apply (e.g. 10 for 10% off). Mutually exclusive with DiscountAmount less than or equal to this value.
from_DiscountCode_DiscountAmount
Filter by fixed monetary amount to discount. Mutually exclusive with DiscountPercentage greater than or equal to this value.
to_DiscountCode_DiscountAmount
Filter by fixed monetary amount to discount. Mutually exclusive with DiscountPercentage less than or equal to this value.
from_DiscountCode_MaxUsesPerUser
Filter by maximum number of times a single customer can redeem this discount code greater than or equal to this value.
to_DiscountCode_MaxUsesPerUser
Filter by maximum number of times a single customer can redeem this discount code less than or equal to this value.
from_DiscountCode_MaxUses
Filter by maximum total number of times this discount code can be redeemed across all customers greater than or equal to this value.
Filter by maximum total number of times this discount code can be redeemed across all customers less than or equal to this value.
from_DiscountCode_ValidFrom
Filter by start date from which this discount code can be redeemed greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_DiscountCode_ValidFrom
Filter by start date from which this discount code can be redeemed less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_DiscountCode_ValidTo
Filter by end date after which this discount code can no longer be redeemed greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
Filter by end date after which this discount code can no longer be redeemed less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_DiscountCode_ExpiresIn
Filter by number of ExpirationType periods after assignment until the discount expires for a customer greater than or equal to this value.
to_DiscountCode_ExpiresIn
Filter by number of ExpirationType periods after assignment until the discount expires for a customer less than or equal to this value.
from_DiscountCode_CreatedOn
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_DiscountCode_CreatedOn
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_DiscountCode_UpdatedOn
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_DiscountCode_UpdatedOn
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.
Code Examples
Simple listing
curl -X GET \
"https://spaces.nexudus.com/api/billing/discountcodes?page=1&size=15&orderBy=Code&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Filtering by Code
curl -X GET \
"https://spaces.nexudus.com/api/billing/discountcodes?DiscountCode_Code=example-value&orderBy=Code&dir=1" \
-H "Authorization: Bearer YOUR_TOKEN"
Range filters
curl -X GET \
"https://spaces.nexudus.com/api/billing/discountcodes?from_DiscountCode_UpdatedOn=2025-01-01T00:00&to_DiscountCode_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
-H "Authorization: Bearer YOUR_TOKEN"
Response
200
The list of DiscountCode records matching the query. See the Get one DiscountCode endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each DiscountCode. The following fields are not included in the Records[] response: PublishFrom, PublishTo, ReferralDiscount, DiscountPricePlans, DiscountBookings, DiscountProducts, DiscountEvents, MaxUsesPerUser, MaxUses, OnlyForContacts, OnlyForMembers, ValidTo, ExpirationType, ExpiresIn.To get all fields, fetch the full record using the Get one DiscountCode endpoint. Important for updates: When updating a record via PUT, always retrieve the full record with a GET request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a PUT request, as missing fields may be unintentionally cleared.
Number of records per page.
The field used for sorting.
The sort direction (1 = ascending, -1 = descending).
Index of the first item on the current page.
Index of the last item on the current page.
Total number of matching records across all pages.
Whether there is a next page of results.
Whether there is a previous page of results.
{
"Records" : [
{
"BusinessId" : 0 ,
"BusinessName" : null ,
"BusinessCurrencyCode" : null ,
"Code" : "" ,
"Description" : "" ,
"Active" : false ,
"PublishFrom" : null ,
"PublishTo" : null ,
"DiscountPercentage" : null ,
"DiscountAmount" : null ,
"ReferralDiscount" : false ,
"DiscountPricePlans" : false ,
"Tariffs" : [],
"DiscountBookings" : false ,
"ResourceTypes" : [],
"DiscountProducts" : false ,
"Products" : [],
"DiscountEvents" : false ,
"EventCategories" : [],
"MaxUsesPerUser" : null ,
"MaxUses" : null ,
"OnlyForContacts" : false ,
"OnlyForMembers" : false ,
"ValidFrom" : null ,
"ValidTo" : null ,
"ExpirationType" : 0 ,
"ExpiresIn" : null ,
"Id" : 87654321 ,
"UpdatedOn" : "2025-01-15T10:30:00Z" ,
"CreatedOn" : "2025-01-10T08:00:00Z" ,
"UniqueId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"UpdatedBy" : "admin@example.com" ,
"IsNew" : false ,
"SystemId" : null ,
"ToStringText" : "DiscountCode Example" ,
"LocalizationDetails" : null ,
"CustomFields" : null
}
],
"CurrentPageSize" : 15 ,
"CurrentPage" : 1 ,
"CurrentOrderField" : "Code" ,
"CurrentSortDirection" : 1 ,
"FirstItem" : 1 ,
"HasNextPage" : false ,
"HasPreviousPage" : false ,
"LastItem" : 1 ,
"PageNumber" : 1 ,
"PageSize" : 15 ,
"TotalItems" : 1 ,
"TotalPages" : 1
}