Read who earns
GET /program/eligibility| Scope | program:read |
| Customer session token | Not accepted: call from your server with an API key |
| Rate limit class | read (limits) |
| Idempotency key | Not used |
| MCP tool | charm_get_eligibility |
Who can earn points and on what: the customer audience, excluded customer, order and product tags, excluded products, variants and collections, gift cards, discounted items, subscription renewals, membership purchases, and whether customers must opt in. Also what the automatic VIP tier and membership discount may touch at checkout (member_discounts).
Response 200
Section titled “Response 200”Returns Eligibility.
| Field | Type | Description |
|---|---|---|
revision | integer | |
customer_audience | string: all, b2c_only, b2b_only | Who can earn: everyone, only retail (B2C) customers, or only B2B company customers. |
excluded_customer_tags | array of string | Customers with any of these tags never earn. |
excluded_order_tags | array of string | Orders with any of these tags earn nothing. |
excluded_product_tags | array of string | Products with any of these tags earn nothing. |
excluded_products | array of object | |
excluded_collections | array of object | |
exclude_gift_cards | boolean | |
exclude_discounted_items | boolean | Items sold below their compare-at price earn nothing. |
exclude_subscription_renewals | boolean | Recurring subscription orders earn nothing (the first order still does). |
exclude_membership_purchases | boolean | Buying a paid membership earns no points. |
opt_in | object | |
member_discounts | object | What the automatic VIP tier and membership discount may touch at checkout. Membership products and gift cards are never discounted. |
{ "revision": 1, "customer_audience": "all", "excluded_customer_tags": [ "excluded customer tags" ], "excluded_order_tags": [ "excluded order tags" ], "excluded_product_tags": [ "excluded product tags" ], "excluded_products": [ { "id": "id", "title": "title", "variant_ids": [ "variant ids" ] } ], "excluded_collections": [ { "id": "id", "title": "title" } ], "exclude_gift_cards": false, "exclude_discounted_items": false, "exclude_subscription_renewals": false, "exclude_membership_purchases": false, "opt_in": { "required": false, "marketing_consent": false }, "member_discounts": { "combine_with_other_discounts": false, "exclude_sale_items": false, "exclude_subscription_items": false, "excluded_product_tags": [ "excluded product tags" ], "excluded_collections": [ { "id": "id", "title": "title" } ] }}Example
Section titled “Example”curl -X GET "https://charm.appfleece.app/api/v1/program/eligibility" \ -H "Authorization: Bearer chrm_live_..."Errors
Section titled “Errors”unauthorized · invalid_token · insufficient_scope · access_required · validation_error · rate_limited
Every error body carries code, message, request_id and a doc_url pointing at the matching entry in the error catalog.