Appearance
Disable a card
POST
/cards/{id}/disable
Switches the card OFF, reversibly. Every scan is refused with card_suspended, and the card shows as disabled in the holder's wallet — but it keeps its stamps, its expiry and its device binding, so enabling puts it back exactly as it was. This is the opposite of archive: archive is permanent and unbinds the card from the holder’s device. An archived card cannot be disabled or enabled (409). 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
255Path Parameters
id*
An opaque id. The API never promises an id format.
Type
Requiredstring
Responses
Disable a card
application/json
JSON "card_instance_id": "cin_docsfixture0001", "status": "active", "disabled": true
{
}
POST
/cards/{id}/disable