---
title: "Unfreeze a card"
method: POST
path: "/cards/{cardId}/unfreeze"
tags: ["Cards"]
---

# Unfreeze a card

`POST /cards/{cardId}/unfreeze`

## Request

- Base URL: `https://api.mercury.com/api/v1`
- URL: `https://api.mercury.com/api/v1/cards/{cardId}/unfreeze`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/mercurytechnologies/apis/mercury-api/docs/cards/:cardId/unfreeze/post.ts> (a function with typed inputs; its response is checked against the schema)

Unfreeze a previously frozen card, restoring it to active status.

## Path parameters

- `cardId` string, uuid, required: Unique identifier for a card

## Response `200`

- Card
  - `accountId` string, required: The Mercury account this card is associated with.
  - `budgets` CardBudget[], required: One entry per active budget linked to this card and cardholder. Empty under cardLimit, or when this response has no active budget for the cardholder.
    - `amountCents` integer, required: The cardholder's spend limit for the current budget cycle, in cents.
    - `id` string, uuid, required: Unique identifier for a budget
    - `name` string, required: Display name of the budget.
    - `remainingAmountCents` integer, required: Current-cycle limit minus recorded spend, clamped at zero, in cents. Authorization also uses cached allocations and in-flight holds, so its available amount may differ.
  - `categoryLocks` MercuryCategory[], required: Mercury spend-category locks applied to this card, in no particular order. Empty when the card has no category restrictions.
  - `createdAt` string, yyyy-mm-ddThh:MM:ssZ, required: Timestamp when the card was issued.
  - `expiration` object, required: Month and year the card expires.
    - `month` integer, required: Calendar month.
    - `year` integer, required: Four-digit calendar year.
  - `id` string, uuid, required: Unique identifier for the card.
  - `isAgentCard` boolean, required: Whether the card is managed by the agentic spend-management agent. Only agent cards can have their full details revealed.
  - `kind` 'debit' | 'credit', required: Whether the card is a debit or credit card.
  - `lastFour` string, required: Last four digits of the card's primary account number (PAN).
  - `merchantLock` object, nullable: Merchant lock applied to this card. Present only when the card is locked to a single merchant; otherwise omitted.
    - `id` string, uuid, required
    - `name` string, required
  - `nameOnCard` string, required: Cardholder name printed on the card.
  - `nickname` string, nullable: Optional user-assigned label for the card.
  - `physicalCardStatus` 'inactive' | 'active' | 'locked', nullable: Activation state of a physical card. Null for virtual cards.
  - `spendLimit` object, nullable: Card-level spending controls. This is null when card-level limits are unavailable, including for credit cards governed by budgets. For debit cards, this includes the underlying card limits even when budgets govern purchase spending. In budget mode, the transaction limit does not gate purchases, but the ATM or cash limit can still apply to cash withdrawals.
    - `amountCents` integer, required: Maximum total spend allowed per interval, in cents.
    - `atmAmountCents` integer, nullable: Maximum ATM withdrawal allowed per interval, in cents. Null for virtual cards and credit cards.
    - `interval` 'daily' | 'weekly' | 'monthly' | 'yearly', required: Rolling window the limit applies to.
  - `spendLimitType` 'cardLimit' | 'budgets', required: Whether card-level limits or budgets govern purchase spending.
  - `status` 'active' | 'frozen' | 'cancelled' | 'inactive' | 'expired' | 'suspended', required: Current lifecycle state of the card.
  - `type` 'virtual' | 'physical', required: Whether the card is virtual (digital-only) or physical (printed, supports ATM).
  - `updatedAt` string, yyyy-mm-ddThh:MM:ssZ, required: Timestamp of the last modification to the card or its settings.
  - `userId` string, required: Mercury User who owns the card.

## Other responses

- `404`: `cardId` not found

## Changes

- **2026-11-03** `95c77a617769`: 1 info
  - endpoint added
- **2026-10-16** `ab652aa5aa8e`: 1 breaking
  - api path removed without deprecation
- **2026-07-14** `7d755c9f44ae`: 2 info
  - added the optional property `merchantLock` to the response with the `200` status
  - added the required property `categoryLocks` to the response with the `200` status
- **2026-06-16** `0a8c6d8f2716`: 1 warning
  - added the new `yearly` enum value to the `spendLimit/allOf[#/components/schemas/SpendLimit]/interval/allOf[#/components/schemas/SpendLimitInterval]/` response property for the response status `200`
- **2026-04-28** `314f542b4d39`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/mercurytechnologies/apis/mercury-api/changes/cards/:cardId/unfreeze/post.md)

---

[API](https://skmtc.dev/mercurytechnologies/apis/mercury-api.md) - [All operations](https://skmtc.dev/mercurytechnologies/apis/mercury-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mercurytechnologies/apis/mercury-api/revisions/95c77a617769?raw)
