POST request with a JSON body containing an event object and a data object. The event.type field tells you which event fired. See Payload Structure for the common wrapper format.
Lead events
These events fire when a referred lead’s lifecycle changes.lead_signup
lead_signup
Fired each time a new lead signs up through a promoter’s referral link.Data fields:
lead_becomes_referral
lead_becomes_referral
Fired once when a lead makes their first payment and converts to an active customer.Data fields: Same as
This event fires only once per lead — on the first payment. After it fires, the lead’s
status becomes active and customer_since is set.lead_signup. At the time of this event, status will be active and customer_since will be set.new_customer
new_customer
Fired when a referred lead becomes a paying customer for the first time.Data fields: Same as
This event is similar to
lead_becomes_referral and fires once per lead on the first payment.lead_signup. At the time of this event, status will be active and customer_since will be set.lead_cancelled
lead_cancelled
Fired when a lead or customer cancels their subscription, either through your billing integration or via the API.Data fields: Same as
lead_signup. At the time of this event, status will be cancelled and cancelled_at will be set.Promoter events
These events fire when a promoter’s status in your program changes.promoter_signed_up
promoter_signed_up
Fired each time a new promoter joins your affiliate program, whether through your signup page or via the API.Data fields:
promoter_accepted
promoter_accepted
Fired when a promoter is approved for a campaign — either manually by an admin or automatically if
auto_approve_promoters is enabled.Data fields:Reward events
These events fire when rewards are created or need to be fulfilled.reward_created
reward_created
Fired whenever a reward is generated for a promoter — for example when a referral converts or a milestone is reached.Data fields:
fulfilment_pending
fulfilment_pending
Fired right after a non-monetary reward (e.g., free months, credits) is attributed to a promoter. Use this event to trigger your own fulfilment logic.Your endpoint’s HTTP response code controls the fulfilment state in FirstPromoter:
Data fields: