Skip to content

Payouts

Sidedoor pays operators through Stripe Connect. You onboard once via a Stripe-hosted flow, and thereafter takings from bookings, events and vouchers are settled to your connected account. Both endpoints require the operator role (client); onboarding needs operators.settings:write.

Method Path Purpose Auth
POST /api/my-operator/payout/connect/start Begin Stripe onboarding operator
GET /api/my-operator/payout/status Read connected-account status operator

POST /api/my-operator/payout/connect/start takes no body. It creates (or reuses) your Stripe connected account and returns a hosted onboarding url - redirect the operator there to complete Stripe’s account form.

Terminal window
curl -X POST "https://thesidedoor.co/api/my-operator/payout/connect/start" \
-H "Authorization: Bearer $SIDEDOOR_TOKEN"
{ "url": "https://connect.stripe.com/setup/e/acct_.../..." }

If payments are not configured on the platform this returns 503; a Stripe failure returns 502.

GET /api/my-operator/payout/status reads the live state of your connected account from Stripe. status is enabled once charges and payouts are both on, pending once details are submitted, or onboarding while still incomplete.

Terminal window
curl "https://thesidedoor.co/api/my-operator/payout/status" \
-H "Authorization: Bearer $SIDEDOOR_TOKEN"
{
"connected": true,
"provider": "stripe",
"status": "enabled",
"charges_enabled": true,
"payouts_enabled": true,
"details_submitted": true,
"account_id": "acct_1AbCdEf"
}

Before onboarding starts the response is { "connected": false, "provider": "stripe", "status": "not_started" }. If the platform’s Stripe key is missing the status is unconfigured; a Stripe read failure returns status: "error".

Sidedoor operates the Stripe webhook that fulfils guest checkout - you do not need to handle payment webhooks yourself.