Benefits

List limited-time benefits with pagination and filtering

get

Retrieve a paginated list of limited-time benefits (perks and codes). Supports filtering by status and sorting.

Query parameters
statusstring · enumOptionalPossible values:
sortBystring · enumOptionalDefault: expirationDatePossible values:
sortDirectionstring · enumOptionalDefault: ascPossible values:
limitinteger · max: 50OptionalDefault: 50
offsetnumberOptionalDefault: 0
Responses
chevron-right
200

Successful response

application/json
totalnumberRequired
limitnumberRequired
offsetnumberRequired
get
/benefits/limited-time

List score-based benefits with pagination and filtering

get

Retrieve a paginated list of score-based benefits. By default, returns all benefits. Optionally filter by status, multiple category IDs, and user score.

⚠️ IMPORTANT: Due to OpenAPI UI limitations, the categoryIds parameter requires at least 2 items to work correctly. Single category selection will result in a validation error.

Query parameters
statusstring · enumOptionalPossible values:
categoryIdsinteger[]Optional
scoreintegerOptional
limitinteger · max: 50OptionalDefault: 50
offsetnumberOptionalDefault: 0
Responses
chevron-right
200

Successful response

application/json
totalnumberRequired
limitnumberRequired
offsetnumberRequired
get
/benefits/score-based

List all benefits (admin only)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
typestring · enumOptionalPossible values:
statusstring · enumOptionalPossible values:
categoryIdsinteger[]Optional
limitinteger · max: 50OptionalDefault: 50
offsetnumberOptionalDefault: 0
Responses
chevron-right
200

Successful response

application/json
totalnumberRequired
limitnumberRequired
offsetnumberRequired
get
/benefits/admin/all

Get all categories

get
Query parameters
activeOnlybooleanOptionalDefault: false
Responses
chevron-right
200

Successful response

application/json
idnumberRequired
namestringRequired
displayNamestringRequired
sortOrdernumberRequired
isActivebooleanRequired
createdAtstringRequired
updatedAtstringRequired
get
/benefits/categories

Create a new category

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestring · min: 1 · max: 100Required
displayNamestring · min: 1 · max: 100Required
sortOrderintegerOptional
isActivebooleanOptional
Responses
chevron-right
200

Successful response

application/json
idnumberRequired
namestringRequired
displayNamestringRequired
sortOrdernumberRequired
isActivebooleanRequired
createdAtstringRequired
updatedAtstringRequired
post
/benefits/categories

Update a category

put
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idintegerRequired
Body
namestring · min: 1 · max: 100Optional
displayNamestring · min: 1 · max: 100Optional
sortOrderintegerOptional
isActivebooleanOptional
Responses
chevron-right
200

Successful response

application/json
idnumberRequired
namestringRequired
displayNamestringRequired
sortOrdernumberRequired
isActivebooleanRequired
createdAtstringRequired
updatedAtstringRequired
put
/benefits/categories/{id}

Delete a category

delete
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idintegerRequired
Responses
chevron-right
200

Successful response

application/json
idnumberRequired
namestringRequired
displayNamestringRequired
sortOrdernumberRequired
isActivebooleanRequired
createdAtstringRequired
updatedAtstringRequired
delete
/benefits/categories/{id}

Create a new benefit

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
typestring · enumRequiredPossible values:
shortDescriptionstring · min: 1 · max: 256Required
longDescriptionstring · min: 1Required
logoImageUrlstringOptional
carouselImageUrlstringOptional
secondaryLinkLabelstringOptional
secondaryLinkUrlstring · uriOptional
statusstring · enumOptionalDefault: INACTIVEPossible values:
issuerUserIdinteger · max: 2147483647Optional
isLockedbooleanOptionalDefault: false
primaryLinkLabelstringOptional
primaryLinkUrlstring · uriOptional
qualificationsany ofOptional
or
or
startDatestringOptional
expirationDatestringOptional
categoryIdintegerOptional
Responses
chevron-right
200

Successful response

application/json
or
or
post
/benefits

Update an existing benefit

put
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
benefitIdintegerRequired
Body
shortDescriptionstring · min: 1 · max: 256Optional
longDescriptionstring · min: 1Optional
logoImageUrlstringOptional
carouselImageUrlstringOptional
primaryLinkLabelstringOptional
primaryLinkUrlstring · uriOptional
secondaryLinkLabelstringOptional
secondaryLinkUrlstring · uriOptional
qualificationsany ofOptional
or
or
statusstring · enumOptionalPossible values:
issuerUserIdinteger · max: 2147483647 · nullableOptional
isLockedbooleanOptional
startDatestringOptional
expirationDatestringOptional
categoryIdintegerOptional
Responses
chevron-right
200

Successful response

application/json
or
or
put
/benefits/{benefitId}

Delete a benefit

delete
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
benefitIdintegerRequired
Responses
chevron-right
200

Successful response

application/json
or
or
delete
/benefits/{benefitId}

Get benefit code info

get

Get information about exclusive access codes for a benefit. Returns code availability and the current user's claimed code if logged in.

Path parameters
benefitIdintegerRequired
Responses
chevron-right
200

Successful response

application/json
hasAccessCodesbooleanRequired
totalCodesnumberRequired
claimedCodesnumberRequired
availableCodesnumberRequired
userClaimedCodestring · nullableRequired
get
/benefits/{benefitId}/codes/info

Claim an exclusive access code

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
benefitIdintegerRequired
Responses
chevron-right
200

Successful response

application/json
codestring · nullableRequired
alreadyClaimedbooleanRequired
post
/benefits/{benefitId}/codes/claim

List exclusive access codes for a benefit

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
benefitIdintegerRequired
Query parameters
filterstring · enumOptionalDefault: allPossible values:
limitinteger · max: 50OptionalDefault: 50
offsetnumberOptionalDefault: 0
Responses
chevron-right
200

Successful response

application/json
totalnumberRequired
limitnumberRequired
offsetnumberRequired
get
/benefits/{benefitId}/codes

Add exclusive access codes to a benefit

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
benefitIdintegerRequired
Body
codesstring[] · min: 1 · max: 10000Required
Responses
chevron-right
200

Successful response

application/json
addednumberRequired
duplicatesSkippednumberRequired
post
/benefits/{benefitId}/codes

Delete all unclaimed codes for a benefit

delete
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
benefitIdintegerRequired
Responses
chevron-right
200

Successful response

application/json
deletednumberRequired
delete
/benefits/{benefitId}/codes/unclaimed

Last updated