Order a Card
Card
Order a Card
Order a new card for the authenticated user
POST
Order a Card
Overview
Orders a new card for the authenticated user. This endpoint initiates the card provisioning process and returns immediately upon successful acceptance of the order.Prerequisites:
- User must have VERIFIED status (completed KYC)
- User must not have an existing card
Authentication
This endpoint requires authentication via Bearer token:Request
Headers
Your public API client key
Set to
true to route requests to the US backend environmentBearer token for authentication
Body
The type of card to order. Currently only supports
VIRTUALAccepted Values:VIRTUAL- Digital card for online and mobile payments
Request Example
Response
Success Response
Indicates whether the card order was accepted successfully
Error Responses
Common Error Scenarios
User Not Verified
User Not Verified
Error:
400 Bad RequestCause: User has not completed KYC verificationSolution: Complete user verification before ordering a card. Check user status with GET /v1/user/profileUser Already Has Card
User Already Has Card
Error:
400 Bad RequestMessage: "User already has a card"Cause: User already has an existing cardSolution: Use GET /v1/card/status to retrieve existing card details instead of ordering a new oneInvalid Card Type
Invalid Card Type
Error:
422 Validation ErrorCause: Invalid value provided for type fieldSolution: Ensure the type field is set to VIRTUAL. Physical cards are not yet supported.Missing Authentication
Missing Authentication
Error:
401 UnauthorizedCause: Missing or invalid Bearer tokenSolution: Ensure you include a valid access token in the Authorization headerNext Steps
After successfully ordering a card:- Check Card Status: Use
GET /v1/card/statusto monitor the card provisioning status - View Card Details: Once active, use
POST /v1/card/details/tokento generate a secure token for displaying sensitive card information - Set PIN: Use
POST /v1/card/set-pin/tokento allow the user to set their card PIN - Fund Card: In custodial environments, link a wallet to the card for funding transactions
Card provisioning typically completes within a few seconds. The card status will change from
PENDING to ACTIVE once ready for use.Implementation Notes
Card Lifecycle
- Order Placed:
POST /v1/card/orderreturnssuccess: true - Card Provisioning: Backend systems provision the virtual card
- Card Active: Card status becomes
ACTIVEand is ready for transactions - Card Usage: User can make purchases using the card
Best Practices
- Always check user verification status before attempting to order a card
- Implement proper error handling for all possible error codes
- Poll
GET /v1/card/statusafter ordering to confirm card activation - Inform users that only virtual cards are currently available
- Consider adding rate limiting to prevent duplicate card order attempts
Security Considerations
- Never log or store the complete card details in your application
- Use secure token-based endpoints for displaying sensitive card information
- Implement proper access controls to ensure users can only order cards for themselves
- Validate user authentication before allowing card operations
Related Endpoints
GET /v1/card/status- Check card status and detailsPOST /v1/card/details/token- Generate token to view card detailsPOST /v1/card/set-pin/token- Generate token to set card PINPOST /v1/card/freeze- Temporarily disable cardGET /v1/user/profile- Check user verification status