API Reference
The ReloadCard API lets you manage gift cards programmatically. All endpoints use Bearer token authentication and return JSON.
Base URL
https://merchant.reloadcard.app/api/v1
Authentication
All API requests require a Bearer token. Generate API keys from your merchant dashboard under Settings → API Keys.
curl -H "Authorization: Bearer rc_live_your_api_key_here" \
https://merchant.reloadcard.app/api/v1/cards
Authentication details →
Endpoints
Cards
| Method | Endpoint | Description |
|---|
GET | /cards | List all cards |
POST | /cards | Create a new card |
GET | /cards/:uuid | Get card details + transactions |
POST | /cards/:uuid/activate | Activate with initial balance |
POST | /cards/:uuid/credit | Add balance |
POST | /cards/:uuid/debit | Remove balance (POS redemption) |
GET | /cards/:uuid/balance | Check balance |
POST | /cards/:uuid/disable | Disable card permanently |
POST | /cards/:uuid/claim | Claim a pre-loaded card |
POST | /cards/load | Load money onto a card |
Card endpoints in detail →
Batches
| Method | Endpoint | Description |
|---|
POST | /batches/:id/provision | Provision Shopify gift cards for a batch |
Transfers
| Method | Endpoint | Description |
|---|
GET | /transfers/fx-rate | Get exchange rate for cross-currency transfer |
Store Credit
| Method | Endpoint | Description |
|---|
POST | /store-credit | Issue store credit to a consumer |
Store credit details →
Transactions
| Method | Endpoint | Description |
|---|
GET | /transactions | List all transactions |
Webhooks
| Method | Endpoint | Description |
|---|
POST | /webhooks | Register a new webhook |
GET | /webhooks | List all webhooks |
PATCH | /webhooks/:id | Update a webhook (URL, events, active status) |
DELETE | /webhooks/:id | Delete a webhook |
Webhook endpoints in detail →
Idempotency
The debit and credit endpoints support idempotency keys to prevent duplicate operations. Include an Idempotency-Key header with a unique string (e.g., a UUID) for each request. If the same key is sent again within 24 hours, the original response is returned without re-processing the operation.
curl -X POST https://merchant.reloadcard.app/api/v1/cards/a1b2c3d4/debit \
-H "Authorization: Bearer rc_live_your_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
-d '{ "amountCents": 1500, "note": "Order #1234" }'Rate limits
| Endpoint | Limit |
|---|
| Card create | 50 requests/minute |
| Activate | 20 requests/minute |
| Debit / Credit | 50 requests/minute |
| Store credit | 100 requests/hour |
| Read endpoints | No limit |
Error codes
| Status | Meaning |
|---|
200 | Success |
201 | Created |
400 | Bad request — check your parameters |
401 | Unauthorized — invalid or missing API key |
404 | Not found — card doesn't exist or doesn't belong to you |
409 | Conflict — card already in that state |
429 | Rate limited — slow down |
500 | Server error — retry or contact support |