Nixo API Overview
The Nixo API lets you move money across borders, create accounts, manage balances, and listen to real-time events. This guide covers authentication, environments, and your first API call.
api.sandbox.nixo.top
·
api.nixo.top
1 # List recent payouts2 curl -X GET \3 "https://api.sandbox.nixo.top/v1/payouts?limit=5" \4 -H "Authorization: Bearer YOUR_KEY" \5 -H "Nixo-Version: 2025-01-01"
Authentication
Nixo uses secret API keys and bearer tokens to authenticate requests. All requests must be made over HTTPS.
| Header | Required | Example | Description |
|---|---|---|---|
Authorization |
✓ Yes | Bearer sk_sandbox_123 |
Your secret API key |
Nixo-Version |
~ Recommended | 2025-01-01 |
Pin to API version |
Idempotency-Key |
~ Recommended | uuid-123 |
Safe retry for POST |
1 # Example authenticated request2 curl -X GET \3 "https://api.sandbox.nixo.top/v1/accounts/me" \4 -H "Authorization: Bearer YOUR_KEY" \5 -H "Nixo-Version: 2025-01-01"
Your First Payout
Create a sandbox payout to test the API. In production, the same call moves real money.
1 # Create a payout2 curl -X POST \3 "https://api.sandbox.nixo.top/v1/payouts" \4 -H "Authorization: Bearer YOUR_KEY" \5 -H "Content-Type: application/json" \6 -d '{7 "amount": 250.00,8 "currency": "USD",9 "destination_country": "MA",10 "recipient": {11 "full_name": "Test User",12 "account_iban": "MA64000..."13 }14 }'
Response Example:
1 {2 "id": "pyt_1A2B3C4D5E6F",3 "object": "payout",4 "amount": 250.00,5 "currency": "USD",6 "status": "processing",7 "created": 17378496008 }
GET /v1/payouts/{id} endpoint or via webhooks.
Payouts API
Create, list, and track cross-border payouts with real-time status updates.
Create a new payout to send money to a recipient's bank account. Supports multiple currencies and countries.
Retrieve a list of all payouts with pagination and optional filters (status, date range, currency).
Retrieve a single payout by ID. Returns full details including recipient info and status history.
Cancel a pending payout. Only payouts with status pending or processing can be cancelled.
Accounts API
Create and manage customer accounts, business profiles, and KYC verification.
Create a new account for a customer or business. Include KYC information for compliance.
Retrieve account details including verification status, limits, and associated balances.
Update account information such as contact details, business info, or verification documents.
Transactions API
View transaction history, search by filters, and export data for accounting.
List all transactions with advanced filtering (date range, type, status, amount range).
Get detailed information about a specific transaction including fees and exchange rates.
Balances API
Check account balances across multiple currencies and track available vs. pending funds.
Get all balances for your account. Returns available balance, pending balance, and reserved funds.
1 # Response example2 {3 "object": "balance",4 "available": [5 {6 "currency": "USD",7 "amount": 12500.508 }9 ]10 }
Webhooks
Receive real-time notifications when important events occur in your account.
| Event | Description |
|---|---|
payout.created |
Payout is accepted for processing |
payout.processing |
Payout is being processed |
payout.succeeded |
Funds delivered to recipient |
payout.failed |
Payout could not be completed |
balance.updated |
Account balance changed |
account.verified |
Account KYC verification completed |
Nixo-Signature header to ensure requests are from Nixo.
Error Handling
Nixo uses standard HTTP status codes and returns structured JSON errors with detailed information.
| Status | Type | Code | Description |
|---|---|---|---|
400 |
Validation | invalid_request |
Request validation failed |
401 |
Auth | invalid_api_key |
API key is invalid or expired |
403 |
Permission | permission_denied |
Insufficient permissions |
404 |
Not Found | resource_not_found |
Resource does not exist |
429 |
Rate Limit | rate_limit_exceeded |
Too many requests |
500+ |
Server | internal_error |
Internal server error |
1 # Error response example2 {3 "error": {4 "code": "invalid_request",5 "message": "Amount must be greater than 0",6 "field": "amount"7 }8 }
5xx errors as retriable with exponential backoff. Use Idempotency-Key for POST requests.