Skip to main content
Version: 202607

List earn campaigns

GET 

/openapi/2026-07/loyalty/earn-campaigns

Return campaigns where members can earn points

Request

Query Parameters

    status string

    Campaign status: active or inactive. Empty returns all

    cursor string

    Pagination cursor

    limit int32

    Page size. Default 50, max 200

    member_id string

    Filter by member ID. Empty returns all campaigns

Responses

OK

Schema
    codestring

    error code

    messagestring

    error message

    data object
    items object[]

    Campaign list

  • Array [
  • campaign_idstring

    Campaign ID

    namestring

    Campaign name

    event_typestring

    Event type: become_member, successful_order, enter_birthday, enter_phone_number, or share_link

    activeboolean

    Whether the campaign is active

    execution_schedule object

    Execution schedule rule (corresponds to vo.ExecutionScheduleRule); strongly typed

    typestring

    Schedule type: time_range / weekly / monthly / cycle

    effective_started_atstring

    Effective start time, RFC3339 (empty means open-start)

    effective_ended_atstring

    Effective end time, RFC3339 (empty means open-end)

    monthsstring[]

    Months (effective when type=monthly), 1-12 as string

    daysstring[]

    Days. weekly: 0-6 (Sun-Sat); monthly: 1-31; otherwise unused

    datestring

    Specific date string (e.g. yyyy-MM-dd)

    member_condition object

    Applicable member range; strongly typed (same schema as RedemptionCampaign)

    typestring

    Type: scope or expression

    scopeobject

    Scope payload when type is scope

    expressionobject

    Expression payload when type is expression

    reward_pointsint64

    Reward points after completion

    point_expire_config object

    Points-expiry config for points granted by this campaign; null when not configured

    is_expiredboolean

    Whether points expire

    expired_methodstring

    Expiry method: after_x_months / on_specific_date / ...

    dayint32

    Day component of the expiry rule

    monthint32

    Month component of the expiry rule

    protect_enabledboolean

    Whether expiry protection is enabled

    protect_daysint32

    Protection days

    use_global_configboolean

    Whether to use the store global config

    campaign_ruleobject

    Full campaign rule passthrough (corresponds to vo.CampaignRule); untyped Struct

    execution_priorityint32

    Execution priority: 0 = stackable, >0 = exclusive. optional so 0 is always emitted

    is_cumulativeboolean

    Whether stackable (execution_priority == 0). optional so false is always emitted

    created_atstring

    Created time, RFC3339 string

  • ]
  • next_cursorstring

    Next-page cursor

    has_moreboolean

    Whether more pages exist

    limitint32

    Returned page size