Request physical card
Requests production of a physical card for an existing digital card.
The plastic chip is personalized with an NDEF MIME record
(application/vnd.taappa.card+json) containing {"version":1,"card_number":"..."}.
Phone taps still use IsoDep/HCE; both converge on the same card_number at the terminal.
Recommended blanks: NTAG215 (or NTAG213). DESFire is not required for this flow.
POST
/partner/v1/physical-card-requestsRequest
http
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
Idempotency-Key: <optional>| Field | Type | Required | Description |
|---|---|---|---|
wallet_id | string | Yes | wallet_id from Issue digital card |
card_series | string | Yes | Active digital card series (10 characters) |
json
{
"wallet_id": "6a959342454db4ecdc9fef5d",
"card_series": "3GGEN3QVVV"
}Response
If an open request already exists for the card, that request is returned.
json
{
"id": "7b0a1c2d3e4f5a6b7c8d9e0f",
"wallet_id": "6a959342454db4ecdc9fef5d",
"card_series": "3GGEN3QVVV",
"card_number": "6288882195295846",
"provider": "telebirr",
"status": "PENDING",
"created_at": "2026-08-31T14:44:18.326623"
}| Field | Type | Description |
|---|---|---|
id | string | Physical card request ID |
wallet_id | string | Partner wallet ID |
card_series | string | Series to produce |
card_number | string | Card number |
provider | string | Provider slug |
status | string | Current request status |
created_at | string | ISO 8601 creation time |
Statuses
| Status | Description |
|---|---|
PENDING | Submitted and awaiting production |
IN_PRODUCTION | In production |
REJECTED | Rejected |
COMPLETED | Produced successfully |
FAILED | Production failed |
Status changes are delivered via webhooks.
Errors
| Status | Detail |
|---|---|
400 | Active digital card required |
400 | card_series does not match wallet |
400 | card_series must be 10 characters |
404 | Wallet not found |
401 | Not authenticated / Invalid API key |
Example
bash
curl https://api.taappa.com/partner/v1/physical-card-requests \
-H "Authorization: Bearer $TAAPPA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"wallet_id": "6a959342454db4ecdc9fef5d",
"card_series": "3GGEN3QVVV"
}'