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

Did you find this page useful?