Skip to content

Reissue a card​

POST
/cards/{id}/reissue

Returns a fresh single-use install link with its expiry, and the same link as an inline QR. The card keeps its identity, its stamps and its balance — this is the "new phone" path, not a replacement card — and the previous install link stops working. An ARCHIVED card cannot be reissued and returns 409 conflict: archiving unbound the card from its holder’s device permanently, so there is nothing left to install. A DISABLED card can be reissued, and the link works — the card simply stays refused at the till until it is enabled again. A card whose PROGRAM is deleted, inactive or suspended cannot be reissued: 409 program_inactive — reactivate the program first. Requires an UNRESTRICTED key: a key limited to specific locations is refused with 403 location_scope_unsupported, and shop-wide data is never silently served to it instead. A card is not attributed to a location anywhere in TesserApp — it belongs to a program, and programs belong to the whole shop — so there is no correct subset of cards to serve such a key.

Authorizations​

ApiKeyBearer

A shop-scoped API key created in the dashboard and shown exactly once. An MCP tmk_ key presented here returns a 401 that names the mistake.

Type
HTTP (bearer)

Parameters​

Header Parameters

Idempotency-Key

Makes a retry safe: a repeat with the same key and body replays the stored response; the same key with a different body is a 409. Keys are remembered for 24h (IDEMPOTENCY_DEDUPE_WINDOW_HOURS). A request without the header is processed normally.

Type
string
Max Length
255

Path Parameters

id*

An opaque id. The API never promises an id format.

Type
string
Required

Responses​

Reissue a card

application/json
JSON
{
  
"id": "cin_docsfixture0001",
  
"install_url": "https://tesserapp.eu/install#p=prg_docsfixture0001&t=itk_docsfixture0001",
  
"install_url_expires_at": "2026-10-04T10:15:00.000Z",
  
"install_qr_svg": "<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" shape-rendering="crispEdges">…</svg>"
}

Samples​

Powered by VitePress OpenAPI

Requires the Business API add-on.