Skip to content

API Reference

Complete reference documentation for all FLUID Network API endpoints.

Base URLs

Sandbox Environment

https://sandbox-api.fluid-network.com/api/v1/payment-providers/

Production Environment

https://api.fluid-network.com/api/v1/payment-providers/

API Version

Current version: v1

The API version is included in the URL path. All endpoints are namespaced under /api/v1/payment-providers/.

Request Format

Headers

All API requests require these headers:

HeaderRequiredDescription
AuthorizationYesBearer token with your API key
Content-TypeYesMust be application/json
AcceptYesMust be application/json

Example Request

bash
curl -X GET \
  https://api.fluid-network.com/api/v1/payment-providers/banks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"

Response Format

All API responses follow a consistent JSON structure:

Success Response

json
{
  "success": true,
  "data": {
    // Response data
  },
  "meta": {
    "timestamp": "2025-11-12T14:30:00Z",
    "request_id": "req_abc123",
    "api_version": "v1"
  }
}

Error Response

json
{
  "success": false,
  "error": "Error message",
  "details": ["Additional error details"]
}

HTTP Status Codes

Status CodeDescription
200 OKRequest successful
400 Bad RequestInvalid request parameters
401 UnauthorizedInvalid or missing API key
403 ForbiddenAPI key lacks permission
404 Not FoundResource not found
422 Unprocessable EntityValidation error
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorServer error

Available Endpoints

Payment Providers API

Endpoints for payment providers (merchants, payment platforms) to initiate and manage transactions.

Banks

Endpoints for retrieving bank information and customer account lookups.

EndpointMethodDescription
List BanksGETGet all available banks
Get BankGETGet specific bank details
Lookup CustomerGETFind customer's linked banks

Debit Requests

Endpoints for initiating and managing debit transactions.

EndpointMethodDescription
Create ChargePOSTInitiate a debit request
Get StatusGETCheck transaction status

Banks API

Endpoints for banks to fetch and update transaction statuses.

INFO

These endpoints are for banks only. They use a different authentication token and base URL: /api/v1/banks/

EndpointMethodDescription
List TransactionsGETFetch pending transactions for a customer
Update TransactionPOSTUpdate transaction status after approval

Webhooks

Real-time notifications for transaction events.

TopicDescription
OverviewWebhook concepts and setup
Event TypesAvailable webhook events
Signature VerificationVerify webhook authenticity

Rate Limiting

API requests are rate-limited to ensure fair usage:

EnvironmentRequests per MinuteBurst Limit
Sandbox3050
Production60100

Rate limit headers are included in every response:

http
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1699876543

Learn more in the Rate Limiting Guide.

Authentication

All endpoints require Bearer token authentication:

http
Authorization: Bearer YOUR_API_KEY

For enhanced security, you can enable HMAC authentication:

Pagination

Endpoints that return lists support pagination using query parameters:

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger20Items per page (max 100)

Example:

bash
curl -X GET \
  "https://api.fluid-network.com/api/v1/payment-providers/banks?page=2&per_page=50" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response includes pagination metadata:

json
{
  "success": true,
  "data": [...],
  "meta": {
    "current_page": 2,
    "per_page": 50,
    "total_pages": 5,
    "total_count": 234
  }
}

Error Handling

All errors follow a consistent format. See the Error Handling Guide for details.

Common Error Codes

CodeDescriptionResolution
1001Invalid API keyCheck your API key is correct
1002API key disabledContact support
2001Invalid phone numberUse E.164 format (+233...)
2002Bank not foundCheck bank identifier
3001Insufficient fundsCustomer needs to fund account
3002Transaction declinedCustomer rejected transaction

Complete list: Error Codes Reference

Idempotency

Debit request endpoints support idempotency using the partner_reference field. Sending the same partner_reference multiple times will return the same transaction.

Learn more in the Idempotency Guide.

Testing

Use the Sandbox environment for testing:

See the Testing Guide for comprehensive testing strategies.

Need Help?