Right now, there are zero public Affiliate APIs in GoHighLevel. We can’t programmatically: -Create, read, update or delete affiliates -Generate or list referral links -Track clicks, leads, appointments, opportunities or sales -Trigger workflow actions or webhooks for any affiliate event -Query commissions, payouts or overrides That gap forces everyone to build fragile workarounds (URL-param parsing, custom fields, external databases), drastically limiting what we can automate or report on. -------------------------------------------------------------------------------------------- Why It Matters: Pay-per-lead and pay-per-appointment affiliate models are common—yet GHL only supports pay-per-sale triggers today. Without native APIs, you can’t build external dashboards, CRMs or analytics that tie affiliate performance to existing GHL objects (contacts, opportunities, calendars). Workflows can’t natively tag or notify affiliates on lead or appointment events—only on completed purchases. Lack of API parity blocks multi-tier, tiered-rate or override commission structures that require programmatic control. -------------------------------------------------------------------------------------------- Affiliates: • GET /v1/affiliates — List all affiliates • POST /v1/affiliates — Create a new affiliate • GET /v1/affiliates/{id} — Retrieve affiliate details • PUT /v1/affiliates/{id} — Update affiliate metadata & commission model • DELETE /v1/affiliates/{id} — Deactivate/remove affiliate Referral Links: • POST /v1/affiliates/{id}/links — Generate a new referral link • GET /v1/affiliates/{id}/links — List all links for an affiliate • DELETE /v1/links/{linkId} — Revoke a referral link Event Tracking: • POST /v1/events/click — Record click on referral link • POST /v1/events/lead — Record a New Lead via affiliate • POST /v1/events/appointment — Record scheduled appointment via affiliate • POST /v1/events/conversion — Record opportunity or sale conversion • POST /v1/events/purchase — (alias) Record purchase Workflow Hooks: • POST /v1/webhooks — Register webhook for any Affiliate.* event • DELETE /v1/webhooks/{id} — Unsubscribe Contact Integration: • POST /v1/contacts/{contactId}/affiliate — Link an existing contact to an affiliate manually • GET /v1/contacts/{contactId}/affiliate — Retrieve affiliate attribution on a contact Commissions & Payouts: • GET /v1/affiliates/{id}/commissions — Calculate commissions (flat, %, tiered, multi-level) • POST /v1/affiliates/{id}/payouts — Trigger a payout • GET /v1/affiliates/{id}/payouts — List past payouts -------------------------------------------------------------------------------------------- Workflow & Smart List Parity Trigger Events: Affiliate.Click , Affiliate.Lead, Affiliate.Appointment, Affiliate.Conversion, Affiliate.Payout Workflow Actions: Lookup Affiliate (by linkId or contact field) Tag Contact (affiliate_{name}) Set Custom Field (Affiliate ID, First Click, Commission Due) Smart Lists & Columns: Filter by Affiliate Source, First Click Date, Campaign, Tier Show columns: Affiliate Name, Link ID, Lead Count, Appointment Count, Sales Count -------------------------------------------------------------------------------------------- Benefits: Full automation of every affiliate lifecycle stage Native lead-level triggers so you can reward “pay-per-lead” and “pay-per-appointment” models Eliminate fragile workarounds—everything lives inside GHL and respects existing permissions Rich data for external BI tools or embedded portals: real-time click, lead and sales metrics Consistent experience: uses GHL’s authentication, rate limits, workflows and reporting framework