# Deactivate a recipient account

Deletes a recipient by changing its status to inactive (`"active": false`).
A request to delete a recipient that is already inactive returns `HTTP 403 (Forbidden)`.
Only active recipients can be deleted. While a recipient cannot be reactivated, you can create a new recipient with the same details if necessary.

Endpoint: DELETE /accounts/{accountId}
Version: 2027Q1
Security: UserToken

## Security:

  - `UserToken` (unknown)
    http bearer JWT

## Path parameters:

  - `accountId` (integer, required)
    Recipient account ID.

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. [Learn more](/guides/developer/headers/correlation-id).

## Response 200:

  - `200` (unknown)
    Recipient returned with `active=false`.

## Response 200 fields (application/json):

  - `id` (integer)
    ID of the recipient. Use the returned id as `sourceAccount` to specify the refund recipient when creating transfers.
    Example: 40000000

  - `creatorId` (integer)
    Account entity that owns the recipient account.
    Example: 41000000

  - `profileId` (integer)
    Specific profile that owns the recipient account.
    Example: 30000000

  - `name` (object)
    Recipient name details.

  - `name.fullName` (string)
    Recipient full name.
    Example: John Doe

  - `name.givenName` (string | null)
    Recipient first name.
    Example: null

  - `name.familyName` (string | null)
    Recipient surname.
    Example: null

  - `name.middleName` (string | null)
    Recipient middle name.
    Example: null

  - `name.patronymicName` (string | null)
    Recipient patronymic name (when applicable).
    Example: null

  - `name.cannotHavePatronymicName` (boolean | null)
    Indicates if the recipient cannot have a patronymic name (when applicable).
    Example: null

  - `currency` (string)
    3-character currency code.
    Example: GBP

  - `country` (string)
    2-character country code.
    Example: GB

  - `type` (string)
    Recipient account type.
    Example: SortCode

  - `legalEntityType` (string)
    Entity type of recipient account.
    Example: PERSON

  - `active` (boolean)
    Status of the recipient account.
    Example: true

  - `details` (object)
    Contains the details of the recipient account specific to its currency and type. The fields required (in the request) or present (in the response) vary depending on currency route and recipient type (e.g., sort code, IBAN, SWIFT, email).

  - `details.reference` (string | null)
    Recipient reference (applies for some routes).
    Example: null

  - `details.sortCode` (string)
    Recipient bank sort code (GBP example).
    Example: 040075

  - `details.accountNumber` (string)
    Recipient bank account number (GBP example).
    Example: 37778842

  - `details.hashedByLooseHashAlgorithm` (string)
    Recipient account hash.
    Example: ad245621b974efa3ef870895c3wer419a3f01af18a8a5790b47645dba6304194

  - `commonFieldMap` (object)
    Map of key lookup fields for the account.
    Example: {"accountNumberField":"accountNumber","bankCodeField":"sortCode"}

  - `hash` (string)
    Account hash for tracking changes to recipient details. This is useful for re-running any validation checks on the recipient, for example against fraud engines. The hash remains constant unless the recipient's name or information in the details object changes.
    Example: 666ef880f8aa6113fa112ba6531d3ed2c26dd9fgbd7de5136bfb827a6e800479

  - `accountSummary` (string)
    Summary of account details for ease of lookup. Can be used to display recipient details in your UI.
    Example: (04-00-75) 37778842

  - `longAccountSummary` (string)
    Longer account details summary. Can be used to display recipient details in your UI.
    Example: GBP account ending in 8842

  - `displayFields` (array)
    Lookup fields (key/label/value) for rendering in your front-end. Allows you to build a UI containing all the dynamic fields for a recipient individually.
    Example: [{"key":"details/sortCode","label":"UK sort code","value":"04-00-75"},{"key":"details/accountNumber","label":"Account number","value":"37778842"}]

  - `displayFields.key` (string)
    Account identifier key name.

  - `displayFields.label` (string)
    Account identifier display label.

  - `displayFields.value` (string)
    Account identifier value.

  - `isInternal` (boolean)
    Indicates whether recipient is internal.
    Example: false

  - `ownedByCustomer` (boolean)
    Inidicates if recipient account belongs to profile owner.
    Example: false

  - `ultimateBeneficiary` (object | null)
    The details for the ultimate beneficiary of this recipient.

  - `ultimateBeneficiary.accountNumber` (string | null)
    Ultimate beneficiary account number.
    Example: 37778842

  - `ultimateBeneficiary.bankName` (string | null)
    Ultimate beneficiary bank name.
    Example: Wise Payments Limited

  - `ultimateBeneficiary.bankCode` (string | null)
    Ultimate beneficiary bank code.
    Example: 026073150

  - `ultimateBeneficiary.name` (object, required)
    Ultimate beneficiary name.

  - `ultimateBeneficiary.name.fullName` (string, required)
    Ultimate beneficiary's full name.
    Example: John Doe

  - `ultimateBeneficiary.address` (object | null)
    Ultimate beneficiary address.

  - `ultimateBeneficiary.address.country` (string)
    Example: US

  - `ultimateBeneficiary.address.firstLine` (string)

  - `ultimateBeneficiary.address.postCode` (string)

  - `ultimateBeneficiary.address.city` (string)

  - `ultimateBeneficiary.address.state` (string)

  - `ultimateBeneficiary.bankAddress` (object | null)
    Ultimate beneficiary bank address.

  - `ultimateBeneficiary.bankAddress.country` (string)
    Example: US

  - `ultimateBeneficiary.bankAddress.firstLine` (string)

  - `ultimateBeneficiary.bankAddress.postCode` (string)

  - `ultimateBeneficiary.bankAddress.city` (string)

  - `ultimateBeneficiary.bankAddress.state` (string)

  - `confirmations` (object)
    Contains 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/recipients/recipient-verification) for details about how to handle this verification data by currency.

  - `confirmations.acceptedOutcomes` (boolean)
    Indicates whether we've received an explicit customer acceptance.
    Example: false

  - `confirmations.acceptedAt` (string | null)
    Timestamp indicating date and time of outcome acceptance. Value is `null` until acceptance received.
    Example: null

  - `confirmations.quoteId` (string | null)
    If the confirmation check was run as part of a quote compatibility check, then the `quoteId` is included in the result. If `quoteId` is present, the outcome acceptance needs the `quoteId` to be specified as well.
    Example: null

  - `confirmations.outcomes` (array)
    Array of confirmation outcomes. Currently, it is safe to assume there is only one element in the outcomes array.

  - `confirmations.outcomes.type` (string)
    The type of confirmation. Possible values: `ACCOUNT_EXISTENCE`, `NAME_MATCHING`, `NAME_RESOLUTION`.
    Example: NAME_MATCHING

  - `confirmations.outcomes.timestamp` (string)
    Timestamp of when the confirmation check was performed.
    Example: 2024-11-11T23:58:11.105916743Z

  - `confirmations.outcomes.outcome` (string)
    The actual outcome of the confirmation check. Possible values: `SUCCESS`, `PARTIAL_FAILURE`, `FAILURE`, `COULD_NOT_CHECK`.
    Example: PARTIAL_FAILURE

  - `confirmations.outcomes.requiresCustomerAcceptance` (boolean)
    Indicates whether we require customer acceptance.
The value for this field (`true` or `false`) depends on the currency and the nature of the confirmation.
If `true`, you must present your customer with the ability to accept or decline the confirmation result.
    Example: true

  - `confirmations.outcomes.fieldsChecked` (array)
    Fields used to confirm the account.
    Example: ["name/fullName","details/accountNumber"]

  - `confirmations.outcomes.providedName` (string)
    The name the customer provided when creating the recipient account. Only populated for `NAME_MATCHING` and `NAME_RESOLUTION` types for certain outcomes.
    Example: John Doe

  - `confirmations.outcomes.resolvedName` (string)
    The name that we resolved during name matching or name resolution.
    Example: Joe Doe

  - `confirmations.outcomes.message` (string)
    Customer-facing message about the outcome of the check.
    Example: The name entered is slightly different to the name on the account.

  - `confirmations.outcomes.recommendedUpdates` (array)
    Shows the correct values for some of the fields checked.

  - `confirmations.outcomes.recommendedUpdates.path` (string)
    The field path to update.
    Example: name/fullName

  - `confirmations.outcomes.recommendedUpdates.value` (string)
    The recommended value for the field.
    Example: Joe Doe

## Response 200 headers (application/json):

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 429:

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

## Response 429 headers (application/json):

  - `Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 5

  - `X-Rate-Limited-By` (string)
    Identifies the rate limiter that triggered the 429 response.
    Example: wise-public-api

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

