Skip to main content
POST
Create DiscountCode
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-Create role.

Enums

Request Body

Required Fields

integer
required
ID of the business linked to this record.
string
required
The unique alphanumeric code customers enter to apply the discount.
string
required
Human-readable description of what this discount code is for.

Optional Fields

boolean
Whether this discount code is currently active and can be redeemed.
string
Date from which this discount code is visible/published to customers.
string
Date until which this discount code is visible/published to customers.
number
Percentage discount to apply (e.g. 10 for 10% off). Mutually exclusive with DiscountAmount.
number
Fixed monetary amount to discount. Mutually exclusive with DiscountPercentage.
boolean
Whether this discount code is used as part of the referral program.
boolean
Whether this discount can be applied to price plans (tariffs). When true, use Tariffs to restrict to specific plans.
integer[]
List of tariffs linked to this record.
boolean
Whether this discount can be applied to resource bookings. When true, use ResourceTypes to restrict to specific resource types.
integer[]
List of resource types linked to this record.
boolean
Whether this discount can be applied to products. When true, use Products to restrict to specific products.
integer[]
List of products linked to this record.
boolean
Whether this discount can be applied to events. When true, use EventCategories to restrict to specific event categories.
integer[]
List of event categories linked to this record.
integer
Maximum number of times a single customer can redeem this discount code.
integer
Maximum total number of times this discount code can be redeemed across all customers.
boolean
When true, only contacts (non-member customers) can use this discount code.
boolean
When true, only members (customers with an active plan) can use this discount code.
string
Start date from which this discount code can be redeemed.
string
End date after which this discount code can no longer be redeemed.
integer
Unit of the expiration period (Day, Week, Month, Year). Used with ExpiresIn to determine when the discount expires after being assigned to a customer. See eDiscountExpirePeriod? enum above.
integer
Number of ExpirationType periods after assignment until the discount expires for a customer.

Code Examples

Response

200

integer
HTTP status code. 200 on success.
string
A human-readable message confirming the creation.
object
Contains the Id of the newly created record.
boolean
true if the discountcode was created successfully.
array
null on success.
Example Response

400

string
A summary of the validation error(s), in the format PropertyName: error message.
any
null on validation failure.
object[]
Array of validation errors.
boolean
false when the request fails validation.
Example Response