## Unlink bank account from a contact

Unlink (soft delete) a bank account from a contact. The bank account will be marked as deleted but the record will be preserved for audit purposes.

Bank accounts include a `deletable` attribute that indicates whether the bank account can be deleted. The frontend should check this attribute before attempting to delete a bank account. If a bank account cannot be deleted, set another bank account as the primary using the `set-primary-contact-bank-account` endpoint, which will update the `deletable` attribute accordingly.

The endpoint returns `true` when the bank account is successfully unlinked.

## Endpoint signature

```http
POST https://api.reservepay.com/merchants/unlink-bank-account HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

{
  contact_id: string,
  bank_account_id: string,
}
```

Returns: boolean

## Request arguments

### `contact_id` (string)

**Required**. The contact ID (either internal UID or external ID) that owns the bank account.

### `bank_account_id` (string)

**Required**. The bank account ID (either internal UID starting with 'bka_' or your external ID) to unlink. The bank account must belong to the contact.

## Errors specific to this endpoint

### `NOT_FOUND`

No contact found with the provided contact_id, or the bank account with the provided bank_account_id does not exist or does not belong to the contact.

### `INVALID_OPERATION`

Cannot delete primary bank account when contact has multiple accounts. Set another account as primary first.

## Errors common to all endpoints

### `UNHANDLED_ERROR`

This error occurs when the server encounters an unexpected internal error that
it cannot handle gracefully. This typically happens due to bugs, infrastructure
issues, or edge cases that weren't anticipated during development.

### `INVALID_ARGUMENTS`

This error occurs when the request contains invalid or missing parameters.
Common cases include missing required fields, or values that don't match the
expected format or type.

### `BAD_VERSION`

This error occurs when making requests to an API version that does not exist.
This commonly happens when using an outdated SDK or when the API version
specified in the request URL is incorrect.
