---
title: "Close a Bank Account"
method: POST
path: "/accounts/{account_id}/close"
tags: ["Accounts"]
---

# Close a Bank Account

`POST /accounts/{account_id}/close`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/accounts/{account_id}/close`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/accounts/:account_id/close/post.ts> (a function with typed inputs; its response is checked against the schema)

Closes a bank account. The account must have a zero balance and no active cards, scheduled payments, or open invoices. Cancel or remove those first. Supported for checking accounts (grasshopper, tcb, firstbank) and crb accounts. Some accounts close immediately (status `closed`); others process the close asynchronously (status `close_pending`), in which case poll `GET /accounts/{account_id}` until its `status` reads `CLOSED`.

## Path parameters

- `account_id` string, required: The ID of the bank account to close.

## Headers

- `x-entity-id` string, uuid

## Response `200`

Successful Response

- CloseAccountResponse
  - `status` 'closed' | 'close_pending', required

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation, or the user of a global API key is an admin or controller without approved KYC. The KYC case returns the message `KYC is required for controllers and admins.` until that user completes KYC in the Meow dashboard.
- `429`: Too many requests.

---

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