AlmondTill/G3N API

NewAffiliateInput

input type

Create-input for an Affiliate. The tenant is derived SERVER-SIDE; ⚠ the caption is REQUIRED at the boundary (an external promoter has no derivable name); codes normalize + grammar-gate + reserve their markers IN the create transaction; each couponId resolves live same-group; the ACTIVE bound gates kit-side.

Fields

FieldTypeRequiredNotes
captionStringnoOptional: when omitted the per-type default applies — NONE — the divergence: an external promoter has no derivable default name, so an omitted caption refuses VALIDATION/INVALID at the boundary instead of defaulting; when supplied it must be non-blank.
organizationIdsID [ID!]noThe canned-pool selection — ABSENT = every org in the group.
codesAffiliateCodeInput [AffiliateCodeInput!]no≤ 8 referral codes — normalized server-side; unique in-affiliate post-normalization; each reserves the org-group marker (CONFLICT/REFERRAL_CODE_TAKEN names a live holder).
ratePpmIntnoThe flat order-net rate (ppm) — ABSENT = tracking-only.
consumerIdIDnoThe shopper link — live-gated (in-tenant + NOT-doomed Consumer).
handleStringnoThe public handle (1..64; NOT unique — ruling).
bioStringno≤2000.
socialLinksString [String!]no≤8 url-ish strings.
audienceSizeIntno≥0 (informational).
nicheTagsString [String!]no≤16 plain strings (NOT Tag refs).

Used by