---
title: "Deactivate a recipient account"
method: DELETE
path: "/v2/accounts/{accountId}"
tags: ["recipient"]
---

# Deactivate a recipient account

`DELETE /v2/accounts/{accountId}`

Deletes a recipient by changing its status to inactive (`"active": false`).

Requesting to delete a recipient that is already inactive returns HTTP 403 (Forbidden).

{% admonition type="info" %}
Only active recipients can be deleted and a recipient cannot be reactivated, however you can create a new recipient with the same details instead if necessary.
{% /admonition %}

## Path parameters

- `accountId` integer, required

## Headers

- `X-External-Correlation-Id` string, uuid

## Response `200`

Recipient returned with `active=false`.

- Recipient — The `accountSummary` and `longAccountSummary` fields can be used to represent the recipient's details in your UI. The `displayFields` array allows you to build a UI containing all the dynamic fields of a recipient individually. In order to use these fields, you would need to POST using the v1 endpoint to create the recipient account, and then GET using the v2 endpoint to retrieve these fields. The v2 resource also includes the `hash` field that can be used to track recipient details changes. This is useful for re-running any validation checks your system performs on the recipient, for example against fraud engines. The hash will remain constant unless the recipient's name or information in the `details` object changes.
  - `id` integer — ID of the recipient. Use the returned id as `sourceAccount` to specify the refund recipient when creating transfers.
  - `creatorId` integer — Account entity that owns the recipient account.
  - `profileId` integer — Specific profile that owns the recipient account.
  - `name` object — Recipient name details.
    - `fullName` string — Recipient full name.
    - `givenName` string, nullable — Recipient first name.
    - `familyName` string, nullable — Recipient surname.
    - `middleName` string, nullable — Recipient middle name.
    - `patronymicName` string, nullable — Recipient patronymic name (when applicable).
    - `cannotHavePatronymicName` boolean, nullable — Indicates if the recipient cannot have a patronymic name (when applicable).
  - `currency` string — 3 character currency code.
  - `country` string — 2 character country code.
  - `type` string — Recipient type.
  - `legalEntityType` string — Entity type of recipient.
  - `active` boolean — Status of the recipient.
  - `details` object — Account details (currency/type-specific). The keys present vary by currency route and recipient type (e.g., sort code, IBAN, SWIFT, email).
    - `reference` string, nullable — Recipient reference (present for some routes).
    - `sortCode` string — Recipient bank sort code (GBP example).
    - `accountNumber` string — Recipient bank account number (GBP example).
    - `hashedByLooseHashAlgorithm` string — Recipient account hash.
  - `commonFieldMap` object — Map of key lookup fields on the account.
  - `hash` string — Account hash for change tracking.
  - `accountSummary` string — Summary of account details for ease of lookup.
  - `longAccountSummary` string — Account details summary.
  - `displayFields` object[] — Lookup fields (key/label/value) for rendering a UI.
    - `key` string — Account identifier key name.
    - `label` string — Account identifier display label.
    - `value` string — Account identifier value.
  - `isInternal` boolean — Indicates whether recipient is internal.
  - `ownedByCustomer` boolean — If recipient account belongs to profile owner.
  - `ultimateBeneficiary` object, nullable — The information of the ultimate beneficiary for this recipient.
    - `accountNumber` string, nullable — Ultimate beneficiary account number.
    - `bankName` string, nullable — Ultimate beneficiary bank name.
    - `bankCode` string, nullable — Ultimate beneficiary bank code.
    - `name` object, required — Ultimate beneficiary name details.
      - `fullName` string, required — Ultimate beneficiary full name.
    - `address` object, nullable — Ultimate beneficiary address.
      - `country` string
      - `firstLine` string
      - `postCode` string
      - `city` string
      - `state` string
    - `bankAddress` object, nullable — Ultimate beneficiary bank address.
      - `country` string
      - `firstLine` string
      - `postCode` string
      - `city` string
      - `state` string
  - `confirmations` object — Verification results for the recipient's details. Only populated for currencies with recipient verification enabled (CNY, KRW, INR, IDR, EUR). See the [Recipient verification guides](/guides/product/send-money/recipient-verification) for how to handle these.
    - `acceptedOutcomes` boolean — Whether we've received an explicit customer acceptance.
    - `acceptedAt` string, date-time, nullable — Timestamp indicating time of outcome acceptance, `null` if has not been accepted.
    - `quoteId` string, nullable — If the confirmation check was run as part of a quote compatibility check, then the `quoteId` will be on the result. If `quoteId` is present, then the outcome acceptance will need the `quoteId` to be specified as well.
    - `outcomes` object[] — Array of confirmation outcomes. At the moment it is safe to assume that there is only one element in the outcomes list.
      - `type` string — The type of confirmation. Possible values: `ACCOUNT_EXISTENCE`, `NAME_MATCHING`, `NAME_RESOLUTION`.
      - `timestamp` string, date-time — Timestamp of when the confirmation check was performed.
      - `outcome` string — The actual outcome of the confirmation. Possible values: `SUCCESS`, `PARTIAL_FAILURE`, `FAILURE`, `COULD_NOT_CHECK`.
      - `requiresCustomerAcceptance` boolean — Whether we require customer acceptance. Whether this value is true or false is dependent on the currency and the nature of the confirmation.
      - `fieldsChecked` string[] — Fields we used to confirm the account.
      - `providedName` string — The name that the customer provided when creating the recipient account. Only populated for NAME_MATCHING and NAME_RESOLUTION types for certain outcomes.
      - `resolvedName` string — The name that we resolved during name matching or name resolution.
      - `message` string — Customer facing message about the outcome of the check.
      - `recommendedUpdates` object[] — Shows what are the correct values for some of the fields we've checked.
        - `path` string — The field path to update.
        - `value` string — The recommended value for the field.

## Other responses

- `429` — Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.

---

[API](https://skmtc.net/wise/apis/platform-api.md) · [All operations](https://skmtc.net/wise/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wise/platform-api/revisions/4907a1d269ab/schema)
