# Partner API ## Docs - Getting Started [Introduction](https://partner-api-docs.p100.io/introduction-1370511m0.md): - Getting Started [Authentication](https://partner-api-docs.p100.io/authentication-1298787m0.md): - Getting Started [Business Use Cases](https://partner-api-docs.p100.io/business-use-cases-1299783m0.md): - [API References](https://partner-api-docs.p100.io/api-references-4453035f0.md): - API References [Partner Operations](https://partner-api-docs.p100.io/partner-operations-4450313f0.md): Module with Partner balance settings - API References [User Accounts with KYC](https://partner-api-docs.p100.io/user-accounts-with-kyc-4467114f0.md): - API References [User Accounts without KYC ](https://partner-api-docs.p100.io/user-accounts-without-kyc-4543166f0.md): - API References [KYC by P100](https://partner-api-docs.p100.io/kyc-by-p100-4476985f0.md): - API References [Currency Exchange](https://partner-api-docs.p100.io/currency-exchange-4478295f0.md): - API References [Crypto Deposits](https://partner-api-docs.p100.io/crypto-deposits-4478297f0.md): - API References [Crypto Withdrawals ](https://partner-api-docs.p100.io/crypto-withdrawals-4478298f0.md): - API References [Internal Transfers](https://partner-api-docs.p100.io/internal-transfers-4478286f0.md): - API References [Virtual Cards](https://partner-api-docs.p100.io/virtual-cards-4478303f0.md): - API References [Custom Fiat Operations](https://partner-api-docs.p100.io/custom-fiat-operations-4550612f0.md): - API References > Custom Fiat Operations [SEPA Deposit & Withdrawal](https://partner-api-docs.p100.io/sepa-deposit-withdrawal-1344648m0.md): - Integration [SDKs & Integration Guides](https://partner-api-docs.p100.io/sdks-integration-guides-1299891m0.md): - Integration [Transaction Processing](https://partner-api-docs.p100.io/transaction-processing-1299784m0.md): - Integration [Error Handling](https://partner-api-docs.p100.io/error-handling-1299786m0.md): - Integration [Rate Limiting](https://partner-api-docs.p100.io/rate-limiting-1299787m0.md): - Integration [Webhooks](https://partner-api-docs.p100.io/webhooks-4456131f0.md): - Reference [Supported Countries](https://partner-api-docs.p100.io/supported-countries-1299893m0.md): - Reference [Supported Currencies](https://partner-api-docs.p100.io/supported-currencies-1299895m0.md): - Reference [Fees](https://partner-api-docs.p100.io/fees-1338150m0.md): - Reference [FAQ](https://partner-api-docs.p100.io/faq-1299898m0.md): - Reference [Changelog ](https://partner-api-docs.p100.io/changelog-1299900m0.md): - Reference [Support ](https://partner-api-docs.p100.io/support-1299902m0.md): ## API Docs - API References > Partner Operations [Get Balances](https://partner-api-docs.p100.io/get-balances-19558021e0.md): Retrieves the current balances for all cryptocurrencies and fiat currencies for the partner account. This endpoint provides a comprehensive overview of the partner's financial assets within the system. - API References > Partner Operations [Get Transaction History](https://partner-api-docs.p100.io/get-transaction-history-19615959e0.md): Retrieves the transaction history for the **partner account** for the selected **month** and **year**. This endpoint returns a detailed list of **crypto** and **fiat** transactions along with metadata such as type, amount, currency, status, and timestamps. - API References > Partner Operations [Retrieve Exchange Rate and Create a Lock](https://partner-api-docs.p100.io/retrieve-exchange-rate-and-create-a-lock-19617350e0.md): - API References > Partner Operations [Create and Finalize an Exchange](https://partner-api-docs.p100.io/create-and-finalize-an-exchange-19619927e0.md): ### `POST /exchange/execute` - API References > Partner Operations [Create Crypto Withdrawal](https://partner-api-docs.p100.io/create-crypto-withdrawal-19620495e0.md): Creates a new crypto withdrawal from the partner account to an external wallet. - API References > Partner Operations [Create a SEPA Transfer](https://partner-api-docs.p100.io/create-a-sepa-transfer-19640039e0.md): This endpoint allows you to initiate a SEPA transfer from the partner account to an external IBAN. The request must specify the amount, currency, receiver details, and destination IBAN. Depending on the receiver type, you must provide either the receiver's first and last name (for individuals) or the company name (for legal entities). After the request is accepted, the transfer is scheduled for processing asynchronously. Use the Get SEPA Transfer Details endpoint to track the final status and outcome, including any errors such as insufficient funds or invalid parameters. - API References > Partner Operations [Get SEPA Transfer Details](https://partner-api-docs.p100.io/get-sepa-transfer-details-20026745e0.md): This endpoint returns detailed information about a specific SEPA transfer initiated from the partner account. - API References > User Accounts with KYC [Create User Account and Generate Balances](https://partner-api-docs.p100.io/create-user-account-and-generate-balances-19651249e0.md): This endpoint creates a new user with full KYC capabilities and provisions both **fiat** and **crypto balances**. - API References > User Accounts with KYC [Add KYC File](https://partner-api-docs.p100.io/add-kyc-file-19651251e0.md): Uploads KYC files for a user. You can add all required files at once or upload missing ones individually. Required files depend on the document type: - API References > User Accounts with KYC [Add POA File](https://partner-api-docs.p100.io/add-poa-file-19651252e0.md): Uploads Proof of Address (POA) files for a user. This step is required only for users from countries where POA is mandatory (see [Supported Countries](apidog://link/pages/1299893) for details and requirements). All required POA files must be uploaded at once. You can upload up to 3 files (max 5MB each). Allowed file types: image/jpeg, image/png, image/jpg, application/pdf. - API References > User Accounts with KYC [Add User Verification](https://partner-api-docs.p100.io/add-user-verification-19651255e0.md): This endpoint initiates the asynchronous Know Your Customer (KYC) verification process. It should be invoked only after all required user documents have been successfully uploaded. - API References > User Accounts with KYC [Update Existing User](https://partner-api-docs.p100.io/update-existing-user-19651263e0.md): Updates an existing user\'s details. This endpoint allows you to modify user information such as email, phone, or address. Only fields that are provided in the request body will be updated. The `externalUserId` in the path parameter specifies which user to update. - API References > User Accounts with KYC [Delete User](https://partner-api-docs.p100.io/delete-user-19651265e0.md): Deletes a user account. This action is irreversible and removes all associated data, including balances and transaction history. Use with caution. - API References > User Accounts with KYC [Suspend User](https://partner-api-docs.p100.io/suspend-user-19651276e0.md): Suspends a user account. A suspended user cannot perform any transactions, withdrawals, deposits, or access certain features until unsuspended. This action is typically used for security reasons, compliance requirements, or if suspicious activity is detected on the account. Suspension is reversible using the Unsuspend User endpoint. - API References > User Accounts with KYC [Unsuspend User](https://partner-api-docs.p100.io/unsuspend-user-19651331e0.md): Unsuspends a previously suspended user account, restoring their ability to perform transactions, withdrawals, deposits, and access all features. This action reverses the effect of the Suspend User endpoint and is typically used after resolving compliance or security issues. - API References > User Accounts with KYC [Get User Balances](https://partner-api-docs.p100.io/get-user-balances-19651334e0.md): Retrieves the current balances for all cryptocurrencies and fiat currencies for a specific user. This endpoint provides a comprehensive overview of the user's financial assets within the system. - API References > User Accounts with KYC [Get User Transaction History](https://partner-api-docs.p100.io/get-user-transaction-history-19651337e0.md): Retrieves the transaction history for a **specific user**, including all **crypto** and **fiat** transactions for the selected **month** and **year**. This endpoint returns a detailed list of transactions with relevant metadata such as type, amount, currency, status, and timestamps. - API References > User Accounts without KYC [Create User Account and Generate Balances Without KYC](https://partner-api-docs.p100.io/create-user-account-and-generate-balances-without-kyc-19953092e0.md): This endpoint creates a new **non-KYC user** (also referred to as a limited user) and automatically provisions both **fiat** and **cryptocurrency balances**. - API References > User Accounts without KYC [Update Existing User ](https://partner-api-docs.p100.io/update-existing-user-19974681e0.md): Updates an existing user\'s details. This endpoint allows you to modify user information such as email, phone, or address. Only fields that are provided in the request body will be updated. The `externalUserId` in the path parameter specifies which user to update. - API References > User Accounts without KYC [Delete User ](https://partner-api-docs.p100.io/delete-user-19974682e0.md): Deletes a user account. This action is irreversible and removes all associated data, including balances and transaction history. Use with caution. - API References > User Accounts without KYC [Suspend User](https://partner-api-docs.p100.io/suspend-user-19974685e0.md): Suspends a user account. A suspended user cannot perform any transactions, withdrawals, deposits, or access certain features until unsuspended. This action is typically used for security reasons, compliance requirements, or if suspicious activity is detected on the account. Suspension is reversible using the Unsuspend User endpoint. - API References > User Accounts without KYC [Unsuspend User ](https://partner-api-docs.p100.io/unsuspend-user-19974692e0.md): Unsuspends a previously suspended user account, restoring their ability to perform transactions, withdrawals, deposits, and access all features. This action reverses the effect of the Suspend User endpoint and is typically used after resolving compliance or security issues. - API References > User Accounts without KYC [Get User Balances](https://partner-api-docs.p100.io/get-user-balances-19974693e0.md): Retrieves the current balances for all cryptocurrencies and fiat currencies assigned to the specified user. - API References > User Accounts without KYC [Get User Transaction History ](https://partner-api-docs.p100.io/get-user-transaction-history-19974697e0.md): Retrieves the transaction history for a **specific user**, including all **crypto** and **fiat** transactions for the selected **month** and **year**. This endpoint returns a detailed list of transactions with relevant metadata such as type, amount, currency, status, and timestamps. - API References > KYC by P100 [Creating KYC Verification](https://partner-api-docs.p100.io/creating-kyc-verification-19688834e0.md): Initiates a new KYC verification process for a user. This endpoint creates a verification session and returns a `verificationId` that is used to redirect the user to the P100 verification page. Ensure all required user details are provided to start the process. - API References > KYC by P100 [Redirect to Verification](https://partner-api-docs.p100.io/redirect-to-verification-19688840e0.md): This endpoint is used to redirect the user to the P100 hosted page where they can complete their KYC verification. You should redirect your user's browser to the URL generated by this endpoint. The verification page guides the user through the process of uploading necessary documents and confirming their identity. - API References > KYC by P100 [Get KYC Status](https://partner-api-docs.p100.io/get-kyc-status-19688846e0.md): This endpoint allows you to retrieve the current status of a user's KYC verification process. Use this to monitor the progress of the verification and determine if any further action is required from the user or your system. The status provides details on whether the verification is pending, approved, or rejected, along with any reasons for rejection. - API References > Currency Exchange [Retrieve Exchange Rate](https://partner-api-docs.p100.io/retrieve-exchange-rate-19693630e0.md): Returns the current exchange rates for all supported currencies. This endpoint allows you to retrieve the latest exchange rates between all supported fiat and cryptocurrencies available on the platform. The response contains a mapping of currency codes to their current rates relative to the base currency. These rates are updated frequently to reflect real-time market conditions. This endpoint is useful for displaying up-to-date conversion rates to users, calculating estimated transaction values, or validating exchange offers before creating a rate lock. Note that calling this endpoint does not reserve or lock any rate for a transaction; it is intended for informational and preview purposes only. To lock a rate for a specific user and transaction, use the 'Retrieve Exchange Rate and Create a Lock' endpoint. - API References > Currency Exchange [Retrieve Exchange Rate and Create a Lock](https://partner-api-docs.p100.io/retrieve-exchange-rate-and-create-a-lock-19695653e0.md): Retrieves the current exchange rates and creates a rate lock for the specified user account. The rate lock is valid for 60 seconds. - API References > Currency Exchange [Create and Finalize an Exchange](https://partner-api-docs.p100.io/create-and-finalize-an-exchange-19695661e0.md): This endpoint executes a currency exchange for a user, converting a specified amount from one supported currency to another (e.g., BTC to EUR). You must provide a valid rate lock ID (from the 'Retrieve Exchange Rate and Create a Lock' endpoint) to guarantee the exchange rate. The request requires the user's external ID, amount, source and target currencies, and the lock ID. The system reserves the user's funds and associates the transaction with the locked rate. The response returns an exchange ID immediately, while the actual processing (including balance checks and compliance) occurs asynchronously. Use the exchange details endpoint to check the final status and any errors. - API References > Currency Exchange [Retrieve Detailed Exchange Infromation](https://partner-api-docs.p100.io/retrieve-detailed-exchange-infromation-19693645e0.md): Returns detailed information about a specific exchange transaction, including amounts, currencies, exchange rate, status, timestamps, and user details. Use this endpoint to track the status and outcome of an exchange after it has been created, check for errors, or retrieve all relevant data for reporting and reconciliation. This is the recommended way to verify whether an exchange was successful or if any issues occurred during processing. - API References > Crypto Deposits [Update Travel Rule](https://partner-api-docs.p100.io/update-travel-rule-19693646e0.md): Updates travel rule information for a specific crypto deposit. - API References > Crypto Withdrawals [Get Network Fee](https://partner-api-docs.p100.io/get-network-fee-19693653e0.md): This endpoint returns the current network fee for a cryptocurrency withdrawal. - API References > Crypto Withdrawals [Create Crypto Withdrawal](https://partner-api-docs.p100.io/create-crypto-withdrawal-19693662e0.md): Initiates a cryptocurrency withdrawal from a user's account to an external blockchain address. This endpoint is used for sending funds to personal wallets, exchanges, or business partners. The request must include the user's ID, currency, amount, destination wallet address, and required compliance information. If the request is valid, the withdrawal is queued for processing and a withdrawal ID is returned immediately. Actual transfer and all compliance checks (e.g., AML/KYC, travel rule) are performed asynchronously. The network fee is deducted from the user's balance in addition to the withdrawal amount. You can track the status and outcome using the Get Crypto Withdrawal Details endpoint. - API References > Crypto Withdrawals [Get Crypto Withdrawal Details](https://partner-api-docs.p100.io/get-crypto-withdrawal-details-19693674e0.md): Retrieves the full status and details of a specific crypto withdrawal by its unique ID. Use this endpoint to check whether a withdrawal was successful, is still processing, or failed (with error details if applicable). The response includes all relevant information about the withdrawal, such as amounts, status, blockchain transaction hash, and user details. This is the recommended way to track the outcome of a crypto withdrawal and for troubleshooting any issues. - API References > Internal Transfers [Create a Transfer](https://partner-api-docs.p100.io/create-a-transfer-19693578e0.md): This endpoint allows you to initiate a transfer of funds between a user and the partner account. The partner's balance is always involved: if `sourceExternalUserId` is provided, funds move from the user to the partner; if `destinationExternalUserId` is provided, funds move from the partner to the user. Direct user-to-user transfers are not supported. The request must specify the amount and currency, and at least one of the user IDs. After the request is accepted, the transfer is scheduled for processing asynchronously. Use the Get Transfer Details endpoint to track the final status and outcome, including any errors such as insufficient funds or invalid parameters. - API References > Internal Transfers [Get Transfer Details](https://partner-api-docs.p100.io/get-transfer-details-19693628e0.md): This endpoint returns detailed information about a specific transfer, including the source and destination user IDs, amount, currency, status, and creation time. Use this endpoint to track the status and outcome of a transfer after it has been created, check for errors, or retrieve all relevant data for reporting and reconciliation. - API References > Virtual Cards [Create Virtual Card](https://partner-api-docs.p100.io/create-virtual-card-19693688e0.md): This endpoint allows you to create a new virtual card for a user. The user must be from a supported country and not exceed card limits. Each card is associated with a label and a PIN code. - API References > Virtual Cards [Get All User Cards](https://partner-api-docs.p100.io/get-all-user-cards-19693689e0.md): This endpoint returns a list of all virtual cards belonging to a specific user. Use this endpoint to retrieve an overview of every card (active or locked) associated with the given user in your system. The response includes basic information for each card, such as its unique ID, status, label, and the last four digits of the card number. This is useful for displaying a user's cards in your application, managing card actions, or auditing card usage. - API References > Virtual Cards [Get Card Details](https://partner-api-docs.p100.io/get-card-details-19693695e0.md): This endpoint returns detailed information about a specific virtual card belonging to a user. Use this endpoint when you need to display or verify sensitive card details, such as the full card number, CVV, and expiration date, for a given card. This is typically used in secure areas of your application, for example when showing card details to the user, verifying card credentials, or preparing for a transaction. The response includes the card's status and all necessary data for online or in-app payments. - API References > Virtual Cards [Update Card PIN](https://partner-api-docs.p100.io/update-card-pin-19693698e0.md): This endpoint allows you to update the PIN code for a specific virtual card belonging to a user. Use this endpoint when a user wants to change their card's PIN for security reasons or if they have forgotten their current PIN. The request requires the user's external ID, the card ID, and the new PIN code. A successful response confirms that the PIN has been updated and the card can be used with the new PIN immediately. - API References > Virtual Cards [Block Card](https://partner-api-docs.p100.io/block-card-19693700e0.md): This endpoint allows you to block a specific virtual card belonging to a user. Use this endpoint when a user wants to temporarily disable their card, for example if it is lost, stolen, or suspected of unauthorized use. Blocking a card prevents any further transactions until it is unblocked. The request requires the user's external ID and the card ID. A successful response confirms that the card has been blocked and is no longer usable for payments or withdrawals. - API References > Virtual Cards [Unblock Card](https://partner-api-docs.p100.io/unblock-card-19693702e0.md): This endpoint allows you to unblock a previously blocked virtual card belonging to a user. Use this endpoint to re-enable a card that was temporarily disabled, allowing it to be used for transactions again. The request requires the user's external ID and the card ID. A successful response confirms that the card has been unblocked and is ready for use. - API References > Virtual Cards [Get Card Limits](https://partner-api-docs.p100.io/get-card-limits-19693710e0.md): This endpoint returns the transaction limits for a specific virtual card belonging to a user. Use this endpoint to check the current daily and monthly limits for all types of transactions (total, ATM, and e-commerce) on a given card. This is useful for displaying limit information to users, validating transactions, or auditing card usage. The response provides the exact numeric limits currently set for the card. - API References > Virtual Cards [Update Card Limits](https://partner-api-docs.p100.io/update-card-limits-19693717e0.md): This endpoint allows you to update the daily and monthly limits for a specific virtual card. Use this endpoint to adjust how much can be spent or withdrawn with the card, either for all transactions, ATM withdrawals, or e-commerce payments. This is useful if a user requests a higher or lower limit, or if you need to enforce new spending policies. Provide the user's external ID, the card ID, and the new limit values. A successful response means the new limits are active immediately for the card. - API References > Virtual Cards [ Delete Card](https://partner-api-docs.p100.io/-delete-card-19848419e0.md): This endpoint allows you to permanently delete a virtual card belonging to a user. Use this endpoint when a card is no longer needed or has been compromised beyond recovery. Once a card is deleted, it cannot be recovered or used for any further transactions. The request requires the user's external ID and the card ID. A successful response confirms that the card has been permanently removed from the system. - Integration > Webhooks > User & KYC Webhooks [User Balance Generation](https://partner-api-docs.p100.io/user-balance-generation-19848469e0.md): This event is dispatched automatically following the successful completion of a user's KYC verification. It provides a real-time notification that their fiat balances have transitioned from `WAITING_FOR_ACTIVATION` to `ACTIVE`. - Integration > Webhooks > User & KYC Webhooks [ KYC File Added](https://partner-api-docs.p100.io/-kyc-file-added-19868429e0.md): This event is dispatched immediately following an attempt to upload a user's KYC document via the API. It provides real-time feedback on the outcome of the file submission. - Integration > Webhooks > User & KYC Webhooks [POA Verification Status](https://partner-api-docs.p100.io/poa-verification-status-19868998e0.md): This event is dispatched whenever the status of a user's Proof of Address (POA) verification changes. It provides real-time updates on the verification lifecycle, from initial submission to final approval or rejection. Use this webhook to automate user communication and internal workflows based on the outcome of the POA check. - Integration > Webhooks > User & KYC Webhooks [KYC Verification Status](https://partner-api-docs.p100.io/kyc-verification-status-19868999e0.md): This event provides detailed, real-time updates on the Know Your Customer (KYC) verification process. It is triggered whenever there is a change in the user's overall verification status or the status of a specific verification attempt. - Integration > Webhooks > Transfers & Payments Webhooks [P2P Transfer Webhook](https://partner-api-docs.p100.io/p2p-transfer-webhook-19869016e0.md): This event is triggered whenever the status of a transfer changes, providing a real-time notification about the final outcome of the transaction. This webhook is essential for updating user balances, transaction histories, and for providing users with immediate feedback, especially in the case of a failed transfer where a reason is provided in the error object. - Integration > Webhooks > Transfers & Payments Webhooks [SEPA Transfer](https://partner-api-docs.p100.io/sepa-transfer-19869017e0.md): This event is triggered whenever the status of a SEPA transfer is updated. It delivers a payload whose structure depends on the outcome of the transaction. - Integration > Webhooks > Transfers & Payments Webhooks [SEPA Deposit](https://partner-api-docs.p100.io/sepa-deposit-19884025e0.md): This event is dispatched when a new SEPA deposit is successfully received and credited to a user's account. It provides all necessary details of the incoming bank transfer, including the sender and amount. Use this webhook to update user balances in real-time and maintain an accurate transaction history. - Integration > Webhooks > Transfers & Payments Webhooks [Crypto Withdrawal](https://partner-api-docs.p100.io/crypto-withdrawal-19869018e0.md): This event is triggered whenever the status of a cryptocurrency withdrawal is updated. It provides a real-time notification on the progress of the transaction, from internal processing to its confirmation on the blockchain. Use this webhook to inform users about the status of their funds and to maintain an accurate, up-to-date transaction history. - Integration > Webhooks > Transfers & Payments Webhooks [Crypto Deposit](https://partner-api-docs.p100.io/crypto-deposit-19869098e0.md): This event is triggered whenever the status of an incoming cryptocurrency deposit is updated. It provides real-time notifications for the entire lifecycle of a deposit, from its initial detection on the blockchain to its final confirmation and crediting. Use this webhook to accurately update user balances and maintain a precise transaction history. - Integration > Webhooks > Transfers & Payments Webhooks [Exchange ](https://partner-api-docs.p100.io/exchange-19869099e0.md): This event is triggered whenever the status of a currency exchange is updated, providing a real-time notification about the final outcome. This webhook is essential for confirming transactions, accurately updating user balances for both the source and destination currencies, and recording the final exchange rate and fees. - Integration > Webhooks > Transfers & Payments Webhooks [Card Transaction](https://partner-api-docs.p100.io/card-transaction-19884005e0.md): This event is dispatched in real-time for every successful transaction made with a user's card. It provides essential details about the transaction, including the merchant and amount. Use this webhook to maintain an accurate transaction history for your users and to power features like instant spending notifications. - Integration > Webhooks > Card Webhooks [Card 3DS Code](https://partner-api-docs.p100.io/card-3ds-code-19869100e0.md): This event is dispatched when a card transaction requires 3-D Secure (3DS) authentication. It delivers the necessary one-time code directly to your system, along with key transaction details such as the merchant name and amount. Your application should immediately display this code to the end-user, enabling them to authorize the payment securely. - Integration > Webhooks > Card Webhooks [Card Activation Code](https://partner-api-docs.p100.io/card-activation-code-19869261e0.md): This event is dispatched when a user initiates the process of adding their card to a digital wallet (e.g., Google Pay, Apple Pay). It securely delivers the one-time activation code required to complete this provisioning process. Your application should present this code to the end-user, enabling them to finalize adding the card to their wallet.