Use POST /v1/events when your backend wants one endpoint for both revenue and
non-revenue affiliate events.
Common patterns:
leadfor signup or qualified lead eventstrialfor non-revenue trial startsmilestonefor lifecycle steps such as onboarding, KYC, or activationconversionfor paid purchases and product-specific incentive matching
Lead example
{
"event_name": "signup_completed",
"event_type": "lead",
"referral_id": "ref_123",
"external_user_id": "usr_104982",
"external_event_id": "evt_signup_001"
}Trial example
{
"event_name": "trial_started",
"event_type": "trial",
"external_user_id": "usr_104982",
"external_event_id": "evt_trial_001"
}Product-specific conversion example
{
"event_name": "invoice_paid",
"event_type": "conversion",
"customer_id": "cus_R8d92kLm3pQx71",
"external_event_id": "evt_conversion_001",
"sale_amount": 2000,
"sale_amount_currency": "USD",
"product_ids": ["downstream"]
}Milestone example
{
"event_name": "kyc_passed",
"event_type": "milestone",
"external_user_id": "usr_104982",
"external_event_id": "evt_kyc_001"
}Use trial only for non-revenue trial starts. If revenue happened, or if you
need product-specific incentive matching, send the event as conversion and
include product_ids or price_ids.
For the full setup guide, see Server-Side Event Tracking.
For the exact request schema, see Create Event API docs.


