Business Owner

These endpoints handle the onboarding flow for Business Owner clients.

For a full walkthrough with code examples, see the guides:

Flow at a Glance

#StepEndpointAuth
1Validate invite tokenGET /branches/public/v1/common/invites/checkNone
2Fetch platform agreementsGET /branches/public/v1/common/agreementsNone
Create scoped sessionPOST /entrypoint/org/v1/sessionsClient credentials
3Accept invitationPOST /branches/public/v1/businessowner/invites/acceptSession headers
4Review W9 termsGET /branches/private/v1/limited/w9/termsSession headers
5List security questionsGET /users/private/v1/limited/security-questionsSession headers
6Submit security answersPOST /users/private/v1/limited/security-questions/answersSession headers
7Send phone OTPPOST /users/private/v1/limited/generate-new-phone-codeSession headers
8Verify phone OTPPUT /users/private/v1/limited/check-phone-codeSession headers
9Submit KYC/KYBPOST /branches/private/v1/limited/businessowner/signupSession headers

Session Setup (between Steps 1 and 3)

Step 1 returns a customerUid in the response. Before calling Step 3, use it to open a session scoped to that Business Owner:

POST /entrypoint/org/v1/sessions
Content-Type: application/json

{
  "clientId":     "<your-client-id>",
  "clientSecret": "<your-client-secret>",
  "customerUid":  "<customerUid from Step 1>"
}
{
  "data": {
    "sessionId": "4bdfca21-461e-45a2-9d26-64f4176267c7",
    "expiresAt": "2026-06-24T12:00:00Z"
  }
}

Include these two headers on every request from Step 3 onward:

X-Session-Id: <sessionId>
X-Client-Id:  <clientId>

Step 3 Response Codes

POST /branches/public/v1/businessowner/invites/accept?token=<invite_token>

HTTPMeaning
200Account is immediately active — onboarding complete.
403Account created; additional steps (W9, security questions, phone OTP, KYB) required. Continue with Steps 4–10.

The request body is managed internally — no body is required.


KYB Review (Steps 9–10)

After Step 9 the account enters pending status while compliance reviews the submitted business information. Poll Get KYB Verification Status to track the outcome:

StatusMeaning
pendingKYB submitted, review in progress
activeKYB approved — accounts are usable
rejectedKYB rejected — contact support

The session used during onboarding remains valid throughout the KYB review period.