# Check account and quote compatibility

Use this endpoint to check the compatibility of a recipient account with a quote before creating a transfer. This validation includes:
- Re-validating the recipient account details.
- Checking all required fields are present (for example, recipient address for USD transfers).
- Verifying account details with the recipient's bank (for supported currencies).

This operation is optional, but useful to identify potential issues before transfer creation.
The confirmations object is only populated for currencies that support [recipient verification](/guides/product/send-money/recipient-verification). If absent, only standard validations apply.

Endpoint: POST /accounts/{accountId}/quotes/{quoteId}/compatibility
Security: UserToken

## Path parameters:

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

  - `quoteId` (string, required)
    Quote 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 fields (application/json):

  - `accountId` (integer)
    Recipient account ID.
    Example: 40000000

  - `quoteId` (string)
    Quote ID.
    Example: 00000000-0000-0000-0000-000000000000

  - `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/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

