List redemption campaigns
GET/openapi/2026-07/loyalty/redemption-campaigns
Return campaigns where members can redeem points for discount codes
Request
Query Parameters
Optional member ID. When present, only campaigns redeemable by this member are returned
Campaign status: active or inactive. Empty returns all
Pagination cursor
Page size. Default 50, max 200
Responses
- 200
OK
- application/json
- Schema
- Example
Schema
- Array [
- ]
error code
error message
data object
Member active points. Returned when the request contains a member ID
items object[]
Campaign list
Campaign ID
Campaign name
Event type, for example redeem_discount_code
Activity type: order_discount, product_discount, free_shipping, or buy_x_get_y
Whether the campaign is active
Points required per redemption
Per-member max redemption count. Zero means unlimited
Times this member has redeemed. Returned only with member context
execution_schedule object
Execution schedule rule (corresponds to vo.ExecutionScheduleRule); strongly typed
Schedule type: time_range / weekly / monthly / cycle
Effective start time, RFC3339 (empty means open-start)
Effective end time, RFC3339 (empty means open-end)
Months (effective when type=monthly), 1-12 as string
Days. weekly: 0-6 (Sun-Sat); monthly: 1-31; otherwise unused
Specific date string (e.g. yyyy-MM-dd)
member_condition object
Applicable member range
Type: scope or expression
Scope payload when type is scope
Expression payload when type is expression
campaign_reward object
Campaign reward config
discount_code_activity object
Discount-code activity config; present when event_type=redeem_discount_code
Campaign name
Discount type: percentage / fixed_amount / free_shipping / bxgy
Discount value; percentage carries a numeric string (e.g. "10"); fixed_amount carries an amount string (e.g. "10.00"); free_shipping / bxgy leave it empty
Prerequisite condition type: none / subtotal / quantity
Prerequisite condition value; amount string when subtotal, quantity when quantity
Max free-shipping amount (free-shipping only); -1 means unlimited. String preserves decimals
applicable_rule object
Applicable resource rule
Applicable type: all / include_products / include_collections
Product IDs when applicable_type=include_products
Variant IDs when applicable_type=include_products
Collection IDs when applicable_type=include_collections
obtain_products object
Obtain products rule (BXGY only)
applicable_rule object
Applicable rule for obtainable products
Applicable type: all / include_products / include_collections
Product IDs when applicable_type=include_products
Variant IDs when applicable_type=include_products
Collection IDs when applicable_type=include_collections
Obtain product count
Obtain discount type: free / percentage / fixed_amount
Obtain discount value; decimal string
Allow stacking with other discounts
Per-member campaign usage cap; -1 means unlimited
Per-member per-code usage cap; -1 means unlimited
Per-order usage cap; -1 means unlimited
Per-code total usage cap; -1 means unlimited
Campaign start time; ISO 8601 UTC
Campaign end time; ISO 8601 UTC. Empty string means open-ended
Next-page cursor
Whether more pages exist
Returned page size
{
"code": "string",
"message": "string",
"data": {
"active_points": 0,
"items": [
{
"campaign_id": "string",
"name": "string",
"event_type": "string",
"activity_type": "string",
"active": true,
"redeem_points": 0,
"limit_redeem_count": 0,
"member_used_times": 0,
"execution_schedule": {
"type": "string",
"effective_started_at": "string",
"effective_ended_at": "string",
"months": [
"string"
],
"days": [
"string"
],
"date": "string"
},
"member_condition": {
"type": "string",
"scope": {},
"expression": {}
},
"campaign_reward": {
"discount_code_activity": {
"name": "string",
"discount_type": "string",
"discount_value": "string",
"prerequisite_type": "string",
"prerequisite_value": "string",
"max_free_shipping": "string",
"applicable_rule": {
"applicable_type": "string",
"applicable_product_ids": [
"string"
],
"applicable_variant_ids": [
"string"
],
"applicable_collection_ids": [
"string"
]
},
"obtain_products": {
"applicable_rule": {
"applicable_type": "string",
"applicable_product_ids": [
"string"
],
"applicable_variant_ids": [
"string"
],
"applicable_collection_ids": [
"string"
]
},
"product_count": 0,
"obtain_type": "string",
"obtain_value": "string"
},
"use_with_other": true,
"limit_user_discount": 0,
"limit_code_user_discount": 0,
"limit_order_discount": 0,
"limit_code_max_discount": 0,
"started_at": "string",
"ended_at": "string"
}
}
}
],
"next_cursor": "string",
"has_more": true,
"limit": 0
}
}