Changelogs
All notable changes to the Bitnob API are documented here.
Virtual Cards API v2
Refactored the Virtual Cards API to follow a resource-oriented design with standardized RESTful endpoints.
Changed
Refactored Virtual Cards API to follow a resource-oriented design
Replaced /api/virtualcards/* endpoints with /api/cards and /api/customers namespaces
Standardized route structure using path parameters (e.g. :cardId, :customerId)
Consolidated card operations under a single resource (/api/cards/:cardId/*)
Added
GET /api/cards/:cardId/details for extended card information
PUT /api/cards/:cardId/spending-limits to manage card spending controls
GET /api/customers/:customerId/cards to retrieve cards by customer
Removed
Deprecated all /api/virtualcards/* endpoints, including: /registercarduser, /create, /topup, /withdraw, /freeze, /unfreeze, /terminate, /mock-transaction
Removed user-based endpoints under /virtualcards/users
Breaking Changes
All previous endpoints under /api/virtualcards are no longer supported
Card operations now require a cardId path parameter instead of implicit context
User-based model replaced with a customer-centric model (customerId)
Endpoint migration mapping:
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 |
Improved
Clear separation between card resources and customer resources
More intuitive and RESTful endpoint naming
Reduced endpoint duplication and ambiguity
Migration Notes
Update all client integrations to use /api/cards endpoints
Ensure cardId is passed explicitly for all card-specific operations
Replace card_user_id usage with customerId
Review permission and data models for compatibility with the new structure