My Coupons Endpoint
The signed-in user's coupon wallet: every code they claimed, used, or let expire — newest claim first. This is also the only place where sign up and birthday coupons show up, since those campaigns are never browsable.
- Endpoint:
/api/v1/me/campaign-coupons - Method:
GETorPOST - Authentication: Partner token and a signed-in user (Sanctum bearer token).
Headers
| Header | Value | Required | Description |
|---|---|---|---|
Partner-Access-Token | Base64 String | Yes | Your encrypted AES-256 time-sensitive token. |
Authorization | Bearer <token> | Yes | Sanctum token of the signed-in user. |
Content-Type | application/json | Yes | |
Accept | application/json | Yes | |
X-Currency | e.g. THB | Optional | Currency for all money fields. Defaults to THB. |
Payload Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | Integer | Optional | Page number. Minimum 1. Defaults to 1. |
limit | Integer | Optional | Records per page. Between 1 and 100. Defaults to 10. |
status | String | Optional | Filter: all, claimed, used, or expired. Defaults to all. |
Status Filter Mapping
| Value you send | Coupons returned |
|---|---|
all | Every coupon the user ever held. |
claimed | Claimed and still usable (internal status issued). |
used | Already redeemed on a booking (internal status redeemed). |
expired | Past their expiry (internal status expired). |
Sample Payload
{
"page": 1,
"limit": 10,
"status": "claimed"
}
Sample Response
{
"result": 1,
"message": "success",
"data": {
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 10,
"total": 2
},
"coupons": [
{
"id": 9821,
"code": "SONGKRAN10",
"currency": "THB",
"status": "claimed",
"discount_type": "percentage",
"discount_value": 10,
"min_purchase_amount": 1000,
"max_discount_amount": 500,
"coupon_expiry": "2026-05-31T23:59:59.000000Z",
"claim_expiry": "2026-04-04T09:00:00.000000Z",
"reward": "TourMind Hotel",
"reward_destinations": [
{
"id": 12,
"name": "Thailand"
}
],
"reward_variations": [],
"rules": [
"Save up to THB 500",
"Min. spend THB 1000"
],
"applicable_for": "Valid for <strong>Hotel</strong> in <strong>Thailand</strong>",
"campaign": {
"id": 41,
"name": "Songkran Hotel Sale",
"slug": "songkran-hotel-sale",
"status": "running",
"promotion_type": "coupon",
"start_at": "2026-04-01T00:00:00.000000Z",
"end_at": "2026-04-30T23:59:59.000000Z",
"coupon_expiry": "2026-05-31T23:59:59.000000Z",
"description": "Save on hotel stays across Thailand.",
"term_and_conditions": "<p>One coupon per booking.</p>",
"images": [],
"applicable_for": "Valid for <strong>Hotel</strong> in <strong>Thailand</strong>"
}
}
]
}
}
Notes
- Statuses are shown in their user-facing form:
issuedis returned asclaimedandvoidasfully redeemed. discount_amountis not present here. This endpoint has no cart to price the coupon against — use Applicable Coupons for that.- A coupon in this list is not automatically usable for the current cart. Always validate it against the product before showing it at checkout.