# Infinia API Documentation > Documentation for Infinia API ## Guides: Documentation - [Testing in Sandbox](https://docs.infiniaweb.com/docs/sandbox-testing.md): Use magic values in the sandbox to simulate deposits, successful payouts, failures and other scenarios without moving real funds. - [Postman Collections](https://docs.infiniaweb.com/docs/postman-collections.md): Explore and test every Infinia API product with ready-to-use Postman collections. - [Products Overview](https://docs.infiniaweb.com/docs/products-overview.md): Explore Infinia's money movement and compliance products, and find the one that fits each part of your flow. - [Virtual Accounts](https://docs.infiniaweb.com/docs/virtual-accounts-1.md): Learn what you need to open virtual accounts through Infinia: the account structure, the account owner behind each account, and the requirements of each country. - [Integration Model](https://docs.infiniaweb.com/docs/integration-model.md): Understand the company, sub-company and account hierarchy, and choose the right structure for your integration. - [Account Capabilities](https://docs.infiniaweb.com/docs/account-capabilities.md): Learn which account owners can open an account in each currency, and which payin and payout types are available to them. - [Transaction Limits](https://docs.infiniaweb.com/docs/transaction-limits.md): Learn the default monthly transaction limits per currency and account owner type, how to check an account's usage, and how to request a limit increase. - [Fund Flows](https://docs.infiniaweb.com/docs/fund-flows.md): Learn which fund flow patterns Infinia supports for on-ramp and off-ramp operations, with self-use and third-party accounts. - [Operation IDs and Movements](https://docs.infiniaweb.com/docs/operation-ids-and-movements.md): Learn which IDs Infinia returns for each operation and how to match an operation to the movement on your account statement. - [Account Owners](https://docs.infiniaweb.com/docs/account-owner.md): Learn how to create the account owner behind a named account with each KYC mode, and how to upload supporting documents. - [KYC Requirements by Country](https://docs.infiniaweb.com/docs/kyc-requirements-by-country.md): Learn which account owner data and documents you need to open a virtual account in each currency, and how to provide them with each KYC mode. - [Account Statuses](https://docs.infiniaweb.com/docs/account-statuses.md): Learn what each account status means, how an account moves between them, and which operations are available in each status. - [Payins](https://docs.infiniaweb.com/docs/payins.md): Collect one-time payments with a fixed amount and expiration time through dynamic funding instructions. - [Payouts](https://docs.infiniaweb.com/docs/payouts.md): Send one-time transfers from a virtual account to external bank accounts or crypto wallets. - [Internal Transfers](https://docs.infiniaweb.com/docs/internal-transfers.md): Move funds between Infinia virtual accounts, in the same currency or across currencies with FX quotes and rate locking. - [Bank Account Validation](https://docs.infiniaweb.com/docs/bank-account-validation.md): Validate that a bank account is active and verify its ownership before moving funds. - [Identity Validation](https://docs.infiniaweb.com/docs/identity-validation.md): Verify the identity of individuals and businesses against official sources for compliance and fraud prevention. - [Onboarding](https://docs.infiniaweb.com/docs/onboarding.md): Programmatically onboard your customers into the Infinia platform, run KYB, and request product access on their behalf. - [Geographies and Currencies](https://docs.infiniaweb.com/docs/geographies-and-currencies.md): See where Infinia virtual accounts are available, which stablecoins and networks Infinia supports, and which currencies you can convert between. - [Fiat Virtual Accounts](https://docs.infiniaweb.com/docs/virtual-accounts.md): See the countries, currencies and payment rails where Infinia virtual accounts are available, and the funding instructions payers receive for each. - [Stablecoins](https://docs.infiniaweb.com/docs/cryptocurrencies.md): See the stablecoins Infinia supports, the networks and contract addresses for each, and the currency code that identifies them in the API. - [Supported Currency & Stablecoin Pairs](https://docs.infiniaweb.com/docs/supported-currency-stablecoin-pairs.md): Find the currency pairs you can convert between, across fiat currencies and stablecoins, in both directions (for example, MXN ↔ USDC_POL). - [Argentina: Credit & Debit Tax](https://docs.infiniaweb.com/docs/argentina-credit-debit-tax.md): Learn how Argentina's tax on credits and debits applies to payins and payouts, depending on who sends and who receives the funds. ## Guides: MCP Server - [MCP](https://docs.infiniaweb.com/docs/mcp.md): Connect AI code editors and assistants to the Infinia API with the Infinia MCP server. ## API Reference: Getting started - [📩 Webhooks](https://docs.infiniaweb.com/reference/getting-started-webhooks.md): Receive signed notifications when your operations change, verify them, and handle retries and duplicate deliveries. - [📘 Developer Handbook](https://docs.infiniaweb.com/reference/introduction.md): Learn the conventions that apply across every Infinia API: asynchronous operations, webhooks, idempotency and pagination. - [🔐 Authentication](https://docs.infiniaweb.com/reference/authentication.md): Authenticate API requests with HTTP Basic authentication and act on behalf of your child companies. - [📄 Pagination](https://docs.infiniaweb.com/reference/pagination.md): Page through list endpoints with cursor-based pagination, using the limit and cursor parameters. - [🔁 Handling Failures and Recovering Transactions](https://docs.infiniaweb.com/reference/handling-failures.md): Retry requests safely with idempotency keys and recover operations whose outcome you don't know, without duplicates or data loss. ## API Reference: Payins - Payins - [Create Payment](https://docs.infiniaweb.com/reference/v1_create_payment__post.md): Create a one-time payment instruction with a fixed amount and expiration. To test different scenarios for each market and payment rail, please refer to the Examples tab on the right side of the… - [List Payments](https://docs.infiniaweb.com/reference/v1_list_payments__get.md): Retrieve a paginated list of payins. - [Get Payment Details](https://docs.infiniaweb.com/reference/v1_get_payment__id___get.md): Retrieve details of a payin. - [Refund Payment](https://docs.infiniaweb.com/reference/v1_6_refund_payment.md): Create a refund for a payin. Only completed payins are eligible for refunds. A refund may still fail after being initially marked as `SUCCESS`; in such cases, you'll receive a callback with `status… - [List Payment Refunds](https://docs.infiniaweb.com/reference/v1_7_list_payin_refunds.md): Retrieve a list of payin refunds. - Webhooks - [Payin updated](https://docs.infiniaweb.com/reference/v1_webhook_payin_updated.md): Sent when a payin changes status (`AWAITING` → `COMPLETED`, `ERROR`, `EXPIRED`, etc.). Set the destination URL using `callbackUrl` when creating the payment. The body is identical to the [Get… - [Payin refund updated](https://docs.infiniaweb.com/reference/v1_webhook_payin_refund_updated.md): Sent when a payin refund changes status. The body is identical to the [List Payin Refunds](ref:v1_7_list_payin_refunds) item response. ## API Reference: Payouts - Payouts - [Create Payout](https://docs.infiniaweb.com/reference/v2_create_payout__post.md): Create a new payout. To test different scenarios for each market, please refer to the Examples tab on the right side of the screen. Each market has a dedicated example. Use the following amounts… - [List Payouts](https://docs.infiniaweb.com/reference/v2_list_payouts__get.md): Retrieve a paginated list of payouts. - [Get Payout Details](https://docs.infiniaweb.com/reference/v2_get_payout__payout_id___get.md): Retrieve details of a payout. - Webhooks - [Payout updated](https://docs.infiniaweb.com/reference/v2_webhook_payout_updated.md): Sent when a payout changes status (`IN_PROGRESS` → `COMPLETED`, `FAILED`, etc.). Set the destination URL using `callbackUrl` when creating the payout. The body is identical to the [Get… ## API Reference: Accounts - Accounts - [Create Account](https://docs.infiniaweb.com/reference/v1_0_create_account_.md): Create a new account. ### Account status and lifecycle The `status` field reflects where the account is in its lifecycle. Possible values are: - `PROVISIONING`: the account is being set up and is… - [List Accounts](https://docs.infiniaweb.com/reference/v1_1_list_accounts_.md): Retrieves a paginated list of accounts. - [Get Account Details](https://docs.infiniaweb.com/reference/v1_2_get_account_.md): Retrieve details of an account. - [Update Account](https://docs.infiniaweb.com/reference/v1_4_update_account__.md): Partially update an existing account. Only the fields provided in the request body will be modified; all other fields will remain unchanged. - [Get Account Limits & Usage](https://docs.infiniaweb.com/reference/v1_5_get_account_limits_.md): Returns the current monthly volume used and configured limit for the account. - [List Account Movements](https://docs.infiniaweb.com/reference/v1_6_get_movements_.md): Retrieves a paginated list of debit/credit movements. - [[Sandbox] Create Deposit](https://docs.infiniaweb.com/reference/v1_7_create_deposit_.md): Create a deposit. This endpoint is only for testing purposes and works only in the sandbox environment. - [Refund Deposit](https://docs.infiniaweb.com/reference/v1_8_refund_deposit_.md): Create a refund for a deposit. Only deposit movements with `operation_type = CREDIT` are eligible. A refund may still fail after being initially marked as `SUCCESS`; in such cases, you'll receive a… - [List Deposit Refunds](https://docs.infiniaweb.com/reference/v1_9_list_deposit_refunds_.md): Retrieve a list of deposit refunds. - Internal Transfers - [List Internal Transfers](https://docs.infiniaweb.com/reference/v1_9_list_internal_transfer.md): Retrieves a list of internal transfers. - [Request FX Quote for Internal Transfer](https://docs.infiniaweb.com/reference/v1_7_create_quote.md): Create a quote for an internal transfer between different currencies. The quote will be valid for a limited time. You can then use the quote ID to execute the internal transfer. - [Make Internal Transfer](https://docs.infiniaweb.com/reference/v1_10_create_internal_transfer.md): Make an internal transfer between accounts of the same family of companies. An internal transfer can have the following statuses: * PENDING: The transfer has been created. * PROCESSING: The transfer… - [Get Internal Transfer Details](https://docs.infiniaweb.com/reference/v1_11_get_internal_transfer.md): Retrieve details of an internal transfer. - Account Owners - [Create Account Owner](https://docs.infiniaweb.com/reference/v1_1_create_account_owner.md): Create a new account owner for KYC purposes. - [List Account Owners](https://docs.infiniaweb.com/reference/v1_2_list_account_owners.md): Retrieves a paginated list of account owners with optional filters. - [Get Account Owner](https://docs.infiniaweb.com/reference/v1_3_get_account_owner_by_id.md): Retrieves a specific account owner by its UUID. - [Update Account Owner](https://docs.infiniaweb.com/reference/v1_5_update_account_owner.md): Update an existing account owner. Every data field can be updated except tax_id. Documents can be added or replaced: a replaced document is kept and marked superseded, never modified or deleted.… - [Initiate Document Upload](https://docs.infiniaweb.com/reference/v1_4_initiate_document_upload.md): Generate pre-signed URLs for uploading account owner documents.One of 'individual', 'organization', or 'external' is required depending on 'type' and 'kyc_mode'. - Webhooks - [Internal transfer updated](https://docs.infiniaweb.com/reference/v1_webhook_internal_transfer_updated.md): Sent when an internal transfer changes status (`PENDING` → `PROCESSING` → `COMPLETED`, `FAILED`, etc.). Set the destination URL using `callback_url` when creating the transfer. The body is identical… - [Movement created](https://docs.infiniaweb.com/reference/v1_webhook_movement_created.md): Sent when a new movement (credit or debit) is recorded on an account. The body is identical to an item from the [Get Movements](ref:v1_5_get_movements) response. - [Deposit refund updated](https://docs.infiniaweb.com/reference/v1_webhook_deposit_refund_updated.md): Sent when a deposit refund changes status. The body is identical to an item from the [List Deposit Refunds](ref:v1_7_list_deposit_refunds) response. - [FX quote updated](https://docs.infiniaweb.com/reference/v1_webhook_fx_quote_updated.md): Sent when an FX quote changes status (`ACTIVE` → `COMPLETED`, `FAILED`, `EXPIRED`, etc.). Set the destination URL using `callback_url` when creating the quote. The body is identical to the [Get FX… - [Account status updated](https://docs.infiniaweb.com/reference/v1_webhook_account_status_updated.md): Sent when an account changes status (e.g. `PROVISIONING` → `ACTIVE`, `ACTIVE` → `SUSPENDED`, `CLOSED`, `REJECTED`). No notification is sent when the status does not change. Set the destination URL… ## API Reference: Webhooks - Webhooks - [List Webhooks](https://docs.infiniaweb.com/reference/v1_list_webhooks__get.md): Retrieve a paginated list of webhooks. - [Update Webhook](https://docs.infiniaweb.com/reference/v1_update_webhook__webhook_id___patch.md): Updates an existing webhook's configuration or status. If the webhook is currently in an ERROR state, you can trigger a resend by updating its status to PENDING. ## API Reference: Bank Account Validation - Local Bank Account Validation - [Create Bank Account Validation](https://docs.infiniaweb.com/reference/v1_create_account_identity__post.md): Create a bank account validation request. The response will contain the validation request ID which you can use later to retrieve the result. The validation process may take a few seconds.

If… - [List Bank Account Validations](https://docs.infiniaweb.com/reference/v1_list_account_identity__get.md): Retrieve a paginated list of bank account validation requests. - [Get Bank Account Validation Details](https://docs.infiniaweb.com/reference/v1_get_account_identity__id___get.md): Retrieve the validation information using the validation request ID previously obtained from the Create Bank Account Validation endpoint. - Webhooks - [Bank account validation updated](https://docs.infiniaweb.com/reference/v1_webhook_bank_account_validation_updated.md): Sent when a bank account validation changes status (`IN_PROGRESS` → `SUCCESSFUL`, `ERROR`, `TEMPORARY_FAILURE`, etc.). Set the destination URL using `callback_url` when creating the validation. The… ## API Reference: Identity Validation - Identity Validation - [Create Identity Validation](https://docs.infiniaweb.com/reference/v1_create_identity_validation__post.md): Create an identity validation request to verify the identity of a user. The response carries the full validation; when the result is not available yet, the status is IN_PROGRESS and the country data… - [List Identity Validation Requests](https://docs.infiniaweb.com/reference/v1_list_identity_validations__get.md): Retrieve a paginated list of identity validation requests. - [Get Identity Validation Details](https://docs.infiniaweb.com/reference/v1_get_identity_validation__id___get.md): Retrieve an identity validation information using the validation request ID previously obtained from the Create Identity Validation endpoint. - Webhooks - [Identity validation updated](https://docs.infiniaweb.com/reference/v1_webhook_identity_validation_updated.md): Sent when an identity validation changes status (`IN_PROGRESS` → `SUCCESSFUL`, `FAILED`, `TEMPORARY_FAILURE`, etc.). Set the destination URL using `callback_url` when creating the validation. The… ## API Reference: Onboarding - Onboarding - [Create Subcompany](https://docs.infiniaweb.com/reference/v1_create_company_endpoint_company__post.md): Create a subcompany. - [List Companies](https://docs.infiniaweb.com/reference/v1_list_accounts_company__get.md): Retrieve a list of companies and child companies. - [Get Company Details](https://docs.infiniaweb.com/reference/v1_get_company_endpoint_company__company_id___get.md): Retrieve the details of a company. - [Enable Product and Geography](https://docs.infiniaweb.com/reference/v1_enable_product_company__company_id__product__post.md): Request enablement of a product and geography for a company. This action is required for all companies created via the Create Subcompany endpoint. Products and geographies for primary companies… - [Get Company Products](https://docs.infiniaweb.com/reference/v1_get_products_endpoint_company__company_id__product__get.md): Retrieve enabled products for a company. In Sandbox, primary companies have all products and geographies enabled by default, so the full catalog is returned as APPROVED. - Webhooks - [Product updated](https://docs.infiniaweb.com/reference/v1_webhook_product_updated.md): Sent when a product request changes status (e.g. `PENDING` → `APPROVED`). Set the destination URL using `callback_url` when enabling a product. The body is identical to an item from the [Get Company… ## API Reference: Cases - Cases - [List Cases](https://docs.infiniaweb.com/reference/v1_1_list_cases.md): Returns a paginated list of your cases, newest first. `status` tells you who has to act next; use `reference_url` to open the support ticket and answer. - [Get Case Details](https://docs.infiniaweb.com/reference/v1_2_get_case.md): Retrieve details of a case. ## API Reference: Audits - Audits - [List User Audits](https://docs.infiniaweb.com/reference/v1_1_list_user_audits_.md): Retrieve a list of user audits. ## API Reference: Troubleshooting - Troubleshooting - [Trace a deposit by rail reference](https://docs.infiniaweb.com/reference/v1_0_lookup_deposit_.md): Traces an incoming deposit to one of your virtual accounts by the reference on the payer's receipt, and tells you what happened to it: credited, still pending, rejected, expired, or settled on the… - [List rejected deposits](https://docs.infiniaweb.com/reference/v1_1_list_rejected_deposits_.md): Lists the incoming deposits to your virtual accounts that the payment rail rejected. A rejected deposit is never credited and its funds are returned to the payer, so it does not appear among your… ## API Reference: Claims - Claims - [List Claims](https://docs.infiniaweb.com/reference/v1_2_list_claims.md): Returns a paginated list of claims. - [Get Claim Details](https://docs.infiniaweb.com/reference/v1_3_get_claim.md): Retrieve details of a claim. ## Pages - [BO Bank Branchs](https://docs.infiniaweb.com/page/bo-bank-branchs.md) - [BO Bank Codes](https://docs.infiniaweb.com/page/bo-bank-codes.md) - [BR Account Types](https://docs.infiniaweb.com/page/br-account-types.md) - [BR Bank Codes](https://docs.infiniaweb.com/page/br-bank-codes.md) - [CO Bank Codes](https://docs.infiniaweb.com/page/co-bank-codes.md) - [PE Bank Codes](https://docs.infiniaweb.com/page/pe-bank-codes.md) - [PK Bank Codes](https://docs.infiniaweb.com/page/pk-bank-codes.md) - [PY Bank Codes](https://docs.infiniaweb.com/page/py-bank-codes.md) - [UY Bank Codes](https://docs.infiniaweb.com/page/uy-bank-codes.md)