Start Stripe onboarding
Creates a Stripe Express onboarding link for the affiliate. Send the affiliate to the returned url; once onboarding completes they can receive payouts. The affiliate is identified by the path — no affiliateId is accepted in the body.
The affiliate's email must already be verified, and they must have accepted the current affiliate legal terms.
Body — all fields optional
| Field | Type | Notes |
|---|---|---|
| country | string | Two-letter ISO country code (e.g. "US", "CA"). Sets the Express account's country when the account is first created. |
| callbackUrl | string (URL) | Absolute http(s) URL, at most 2048 characters. The affiliate lands here when the Stripe flow finishes or is refreshed. Defaults to https://<program domain>/dashboard. |
| description | string | 1–1000 characters. Shown to the affiliate as the business description on their new Stripe Express account. Applied when the account is first created; it is not re-applied if the account already exists. |
{
"country": "US",
"callbackUrl": "https://yourcompany.com/onboarding/complete",
"description": "Earns commissions by reviewing gear on our YouTube channel."
}Response — 200 OK
{ "url": "https://connect.stripe.com/setup/e/acct_123" }Calling the endpoint again for an affiliate with an existing Stripe account returns a fresh onboarding link for that same account (useful when the previous link expired).
Payouts accumulate regardless. The affiliate's commissions are recorded as payouts from their first referred sale, but while no Stripe Express account is connected (
statusis notsuccesson Get Stripe connection status) those payouts can never be paid — they staypendingand age intodelayed/overdue. Completing onboarding is what lets the merchant's automated payouts settle them.
Errors
| Status | Meaning |
Errors — all { "error": "<message>" }:
| Status | error values |
|---|---|
| 400 | A validation message for the failing field — Invalid Stripe setup input (unparseable body) · Invalid callback URL. Provide an absolute http(s) URL. |
| 403 | Please verify the affiliate's email address before connecting Stripe. · The affiliate must accept the current affiliate legal terms. |
| 404 | Affiliate not found |
Stripe API failures surface as 500 { "error": "An unknown error has occured. Please try again." }.
