Skip to main content
GET
/
api
/
billing
/
discountcodes
{
  "Records": [
    {}
  ],
  "CurrentPage": 123,
  "CurrentPageSize": 123,
  "CurrentOrderField": "<string>",
  "CurrentSortDirection": 123,
  "FirstItem": 123,
  "LastItem": 123,
  "TotalItems": 123,
  "TotalPages": 123,
  "HasNextPage": true,
  "HasPreviousPage": true
}
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

ValueName
1Day
2Week
3Month
4Year

Query Parameters

Pagination & Sorting

page
integer
default:"1"
The page number to retrieve.
size
integer
default:"25"
The number of records per page.
orderBy
string
The property name to sort results by (e.g. Name, CreatedOn).
dir
integer
Sort direction. 1 for ascending, -1 for descending.

Filters

DiscountCode_Business
integer
Filter by Business Id.
DiscountCode_Business_Name
string
Filter by name of the business (location) this discount code belongs to.
DiscountCode_Business_Currency_Code
string
Filter by currency code of the business (e.g. USD, EUR).
DiscountCode_Code
string
Filter by the unique alphanumeric code customers enter to apply the discount.
DiscountCode_Description
string
Filter by human-readable description of what this discount code is for.
DiscountCode_Active
boolean
Filter by whether this discount code is currently active and can be redeemed.
DiscountCode_PublishFrom
string
Filter by date from which this discount code is visible/published to customers.
DiscountCode_PublishTo
string
Filter by date until which this discount code is visible/published to customers.
DiscountCode_DiscountPercentage
number
Filter by percentage discount to apply (e.g. 10 for 10% off). Mutually exclusive with DiscountAmount.
DiscountCode_DiscountAmount
number
Filter by fixed monetary amount to discount. Mutually exclusive with DiscountPercentage.
DiscountCode_ReferralDiscount
boolean
Filter by whether this discount code is used as part of the referral program.
DiscountCode_DiscountPricePlans
boolean
Filter by whether this discount can be applied to price plans (tariffs). When true, use Tariffs to restrict to specific plans.
DiscountCode_DiscountBookings
boolean
Filter by whether this discount can be applied to resource bookings. When true, use ResourceTypes to restrict to specific resource types.
DiscountCode_DiscountProducts
boolean
Filter by whether this discount can be applied to products. When true, use Products to restrict to specific products.
DiscountCode_DiscountEvents
boolean
Filter by whether this discount can be applied to events. When true, use EventCategories to restrict to specific event categories.
DiscountCode_MaxUsesPerUser
integer
Filter by maximum number of times a single customer can redeem this discount code.
DiscountCode_MaxUses
integer
Filter by maximum total number of times this discount code can be redeemed across all customers.
DiscountCode_OnlyForContacts
boolean
Filter by when true, only contacts (non-member customers) can use this discount code.
DiscountCode_OnlyForMembers
boolean
Filter by when true, only members (customers with an active plan) can use this discount code.
DiscountCode_ValidFrom
string
Filter by start date from which this discount code can be redeemed.
DiscountCode_ValidTo
string
Filter by end date after which this discount code can no longer be redeemed.
DiscountCode_ExpirationType
integer
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.
DiscountCode_ExpiresIn
integer
Filter by number of ExpirationType periods after assignment until the discount expires for a customer.

Range Filters

from_DiscountCode_PublishFrom
string
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
string
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
string
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
string
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
number
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
number
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
number
Filter by fixed monetary amount to discount. Mutually exclusive with DiscountPercentage greater than or equal to this value.
to_DiscountCode_DiscountAmount
number
Filter by fixed monetary amount to discount. Mutually exclusive with DiscountPercentage less than or equal to this value.
from_DiscountCode_MaxUsesPerUser
integer
Filter by maximum number of times a single customer can redeem this discount code greater than or equal to this value.
to_DiscountCode_MaxUsesPerUser
integer
Filter by maximum number of times a single customer can redeem this discount code less than or equal to this value.
from_DiscountCode_MaxUses
integer
Filter by maximum total number of times this discount code can be redeemed across all customers greater than or equal to this value.
to_DiscountCode_MaxUses
integer
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
string
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
string
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
string
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.
to_DiscountCode_ValidTo
string
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
integer
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
integer
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
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_DiscountCode_CreatedOn
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_DiscountCode_UpdatedOn
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_DiscountCode_UpdatedOn
string
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

Records
DiscountCode[]
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.
CurrentPage
integer
Current page number.
CurrentPageSize
integer
Number of records per page.
CurrentOrderField
string
The field used for sorting.
CurrentSortDirection
integer
The sort direction (1 = ascending, -1 = descending).
FirstItem
integer
Index of the first item on the current page.
LastItem
integer
Index of the last item on the current page.
TotalItems
integer
Total number of matching records across all pages.
TotalPages
integer
Total number of pages.
HasNextPage
boolean
Whether there is a next page of results.
HasPreviousPage
boolean
Whether there is a previous page of results.
Example Response
{
  "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
}