API Documentation

Build with Nixo Finance APIs

Everything you need to integrate payments, payouts, and financial services into your platform. Start building in minutes with our comprehensive REST APIs.

99.99%
API Uptime
<200ms
Response Time
180+
Countries
PCI DSS
Certified
Quick Start

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.

Sandbox & Production
Secret Keys
Global Transfers
Real-time Webhooks
Base URLs: api.sandbox.nixo.top · api.nixo.top
1 # List recent payouts
2 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"
Use your sandbox secret key for testing. Production keys should only be used on secure backend servers, never in client-side code.

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 request
2 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"
Never expose secret keys in mobile apps, browsers, or public repositories. Rotate keys regularly from the dashboard.

Your First Payout

Create a sandbox payout to test the API. In production, the same call moves real money.

1 # Create a payout
2 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": 1737849600
8 }
Congrats! You've created your first payout. Track its status via the GET /v1/payouts/{id} endpoint or via webhooks.

Payouts API

Create, list, and track cross-border payouts with real-time status updates.

POST /v1/payouts

Create a new payout to send money to a recipient's bank account. Supports multiple currencies and countries.

GET /v1/payouts

Retrieve a list of all payouts with pagination and optional filters (status, date range, currency).

GET /v1/payouts/{id}

Retrieve a single payout by ID. Returns full details including recipient info and status history.

DELETE /v1/payouts/{id}/cancel

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.

POST /v1/accounts

Create a new account for a customer or business. Include KYC information for compliance.

GET /v1/accounts/{id}

Retrieve account details including verification status, limits, and associated balances.

PUT /v1/accounts/{id}

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.

GET /v1/transactions

List all transactions with advanced filtering (date range, type, status, amount range).

GET /v1/transactions/{id}

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 /v1/balances

Get all balances for your account. Returns available balance, pending balance, and reserved funds.

1 # Response example
2 {
3 "object": "balance",
4 "available": [
5 {
6 "currency": "USD",
7 "amount": 12500.50
8 }
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
Verify webhook signatures using the 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 example
2 {
3 "error": {
4 "code": "invalid_request",
5 "message": "Amount must be greater than 0",
6 "field": "amount"
7 }
8 }
Treat 5xx errors as retriable with exponential backoff. Use Idempotency-Key for POST requests.