Guide: Reading from GET Β· Conditions β
GET /points response
OpenAPI reference: GetAListOfScoreCampaigns β GET https://streaming.loyal.guru/points.
Typical use cases for integrations:
- List active points/wallet campaigns (
GET /points). - Filter by event type:
?when=manualreturns only direct assignment campaigns (see Campaigns API). - Catalog by customer, country, or tier per query parameters when the API exposes them on the list.
List behavior (typical):
- Only active campaigns (
active: true) valid peravailable_from/available_to. - Pagination with
starting_after/next_token_starts_afterwhen the response includes it.
On this pageβ
- Query parameters
- Response wrapper
- Rule fields in the response
- Metadata per item in
data[] - Activation and expiration (balance lifecycle)
- API integration on ticket
Query parametersβ
| Parameter | Usage |
|---|---|
when | Filter by campaign event (e.g. manual for direct assignment). |
customer_id / customer_code | Customer catalog or eligibility when the endpoint supports it. |
countries | Filter by registration country or scope. |
tier_id | Campaigns linked to a tier. |
starting_after | Pagination: token from the previous page. |
See the current OpenAPI docs for the full filter list on GET /points.
Response wrapperβ
| Field | Description |
|---|---|
data | Array of campaign objects. |
next_token_starts_after | Token for the next page (starting_after). Absent on the last page. |
Rule fields in the responseβ
GET /points (list) and GET /points/{id} (detail) use the same names on the campaign object:
| Response field | Typical type | Content after parsing |
|---|---|---|
rule_conditions | string JSON | conditions.and[] / conditions.or[] (or flat format on POST) |
rule_application | string JSON | application.and[] (internal key application) |
rule_effects | string JSON | type, value, distribution, limits, rule_group, β¦ |
Victory frequency and budget: once, once_limit, budget_value, budget_period β see Limits.
Internal structure vs field name: the API field is
rule_application, but inside parsed JSON the root is usuallyapplication.and[].
Metadata per item in data[]β
| Block | Fields | Integration use |
|---|---|---|
| Identity | id, name, description | Campaign ID and copy. |
| Event | when | after_create_activity (cart), after_create_custom_entity (custom event), configured trigger slug, or manual (direct assignment) |
| Currency / mode | currency, accrual_mode (if present) | Currency of monetary rule_effects.value; points vs money for presentation. Requires that currencyβs score_exchange to convert to points β see Effects. |
| Validity | active, available_from, available_to, recurrence_type, recurrence_days | Whether the campaign applies today. |
| Audience | select_customers, customer_registration_countries, tiers[] | loyalty or targeted only β all_customers does not apply to points (identified customer required). There is no semantic equivalent to discount campaign_audience=all_customers in points lists. |
| Activation | activation_period_type, activation_delay | When accrued balance becomes available. |
| Expiration | expiration_period_type, availability_duration | When accrued balance expires. |
| Victory limits | once, once_limit, budget_value, budget_period | See Limits. |
| Category | category (if present) | Rule classification in Owner App. |
Activation and expiration (balance lifecycle)β
After accrual, the customer may see balance in different states:
| Concept | GET fields (typical) | Integration |
|---|---|---|
| Activation | activation_period_type, activation_delay | Delay until balance is usable (e.g. N days after the ticket). |
| Expiration | expiration_period_type, availability_duration | Fixed window or period when balance expires. |
Product detail: Points Campaigns and expiration docs for your KB version.
API integration on ticketβ
When creating or simulating a ticket (POST /activities or POST /activities/simulate), the apply_points flag on the payload controls whether that transaction evaluates points campaigns (default is usually true). See API integration.
Parsing:
rule_conditions,rule_application, andrule_effectsusually arrive as JSON strings. Deserialize before reading clauses.