Your appPOST /v2/partners Tolt
Created in Tolt
partnerpart_8fKq2LmZ…
email
groupDefault
statusactive
Ready to share
linklnk_4DwKp9Xm…
param
value
url
Create the partner
Pass the user’s email and yourprogram_id. Tolt creates the partner in the program’s default group (or the group_id you pass) and builds a link slug from their name.
status: "active") with its link attached: { id, param: "ref", value: "sam" }.
Store data.id on your user record. You need it to show their dashboard, pull their stats and change their status.
Options and edge cases
Options and edge cases
- Link slug. Leave out
linkand Tolt slugs the name (or the email before the@).link.paramdefaults to your program’s first URL parameter. Values are lowercased and must be unique per parameter. - Duplicates. The same email in the same program, or a link value already taken, returns
409 already_exists. Checkerrors[0].field:emailmeans they’re already a partner, so look them up withGET /v2/partners?search=sam@example.com;link.valuemeans the slug is taken, so pick another or leave outlink. - Welcome email. Pass
"notify_partner": trueto send the program’s welcome email (only if it is enabled and the partner is active).
Choose active or pending
Sam Rivera part_8fKq2LmZ…
AppliedPendingDay 0
Approved…/approve ActiveDay 1
Rejected…/reject RejectedDay 1
Suspended…/suspend SuspendedDay 90
Approve returns any partner to active.
New partners areactive by default and can earn right away. Pass "status": "pending" to review them first; you then approve or reject them from the dashboard or the API.
Approve, reject or suspend
Status changes are actions, not field edits. Each returns the updated partner and fires apartner.updated webhook.
Approve in bulk
Clear a queue of applications with up to 100 ids per call. Each id succeeds or fails on its own. If a request fails partway with a server error, the ids before it are already applied, so check their state before retrying.POST /v2/partners/bulk/reject takes the same ids plus an optional shared rejection_note.
