Comprehensive Affiliate API — Full Parity with GHL Actions
N
Nathan Shaw
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
Log In