Skip to main content
By the end, you will have signed your requests with a JSON Web Signature (JWS), funded a test Account, and sent your first Transfer. The examples cover Mexico and Chile. Pick the tab for the country your organization operates in.

Step 1: Get your test API keys

In the dashboard, go to Developers → API Keys. You’ll see keys for test (sk_test_...) and live (sk_live_...) modes. Copy the test secret key.

Step 2: Register JWS keys

Money-moving endpoints require signed requests. These endpoints create transfers, return transfers, or verify a standardized Mexican bank account number. Follow Generate JWS keys to create a key pair and upload the public key. Return to this page when you’re done.

Step 3: List your accounts

Every organization starts with a root Account. In Mexico, a root Account is also known as Centro de Costos. Fetch the root account with a GET request to /v2/accounts:
cURL
The response looks like this. The currency and the shape of root_account_number depend on the country of your organization:

Use an SDK

If you’re using Node or Python, install the Node SDK or Python SDK to call the API. The SDK signs each request with JWS and handles pagination. Install an SDK:
List your accounts:
Keep the id (acc_...) and root_account_number_id (acno_...) from the response. Use root_account_number_id to fund the test Account. Use id to create the outbound Transfer.

Step 4: Fund your test account

Your test Account starts empty. Simulate an inbound transfer so you have money to send:
The response is the simulated inbound Transfer that funds your Account:
Currencies are represented as integersThe Fintoc API represents money in the smallest currency unit as an integer with no decimals. An amount of $590.13 MXN is 59013. CLP has no minor unit, so an amount of $59,013 CLP is also 59013.See Currencies.
See Test your integration for simulations of failures, returns, and rejected payouts.

Step 5: Send your first transfer

Create an outbound Transfer from the test Account you funded. In Mexico, the counterparty needs only the recipient’s standardized Mexican bank account number (CLABE). In Chile, the counterparty also needs the recipient’s Chilean tax ID (RUT), name, account type, and institution:
The response is the outbound Transfer you created:

Step 6: Create a webhook endpoint

Webhooks notify your server when a transfer settles, so you don’t need to poll for status. Go to Developers → Webhooks in the dashboard. Add your URL, then subscribe to transfer.inbound.succeeded and transfer.outbound.succeeded.

Test the integration

Confirm the full flow worked end to end:
  1. After Step 4, list your accounts again and confirm available_balance increased by 59013.
  2. Confirm the Step 5 transfer returns "status": "succeeded".
  3. After Step 6, repeat Steps 4 and 5. Confirm your endpoint receives a transfer.outbound.succeeded webhook for the new outbound transfer.