Changelogs
All notable changes to the Bitnob API are documented here.
Webhook payloads: top-level event_id
Refreshed webhook payloads for card top-up, card withdrawal, stablecoin transfer, and stablecoin deposit events to include a top-level `event_id`, making deduplication and tracing easier. The `transfer.success` event now also includes `transaction_id` in its data payload.
Card Issuing API v2 beta
New card creation endpoints are now available, with support for physical cards, custom BIN ranges, and 3D Secure. This update provides greater flexibility in how you issue and manage cards, while also improving security and control over card transactions.
Virtual Cards API v2
Refactored the Virtual Cards API to a resource-oriented design. Replaced /api/virtualcards/* with /api/cards and /api/customers namespaces, standardized route structure using :cardId and :customerId path parameters, and consolidated card operations under /api/cards/:cardId/*. Added endpoints for extended card details, spending-limit controls, and customer-cards lookup.
Breaking changes: legacy Virtual Cards endpoints removed
All previous endpoints under /api/virtualcards are no longer supported. Card operations now require an explicit cardId path parameter instead of implicit context, and the user-based model has been replaced with a customer-centric model using customerId. Update integrations to the new /api/cards and /api/customers namespaces before upgrading.
| Old Endpoint | New Endpoint |
|---|---|
| POST /api/virtualcards/create | POST /api/cards |
| POST /api/virtualcards/topup | POST /api/cards/:cardId/fund |
| POST /api/virtualcards/withdraw | POST /api/cards/:cardId/withdraw |
| POST /api/virtualcards/freeze | POST /api/cards/:cardId/freeze |
| POST /api/virtualcards/unfreeze | POST /api/cards/:cardId/unfreeze |
| POST /api/virtualcards/terminate | POST /api/cards/:cardId/terminate |