Skip to main content
PUT
Set a customer’s loyalty program participation state (active/inactive). This mirrors the include/exclude toggle in the Gameball dashboard — use it on your storefront so customers can control participation, or manage participation from your backend. The endpoint is idempotent:
  • Opting out an already opted-out customer produces no side effects.
  • Opting in an already opted-in customer produces no side effects.
  • A state set via API is immediately reflected in the dashboard toggle, and vice versa.
  • Gameball is the source of truth for participation status.
When a customer is opted out (isActive: false):
  • No points are earned from events or purchases.
  • No rewards or coupons are generated.
  • No earnings, redemptions, or reward activity occurs.
  • The customer is excluded from all campaign eligibility.
Prior activity (points, redemptions, achievements) is not undone — only future eligibility changes.
Requires an existing customer. Unknown customers return 404 Not Found. This endpoint never creates a customer.
Security: Provide apikey header. secretkey is required on v4.1; on v4.0 required when High Security Mode is enabled.

Idempotency

Calling the endpoint twice with the same customer and state always succeeds. On the first call that changes state, stateChanged is true. On a repeat call with the same state, stateChanged is false — no database writes, no side effects, no notifications.

Errors

Notes and limitations

  • There is no batch endpoint — manage multiple customers with sequential or parallel individual requests (respect rate limits).
  • Changes take effect immediately for future earnings; assume a small propagation delay in edge cases.
  • State changes are logged in your Gameball audit trail.
  • This endpoint only sets participation. To modify other customer attributes, use Create Customer or the other customer management endpoints.

Authorizations

apikey
string
header
required
secretkey
string
header
required

Path Parameters

customerId
string
required

The customer's unique external identifier in your system.

Maximum string length: 100

Body

application/json
isActive
boolean
required

Set to true to opt the customer in (Include); set to false to opt the customer out (Exclude).

Example:

false

Response

Customer activation state updated (or already in the requested state)

customerId
string

Echo of the customer ID from the request.

Example:

"cust-12345"

isActive
boolean

The customer's activation state after this request.

Example:

false

stateChanged
boolean

true if the state was different before this request and changed as a result; false if the customer was already in the target state (idempotent no-op).

Example:

true