# Getting started

Build a PNSL API integration step by step.

Product: PNSL API
Guides follow API reference 2.0.0 and event reference 1.0.0.
Canonical page: https://docs.axiym.io/pnsl-api/integration-guide

Read [Concepts & Workflows](/pnsl-api/concepts/overview) first, then follow
the steps below.

## Integration tools

* **[Postman collection](/pnsl-api/api-reference#downloads)** — Try requests in
  Sandbox. Set `clientId` and `clientSecret`, then send the Auth token request;
  the collection saves the token for subsequent requests.
* **[Integrate using AI](/pnsl-api/integration-guide/integrate-with-ai)** —
  Documentation formats and an optional integration prompt for your coding agent.

## Base URLs

| Environment | Base URL                                      |
| ----------- | --------------------------------------------- |
| Sandbox     | `https://partner-api.sandbox.axiym.io/api/v1` |
| Production  | `https://partner-api.axiym.io/api/v1`         |

Sandbox and production have separate credentials and data.

## Steps

1. **Get access.** Obtain OAuth credentials and follow the shared
   [authentication](/pnsl-api/integration-guide/fundamentals/authentication),
   [headers](/pnsl-api/integration-guide/fundamentals/common-headers), and
   [idempotency](/pnsl-api/integration-guide/fundamentals/idempotency) rules.
2. **Register webhooks** before onboarding or funding, so you do not miss
   asynchronous changes. See [Webhooks](/pnsl-api/webhooks/overview).
3. **[Onboard a client](/pnsl-api/integration-guide/implementation-guides/client-onboarding)**
   and wait until the onboarding case is `APPROVED`, then verify that the
   client is `ACTIVE`.
4. **[Check financing capacity](/pnsl-api/integration-guide/implementation-guides/check-credit-capacity)**
   for the payment's currency and rail.
5. **[Fund the payment and repay the receivable](/pnsl-api/integration-guide/implementation-guides/receivables-funding-and-repayments)**:
   request funding, follow the receivable, tell payers what to put in the
   memo, apply unallocated funds, return excess funds.

## Fundamentals

Shared across Axiym APIs:
[Authentication](/pnsl-api/integration-guide/fundamentals/authentication),
[Common headers](/pnsl-api/integration-guide/fundamentals/common-headers),
[Idempotency](/pnsl-api/integration-guide/fundamentals/idempotency),
[Pagination](/pnsl-api/integration-guide/fundamentals/pagination-and-query-parameters),
[Errors and retries](/pnsl-api/integration-guide/fundamentals/error-handling-and-retries),
[Rate limits](/pnsl-api/integration-guide/fundamentals/rate-limits),
[Data formats](/pnsl-api/integration-guide/fundamentals/data-formats-and-constants),
[Payment rails](/pnsl-api/integration-guide/fundamentals/payment-rails).

## Before going live

* New access tokens are obtained before expiry, without exposing credentials.
* Requests carry an `X-Request-Id`; funding, repayment, and transfer
  requests carry an `Idempotency-Key`.
* Funding is requested only for `ACTIVE` clients with enough
  `availableBalance`.
* Your payment ID, `clientId`, and `receivableId` are stored together.
* Webhook deliveries are verified and deduplicated; the resource is read for
  its current state.
* Disbursements, repayments, and balances are reconciled.
