# Client onboarding

Onboard a client with Axiym before using Client Trade API client paths.

Product: Client Trade API
Guides follow API reference 0.3.0 and event reference 0.2.0.
Canonical page: https://docs.axiym.io/trade-api/integration-guide/client-onboarding

Before you use Client Trade API for a client, that client must be onboarded with
Axiym and have an active `clientId`.

## Choose an onboarding route

KYB onboarding can be completed in either of two ways:

* **API onboarding** — create a case with [Start client onboarding](/trade-api/api-reference/0.3.0/onboarding/startOnboarding), then either poll [Get onboarding status](/trade-api/api-reference/0.3.0/onboarding/getOnboardingStatus) or handle the `client.activated` webhook event.
* **Manual onboarding** — work with Axiym to complete the same KYB review
  outside your API integration.

API onboarding returns the Axiym-issued `clientId` when it creates the case.
For manual onboarding, Axiym provides the identifier. Store it with your own
client reference; use it in Client Trade API business-resource paths only after the
client becomes `ACTIVE`:

```text
/clients/{clientId}/...
```

When you use the API route, send the legal entity and registered-address data,
the client's `currency` and, when you use more than one payment rail, its
`paymentRails`; add your stable `partnerClientId`. Retain both identifiers: use
`partnerClientId` to correlate the client in your own system and `clientId` in
Client Trade API paths.

The case is submitted for KYB review immediately. Document intake is handled
through Axiym's compliance KYB flow; it is not a Client Trade API operation.

`partnerClientId` identifies the client within your partnership. A new request
with an existing value returns the existing onboarding case.

## Clients using only the Client Trade API

Onboarding for the Client Trade API requires the same KYB review as PNSL onboarding. It does not
require the financial due diligence and underwriting used when a client will
receive payment funding through PNSL.

## Wait for activation

Do not start deposits, conversions, or withdrawals until the client is active
and its accounts and permitted conversion pairs are available. Then continue to
[Client context](/trade-api/integration-guide/client-context) to discover the
resources available for that client.

If you use webhooks, treat `client.activated` as a notification, not
as the complete client record. Fetch the onboarding case using its `clientId`.
Only continue when the case is `APPROVED` and the client is `ACTIVE`;
`REJECTED` requires a new or corrected onboarding process with Axiym.
