# useOnboardStatus

`useOnboardStatus` is a hook that you can take advantage of throughout your application if you need to check the status of a wallet's onboarding application.

{% hint style="info" %}
This hook is already used and handled for you when you use the `Quadrata` or `QuadrataEager` client components with `kycProps` specified.&#x20;

You are **not required to use this hook**, but if you want to or find a need for it, it is exposed for you.
{% endhint %}

This hook takes advantage of the API Service Library, [Fetch Onboard Status](/integration/how-to-integrate/quadrata-sdk/advanced/api-libraries/api-service-libraries/fetch-onboard-status.md).&#x20;

The results are parsed for you in a format that allows you to pass them directly to the Quadrata client library as partial props.

```tsx
import * as QuadrataTypes from '@quadrata/sdk/client';
import { useOnboardStatus } from '@quadrata/sdk/client';

const {
    error,
    parsed,
    clientProps,
    refreshOnboardStatus,
    isLoading,
} = useOnboardStatus({
    chainId: QuadrataTypes.QuadrataNetwork.SEPOLIA,
    walletAddress: '0x123',
    attributes: [
        QuadrataTypes.QuadrataAttribute.DID,
        QuadrataTypes.QuadrataAttribute.COUNTRY,
        QuadrataTypes.QuadrataAttribute.AML
    ],
    offeringId: 'optional-unique-offering-id',
    isBypassMint: false,
    apiAccessToken: accessToken,
    privacyScopes: [
        QuadrataTypes.QuadrataPrivacyConsent.DATE_OF_BIRTH,
        QuadrataTypes.QuadrataPrivacyConsent.EMAIL
    ]
}, quadrataSdkConfig);
```

{% hint style="info" %}
If you just need to get onboard status or see if a passport is minted, you can use the API Service Library, [Fetch Onboard Status](/integration/how-to-integrate/quadrata-sdk/advanced/api-libraries/api-service-libraries/fetch-onboard-status.md). It will return a similar response.
{% endhint %}

## Response

* **`error`** - If an error occurs, this will be an error object instance of `QuadrataSdkApiError`
* **`parsed`** - The onboard status API endpoint returns a response payload that needs to evaluated. This evaluation is done for you and returned as an object:
  * **`attributesToClaim`** - Array of attributes that need to be claimed by the application (based on the attributes you passed in)
  * **`isConsentNeeded`** - Boolean representing whether or not the privacyScopes (if any) that you passed in require consent from the user.
  * **`isInReview`** - Boolean representing whether or not the application is completed (based on the attributes you passed in) but is still in review.
* **`clientProps`** - An object containing the necessary props that you need to pass into the KYC onboarding application, already formatted for you.
  * **`accessToken`** - The access token required for onboarding applications.
  * **`attributes`** - Array of attributes that need to be claimed.
  * **`privacyScopes`** - Array of privacyScopes that need to be consented to.
* **`refreshOnboardStatus`** - A function that allows you to refresh the onboard status response by calling the API again, on demand.
* **`isLoading`** - A boolean indicating whether the onboarding status API call is processing or not.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.quadrata.com/integration/how-to-integrate/quadrata-sdk/advanced/client-libraries/client-react-hooks/useonboardstatus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
