APIs That Work The Way You Think
A pure REST API with predictable conventions, OpenAPI 3.0 spec, and comprehensive documentation. Use any HTTP client, in any language — no SDK required.
Comprehensive Docs
Full API reference, guides, tutorials, and integration patterns for every product.
Sandbox Environment
Isolated test environment with simulated card transactions, redemptions, and payouts.
Webhook Events
Receive real-time event notifications. Retries, signatures, and delivery guarantees built-in.
API Keys & Auth
API key management with granular scopes, IP allowlists, and automatic key rotation.
Idempotency Built-In
All write endpoints support idempotency keys to safely retry failed requests.
OpenAPI 3.0 Spec
Download our OpenAPI spec to generate client code, mock servers, or import into Postman.
Up and Running in 5 Minutes
Authenticate with your API key and make your first REST call. No SDK to install — any HTTP client works.
- 1
Get your API key
Request access and retrieve your key from the ClvrPay dashboard.
- 2
Make an authenticated request
Pass your key as a Bearer token in the Authorization header.
- 3
Subscribe to webhooks
Receive real-time events for transactions, payouts, and redemptions.
// Pure REST — no SDK needed. Works from any language.
const response = await fetch('https://api.clvrpay.com/v1/cards', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.CLVRPAY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
type: 'virtual',
network: 'visa',
currency: 'USD',
spend_controls: {
spend_limit: 10000, // $100
interval: 'monthly',
},
}),
});
const card = await response.json();
console.log('Card issued!', {
id: card.id,
last4: card.last4,
status: card.status, // 'active'
});Works From Any Language
The ClvrPay API is plain REST over HTTPS. Use whichever HTTP client your stack already has — no library to install, no lock-in.
curl -X POST https://api.clvrpay.com/v1/cards \
-H "Authorization: Bearer $CLVRPAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"virtual","network":"visa","currency":"USD"}'import requests
res = requests.post(
"https://api.clvrpay.com/v1/cards",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"type": "virtual", "network": "visa", "currency": "USD"},
)
card = res.json()$ch = curl_init('https://api.clvrpay.com/v1/cards');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS,
json_encode(['type'=>'virtual','network'=>'visa'])
);
$card = json_decode(curl_exec($ch), true);React to Events in Real Time
Subscribe to events across all products. Every card transaction, voucher redemption, and payout status change triggers a signed webhook to your endpoint.
- HMAC-SHA256 signature verification
- Automatic retry with exponential backoff
- Event delivery guaranteed at-least-once
- 30-day event log for replay
- Webhook testing from dashboard
{
"id": "evt_01J9ABCXYZ",
"type": "card.transaction.authorized",
"created": 1731200000,
"data": {
"card_id": "card_01J8K9XYZ",
"transaction_id": "txn_01J9ABD",
"amount": 4999,
"currency": "USD",
"merchant": {
"name": "Google Ads",
"category": "advertising",
"mcc": "7311"
},
"status": "authorized",
"metadata": {
"user_id": "usr_123"
}
},
"signature": "sha256=3b7d8..."
}Ready to Start Building?
Get sandbox API access in minutes and start integrating NEXPOINTSOLUTION into your product today.