> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baanx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Onboarding Details

> Retrieve user onboarding details and current registration status

## Overview

Fetch user onboarding information by onboarding ID. This endpoint is useful for:

* Checking current onboarding status
* Retrieving partially completed registration data
* Resuming an interrupted registration flow
* Verifying what information has been submitted

## Request

### Query Parameters

<ParamField query="onboardingId" type="string" required>
  Onboarding ID from email verification step

  **Format**: UUID

  **Example**: `100a99cf-f4d3-4fa1-9be9-2e9828b20ebb`
</ParamField>

### Headers

<ParamField header="x-client-key" type="string" required>
  Client API key for environment routing

  **Format**: UUID string
</ParamField>

<Info>
  This endpoint does not require authentication. It allows checking onboarding status during the registration process before a user account is fully created.
</Info>

## Response

Returns complete onboarding record with all submitted information:

<ResponseField name="id" type="string">
  Onboarding ID
</ResponseField>

<ResponseField name="email" type="string">
  User's email address
</ResponseField>

<ResponseField name="firstName" type="string | null">
  First name (null if not yet submitted)
</ResponseField>

<ResponseField name="lastName" type="string | null">
  Last name (null if not yet submitted)
</ResponseField>

<ResponseField name="phoneNumber" type="string | null">
  Phone number (null if not verified)
</ResponseField>

<ResponseField name="verificationState" type="string">
  KYC verification status

  **Values**: `UNVERIFIED` | `PENDING` | `VERIFIED` | `REJECTED`
</ResponseField>

<ResponseField name="addressLine1" type="string | null">
  Primary address (null if not submitted)
</ResponseField>

<ResponseField name="city" type="string | null">
  City (null if not submitted)
</ResponseField>

<ResponseField name="countryOfResidence" type="string">
  Country of residence ISO code
</ResponseField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://dev.api.baanx.com/v1/auth/register?onboardingId=100a99cf-f4d3-4fa1-9be9-2e9828b20ebb" \
    -H "x-client-key: your-client-key"
  ```

  ```javascript JavaScript theme={null}
  async function getOnboardingStatus(onboardingId) {
    const response = await fetch(
      `https://dev.api.baanx.com/v1/auth/register?onboardingId=${onboardingId}`,
      {
        headers: {
          'x-client-key': 'your-client-key'
        }
      }
    );

    const onboarding = await response.json();

    // Determine next step based on what's missing
    if (!onboarding.phoneNumber) {
      return 'PHONE_VERIFICATION';
    } else if (!onboarding.firstName) {
      return 'PERSONAL_DETAILS';
    } else if (!onboarding.addressLine1) {
      return 'ADDRESS';
    } else {
      return 'COMPLETE';
    }
  }
  ```
</CodeGroup>

## Use Cases

### Resume Interrupted Registration

```javascript theme={null}
async function resumeRegistration() {
  const onboardingId = sessionStorage.getItem('onboardingId');

  const onboarding = await getOnboardingStatus(onboardingId);

  // Route to appropriate step
  if (!onboarding.phoneNumber) {
    navigateTo('/register/phone');
  } else if (!onboarding.firstName) {
    navigateTo('/register/personal-details');
  } else if (!onboarding.addressLine1) {
    navigateTo('/register/address');
  }
}
```
