Reissue a reusable coupon
Mass-reactivates a reusable coupon: every holder whose couponstatus is currently redeemed flips back to usable (the wallet pass QR reappears, the offer field renders again), and the refreshed pass content is pushed to every installed holder so the change is visible without asking anyone to reinstall. This is the API equivalent of the dashboard’s coupon reissue action.
Scope: cards:write. Idempotency-Key required.
Only a reusable coupon
Only works when mechanics.is_reusable is true. A single-use coupon exists specifically to be redeemed once per customer, so reissuing one would silently undo that guarantee: a non-reusable coupon (or any non-coupon card type) returns 422 coupon_not_reissuable.
Untouched holders stay untouched
A holder who never redeemed is left exactly as they were: they were already usable. holders_reissued in the response counts only the customers actually flipped from redeemed back to usable by THIS call.
Counters always advance
mechanics.reset_count / mechanics.last_reset_at on the card (also returned inline as reset_count / last_reset_at) increment on every successful call, even when holders_reissued is 0: the action ran, it simply had nothing to flip.
Fires card.updated (reset_count/last_reset_at are real, documented mechanics fields), exactly like PATCH /v1/cards/{id}.
Authorizations
Your secret API key as a Bearer token: Authorization: Bearer vxn_sk_.... Keys are created and scoped in the dashboard - see Authentication.
Headers
Required. Stable opaque string, 8-255 chars. Same key + same body within 24h replays the original response (Idempotent-Replayed: true); same key + different body -> 409 idempotency_key_conflict. See Idempotency.
8 - 255Path Parameters
Card template identifier. Opaque, server-issued token, e.g. crd_c4zdlocdwajf6wtmnvvkonv4oa. Must reference a coupon card with mechanics.is_reusable=true.
^crd_[A-Za-z0-9]+$Response
Reissued. Returns how many holders were actually flipped back to usable, and the card's updated reset counters.
Result of POST /v1/cards/{id}/reissue_coupons: how many holders were actually flipped back to usable, plus the card's updated reset counters.
"coupon_reissue_result"The reissued card. Opaque, server-issued token, e.g. crd_c4zdlocdwajf6wtmnvvkonv4oa.
"crd_sophcrprtvpmmnwxah2lomnkee"
Number of customers whose couponstatus was actually flipped from redeemed back to usable by THIS call. A customer who never redeemed was already usable and is not counted.
x >= 0138
The card's mechanics.reset_count AFTER this call (same value a subsequent GET /v1/cards/{id} reports). Increments on every call, even when holders_reissued is 0.
x >= 04
Unix timestamp of this reissue (same as the card's mechanics.last_reset_at after this call).
1754035200