Skip to main content
Every end user who transacts through Partna needs an account and must complete identity verification (KYC). This is a regulatory requirement for all transactions. Users only need to verify once.

Creating an account

Use Create Account to register a new user:
curl --request POST \
  --url https://staging-api.getpartna.com/v4/account \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-user: YOUR_USERNAME' \
  --data '{
    "email": "user@example.com",
    "accountName": "Jane Doe"
  }'
You can also use Register Account if your merchant registration type is set to “open”, which creates a pending registration that the user can complete later.

KYC verification flow

Identity verification in Nigeria uses BVN (Bank Verification Number). The flow depends on the user’s country and the available verification methods.
1

Initiate KYC

Call Initiate KYC with the user’s identity information (e.g., BVN for Nigeria). This triggers an OTP to be sent to the phone number associated with the user’s identity.
curl --request POST \
  --url https://staging-api.getpartna.com/v4/kyc/initiate \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-user: YOUR_USERNAME' \
  --data '{
    "bvn": "12345678901",
    "accountName": "user-account-name"
  }'Check supported verification methods
2

Confirm phone number

After OTP verification, confirm the user’s phone number using Confirm Phone.
3

Check supported verification methods

Call Supported Verification Methods to see which identity verification methods are available for a given country.
curl --request GET \
  --url 'https://staging-api.getpartna.com/v4/kyc/verification-methods?country=NG' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-user: YOUR_USERNAME'
4

Confirm OTP

Once the user receives the OTP, submit it using Confirm KYC OTP.
curl --request PUT \
  --url https://staging-api.getpartna.com/v4/kyc/confirm-otp \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-user: YOUR_USERNAME' \
  --data '{
    "otp": "123456",
    "accountName": "user-account-name"
  }'
In some cases, the user may need to select how they receive the OTP (e.g., SMS or phone call).
After successful verification, you will receive a verification.success webhook event. The user can now transact.

Merchant-managed KYC

If you have already verified your users’ identities through your own KYC process, you can use Merchant KYC Manually to mark a user as verified without going through Partna’s KYC flow. This requires approval from the Partna team during onboarding.
curl --request POST \
  --url https://staging-api.getpartna.com/v4/kyc/merchant-kyc \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-user: YOUR_USERNAME' \
  --data '{
    "accountName": "user-account-name",
    "firstName": "Jane",
    "lastName": "Doe",
    "dateOfBirth": "1990-01-15"
  }'

Checking KYC status

Use Check Manual KYC to check whether a user has completed identity verification.

Resolving bank accounts

Before initiating payouts or offramp transactions, verify the destination bank account using Resolve Bank:
curl --request POST \
  --url https://staging-api.getpartna.com/v4/kyc/resolve-account \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'x-api-user: YOUR_USERNAME' \
  --data '{
    "accountNumber": "0123456789",
    "bankCode": "044",
    "currency": "NGN"
  }'
This returns the account holder’s name so you can confirm it matches before sending funds.

Creating bank accounts for users

Use Create Bank Account to link a verified bank account to a user’s Partna account. This is required before the user can receive local currency payouts.

Account management

ActionEndpoint
Get account detailsGet Account
List accountsGet Accounts Details
Get user profileGet Account Profile
Update emailUpdate Account Email
Check permissionsGet Account Permissions
Search accountsSearch Account