Liquidesk API Reference

Complete API documentation for integrating instant FX and cross-border payments into your application.

Authentication

All API requests require authentication using API keys. Include your API key in the request header.

cURL
curl https://api.liquidesk.com/v1/payouts \
  -H "Authorization: Bearer sk_live_abc123xyz..."
Note: Never expose your secret API keys in client-side code or public repositories. Use environment variables to store your keys securely.

Base URL

All API requests should be made to the following base URL:

https://api.liquidesk.com

For testing and development, use the sandbox environment:

https://sandbox.liquidesk.com

Rate Limits

API rate limits are applied per API key to ensure fair usage and system stability.

Standard 100 requests/minute
Enterprise 1,000 requests/minute

Rate limit information is included in response headers:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640995200

Error Handling

The API uses standard HTTP status codes and returns error details in JSON format.

400
Bad Request

Invalid parameters or malformed request

401
Unauthorized

Invalid or missing API key

404
Not Found

Resource not found

429
Too Many Requests

Rate limit exceeded

500
Internal Server Error

Server error, please try again later

Error Response Example
{
  "error": {
    "code": "invalid_request",
    "message": "The amount must be greater than 0",
    "type": "validation_error"
  }
}

Payouts

Create and manage payout transactions to bank accounts, mobile money wallets, and other payment methods.

Create Payout

POST /v1/payouts
Request
{
  "amount": 1000,
  "currency": "USD",
  "recipient": {
    "type": "bank_account",
    "account_number": "0123456789",
    "bank_code": "058",
    "name": "John Doe"
  },
  "reference": "payout_12345",
  "metadata": {
    "description": "Payment for services"
  }
}
Response
{
  "id": "po_abc123xyz",
  "status": "pending",
  "amount": 1000,
  "currency": "USD",
  "created_at": "2025-01-15T10:30:00Z",
  "reference": "payout_12345"
}

FX Quotes

Get real-time foreign exchange quotes for currency pairs.

Get Quote

POST /v1/fx/quotes
Request
{
  "from_currency": "USD",
  "to_currency": "NGN",
  "amount": 1000
}
Response
{
  "quote_id": "qt_abc123xyz",
  "from_currency": "USD",
  "to_currency": "NGN",
  "amount": 1000,
  "rate": 1450.59,
  "fee": 2.50,
  "total": 1453009.00,
  "expires_at": "2025-01-15T10:35:00Z"
}

Webhooks

Receive real-time notifications about transaction status changes, settlements, and other events.

Webhook Payload Example
{
  "event": "payout.completed",
  "data": {
    "id": "po_abc123xyz",
    "status": "completed",
    "amount": 1000,
    "currency": "USD"
  },
  "timestamp": "2025-01-15T10:30:00Z"
}