NorthPole — Business API
This page documents only the server-to-server endpoints secured by an x-api-key header. These endpoints are intended for backend integrations and require a business API key issued from the dashboard.
All requests must send the header x-api-key: YOUR_BUSINESS_API_KEY. Unauthorized or missing keys return 401 Unauthorized.
GET /api/business/details Headers: x-api-key: YOUR_BUSINESS_API_KEY
Retrieve public-facing business details (id, name, logo, KYB status, active flag).
GET /api/business/details
Headers:
x-api-key: YOUR_BUSINESS_API_KEY
Response 200:
{
"id": "business_123",
"name": "Acme Corp",
"logo": "https://.../logo.png",
"kyb_status": "verified",
"is_active": true
}List all wallets owned by the authenticated business, including associated virtual account details.
GET /api/business/wallets Headers: x-api-key: YOUR_BUSINESS_API_KEY Response 200: Array of wallets with currency, balance, and optional virtual_account
Create and manage time-limited payment sessions that customers use to complete payments into your business virtual account.
POST /api/business/payments/session
Headers:
x-api-key: YOUR_BUSINESS_API_KEY
Content-Type: application/json
{
"amount": 5000,
"currency": "NGN",
"customer_name": "John Doe",
"customer_email": "john@example.com",
"metadata": { "order_id": "ORD-1001" }
}GET /api/business/payments/session/:sessionId (public endpoint — does not require API key)
GET /api/business/payments/session/:sessionId/verify Headers: x-api-key: YOUR_BUSINESS_API_KEY
GET /api/business/:businessId/payments/sessions Headers: x-api-key: YOUR_BUSINESS_API_KEY
Invalid or missing API keys return 401. Rate limits and quota exceeded return 429. All error responses follow the format {"success":false,"message":"..."} where possible.