> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecleff.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete a destination

> Deletes a destination, a bank account or a card, so it can no longer be paid or chosen: it leaves `GET /v1/beneficiaries/{id}/bank-accounts` and the Beneficiary’s collection link, and a payout that names it is refused. Payouts already created to it keep showing its last four digits, and one that is approved or on compliance hold is still sent to it. If it was the Beneficiary’s declared destination, `declared_destination_id` is cleared and the Beneficiary is told by email. Refused with `DESTINATION_HAS_PENDING_PAYOUT` while a payout awaiting approval is headed to it: reject that payout, then delete. Idempotent: deleting a destination that is already deleted succeeds.

<Note>
  **Agents:** fetch this page as plain markdown at
  `https://docs.usecleff.com/api-reference/beneficiaries-bank-accounts-delete.md`.
</Note>


## OpenAPI

````yaml DELETE /v1/beneficiaries/{id}/bank-accounts/{accountId}
openapi: 3.0.0
info:
  title: Cleff API
  description: >-
    Payout orchestration platform. All endpoints under /v1/ require an API key
    in the Authorization header (Bearer ck_<env>_<id>_<secret>).
  version: 0.0.1
  contact: {}
servers:
  - url: https://api.usecleff.com
security: []
tags: []
paths:
  /v1/beneficiaries/{id}/bank-accounts/{accountId}:
    delete:
      tags:
        - Beneficiaries
      summary: Delete a Beneficiary’s destination
      description: >-
        Deletes a destination, a bank account or a card, so it can no longer be
        paid or chosen: it leaves `GET /v1/beneficiaries/{id}/bank-accounts` and
        the Beneficiary’s collection link, and a payout that names it is
        refused. Payouts already created to it keep showing its last four
        digits, and one that is approved or on compliance hold is still sent to
        it. If it was the Beneficiary’s declared destination,
        `declared_destination_id` is cleared and the Beneficiary is told by
        email. Refused with `DESTINATION_HAS_PENDING_PAYOUT` while a payout
        awaiting approval is headed to it: reject that payout, then delete.
        Idempotent: deleting a destination that is already deleted succeeds.
      operationId: BeneficiariesController_deleteBankAccount
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: accountId
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: Deleted (or already deleted — idempotent)
        '400':
          description: '`id` or `accountId` is not a UUID.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                error:
                  code: bad_request
                  message: Validation failed (uuid is expected)
                  request_id: req_abc123
                  occurred_at: '2026-07-07T12:00:00.000Z'
                  actor:
                    user_id: usr_...
                    membership_id: mem_...
                    role: business_admin
                    environment: sandbox
                  docs_url: https://docs.usecleff.com/errors#bad_request
        '401':
          description: The API key is missing, invalid or revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                error:
                  code: unauthorized
                  message: Unauthorized
                  request_id: req_abc123
                  occurred_at: '2026-07-07T12:00:00.000Z'
                  actor: null
                  docs_url: https://docs.usecleff.com/errors#unauthorized
        '403':
          description: The API key's role cannot make this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                error:
                  code: forbidden
                  message: Forbidden resource
                  request_id: req_abc123
                  occurred_at: '2026-07-07T12:00:00.000Z'
                  actor:
                    user_id: usr_...
                    membership_id: mem_...
                    role: business_read_only
                    environment: sandbox
                  docs_url: https://docs.usecleff.com/errors#forbidden
        '404':
          description: >-
            No such Beneficiary (`not_found`), or no such destination for it
            (`BANK_ACCOUNT_NOT_FOUND`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                error:
                  code: BANK_ACCOUNT_NOT_FOUND
                  message: BankAccount 9b2f4c1e-5d7a-4e8b-a3c6-1f0d2e4b6a8c not found
                  request_id: req_abc123
                  occurred_at: '2026-07-07T12:00:00.000Z'
                  actor:
                    user_id: usr_...
                    membership_id: mem_...
                    role: business_admin
                    environment: sandbox
                  docs_url: https://docs.usecleff.com/errors#bank_account_not_found
        '409':
          description: A payout awaiting approval is headed to this destination.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                error:
                  code: DESTINATION_HAS_PENDING_PAYOUT
                  message: >-
                    A payout is awaiting approval to this destination, including
                    7d1e5a3c-2b4f-4c6a-8e9d-0f1a2b3c4d5e. Reject it with POST
                    /v1/payouts/{payoutId}/reject, then delete the destination
                  request_id: req_abc123
                  occurred_at: '2026-07-07T12:00:00.000Z'
                  actor:
                    user_id: usr_...
                    membership_id: mem_...
                    role: business_admin
                    environment: sandbox
                  docs_url: >-
                    https://docs.usecleff.com/errors#destination_has_pending_payout
        '422':
          description: The Beneficiary is archived.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                error:
                  code: BENEFICIARY_ARCHIVED
                  message: >-
                    Beneficiary is archived and accepts no new Payouts, links or
                    bank details
                  request_id: req_abc123
                  occurred_at: '2026-07-07T12:00:00.000Z'
                  actor:
                    user_id: usr_...
                    membership_id: mem_...
                    role: business_admin
                    environment: sandbox
                  docs_url: https://docs.usecleff.com/errors#beneficiary_archived
        '429':
          description: Too many requests for this Business and environment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                error:
                  code: RATE_LIMITED
                  message: Rate limit exceeded. Slow down and retry after the window.
                  request_id: req_abc123
                  occurred_at: '2026-07-07T12:00:00.000Z'
                  actor: null
                  docs_url: https://docs.usecleff.com/errors#rate_limited
      security:
        - api_key: []
components:
  schemas:
    ErrorEnvelope:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
      required:
        - error
    ErrorBody:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        request_id:
          type: string
        occurred_at:
          type: string
          format: date-time
        actor:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/ErrorActor'
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetail'
        docs_url:
          type: string
      required:
        - code
        - message
        - request_id
        - occurred_at
        - actor
        - docs_url
    ErrorActor:
      type: object
      properties:
        user_id:
          type: string
        membership_id:
          type: string
        role:
          type: string
        environment:
          type: string
          enum:
            - sandbox
            - production
      required:
        - user_id
        - membership_id
        - role
        - environment
    ErrorDetail:
      type: object
      properties:
        field:
          type: string
        code:
          type: string
        message:
          type: string
      required:
        - field
        - code
        - message
  securitySchemes:
    api_key:
      scheme: bearer
      bearerFormat: ck_<env>_<id>_<secret>
      type: http
      description: Cleff API key, created in the dashboard under Settings → API keys

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.