Individual User

These endpoints handle the onboarding flow for Individual, Business Owner, and Operator clients.

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/individual/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 informationPOST /branches/private/v1/limited/individual/signupSession headers

User-type paths differ at Steps 3 and 9. Replace individual with businessowner or operator where appropriate.


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 user:

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/individual/invites/accept?token=<invite_token>

HTTPMeaning
200Account is immediately active — onboarding complete.
403Account created; additional steps required. Continue with Steps 4–9.

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


After Step 9

Once KYC is submitted the account status moves to active asynchronously. The existing session remains valid and can be used to call all Individual API endpoints immediately.