NewLoyaltyMemberInput
input type
ENROLL-input for a LoyaltyMember. The tenant is derived SERVER-SIDE; the program gates in-tenant + ACTIVE; the email normalizes (trim+lowercase) and its (program × email) marker mints IN the transaction (a LIVE holder refuses CONFLICT/MEMBER_EXISTS; a DOOMED holder is taken over — re-enrollable); pointsBalance births 0; an initial tier must name a program tier.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — the phrase member <normalized email>; when supplied it must be non-blank. |
programId | ID ID! | yes | The LoyaltyProgram to enroll into — in-tenant + ACTIVE. |
customer | LoyaltyCustomerInput LoyaltyCustomerInput! | yes | The identity block — email REQUIRED (the enrollment identity; normalized server-side). |
currentTier | String | no | Optional initial tier NAME — must name a program tier. |
priceGroupId | ID | no | Optional CustomerPriceGroup assignment. |
consumerId | ID | no | Optional Consumer bridge. |