Partner API
  1. Onboarding & KYC Flow
Partner API
  • Getting Started
    • Introduction
    • Authentication
    • Business Use Cases
  • API References
    • Partner Operations
      • Balances & Transaction History
        • Get Balances
        • Get Transaction History
        • Create Wallet
      • Currency Exchange
        • Retrieve Exchange Rate
        • Retrieve Exchange Rate and Create a Lock
        • Create and Finalize an Exchange
        • Retrieve Detailed Exchange Information
      • SEPA Transfers
        • Get SEPA Deposit Info
        • Get SEPA Deposit Contact List
        • Create a SEPA Transfer
        • Get SEPA Transfer Details
      • Crypto Withdrawal
        • Get Network Fee
        • Create Crypto Withdrawal
        • Get Crypto Withdrawal Details
      • Crypto Deposits
        • Update Travel Rule
      • Orders
        • Get Rates
        • Retrieve Order Rate and Create a Lock
        • Create and Finalize an Order
        • Get Order Details
      • Payment link & Checkout Link
        • Generate Payment Link
        • Generate Hosted Checkout
        • Get Payment Link Details
    • User Operations
      • Onboarding & KYC Flow
        • Create User Account
          POST
        • Method A: Add KYC File
          POST
        • Method B: Creating KYC Verification
          POST
        • Method B: Redirect to Verification
          GET
        • Method B: Get KYC Status
          GET
        • Add User Verification
          POST
        • Add POA File
          POST
      • Account Management
        • Update Existing User
        • Delete User
        • Suspend User
        • Unsuspend User
      • Balances & Transaction History
        • Get User Balances
        • Get User Transaction History
      • Currency Exchange
        • Retrieve Exchange Rate
        • Retrieve Exchange Rate and Create a Lock
        • Create and Finalize an Exchange
        • Retrieve Detailed Exchange Information
      • SEPA Transfers
        • Get SEPA Deposit Info
        • GET SEPA Deposit Contact List
        • Create a SEPA Transfer
        • Get SEPA Transfer Details
      • Crypto Withdrawal
        • Get Network Fee
        • Create Crypto Withdrawal
        • Get Crypto Withdrawal Details
      • Crypto Deposits
        • Update Travel Rule
      • Internal Transfers
        • Create a Transfer
        • Get Transfer Details
      • Virtual Cards
        • Create Virtual Card
        • Get All User Cards
        • Get Card Details
        • Update Card PIN
        • Block Card
        • Unblock Card
        • Get Card Limits
        • Update Card Limits
        • Delete Card
  • Integration
    • SDKs & Integration Guides
    • Transaction Processing
    • Error Handling
    • Rate Limiting
    • Webhooks
      • User & KYC Webhooks
        • User Balance Generation Webhook
        • KYC File Added Webhook
        • POA Verification Status Webhook
        • KYC Verification Status Webhook
        • Create Wallet Webhook
      • Transfers & Payments Webhooks
        • P2P Transfer Webhook
        • Partner SEPA Transfer Webhook
        • User SEPA Transfer Webhook
        • SEPA Deposit Webhook
        • Crypto Withdrawal Webhook
        • Crypto Deposit Webhook
        • Exchange Webhook
        • Card Transaction Webhook
        • Order status Webhook
        • Payment Link Webhook
      • Card Webhooks
        • Card 3DS Code Webhook
        • Card Activation Code Webhook
  • Reference
    • Supported Countries
    • Supported Currencies
    • Fees
    • FAQ
    • Changelog
    • Support
  1. Onboarding & KYC Flow

Create User Account

Testing Env
https://partner-api-stage.p100.io
Testing Env
https://partner-api-stage.p100.io
POST
/v1/user/balances/crypto-and-fiat
This endpoint creates a new user.
Each user must be uniquely identified using the externalUserId field. Attempts to reuse an existing ID will result in an error.
Once created, you must complete the KYC process using one of two paths:
Method A: Upload files via Method A: Add KYC File and then call Add User Verification.
Method B: Use Method B: Creating KYC Verification and Method B: Redirect to Verification, then finalize with Add User Verification once the user completes the flow.
If the user is from a country that requires proof of address (POA), the response will include the field:
"poaRequiredForExtended": true

Request

Authorization
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
or
Body Params application/json

Examples

Responses

🟢201Created
application/json
Body

🟠401Access Denied
🟠400P403: Validation error
🟠400P411: User exists
🟠400P431: Forbidden country
🟠400P464: User exists with this phone
🟠400P465: User exists with this email
🟠400P500: Unknown exception
🟠400P501: Service temporarily unavailable
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://partner-api-stage.p100.io/v1/user/balances/crypto-and-fiat' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "externalUserId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "email": "jan.kowalski@example.pl",
  "phone": "48601234567",
  "firstName": "Jan",
  "lastName": "Kowalski",
  "street": "ul. Marszałkowska",
  "number": "123/5",
  "city": "Warszawa",
  "postCode": "00-001",
  "country": "PL",
  "citizenship": "PL",
  "nationality": "PL",
  "birthCountry": "PL",
  "birthDate": "1990-05-15"
}'
Response Response Example
201 - Success
{
    "userId": "f63064b1-c26b-4c9e-af22-0b483262751f",
    "poaRequiredForExtended": false
}
Previous
Onboarding & KYC Flow
Next
Method A: Add KYC File
Built with