# 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 (e.g., recipient address for USD transfers)
- Verifying account details with the recipient's bank (for supported currencies)

This endpoint is optional but useful to identify potential issues before transfer creation.

{% admonition type="info" %}
The confirmations field is only populated for currencies with recipient verification enabled. If absent, only standard validations apply.
{% /admonition %}

Endpoint: POST /v2/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.
    Example: "f47ac10b-58cc-4372-a567-0e02b2c3d479"

## Response 200 fields (application/json):

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

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

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

  - `confirmations.acceptedOutcomes` (boolean)
    Whether we've received an explicit customer acceptance.

  - `confirmations.acceptedAt` (string,null)
    Timestamp indicating time of outcome acceptance, null if has not been accepted.

  - `confirmations.quoteId` (string,null)
    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.

  - `confirmations.outcomes` (array)
    Array of confirmation outcomes. At the moment it is safe to assume that there is only one element in the outcomes list.

  - `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. Possible values: SUCCESS, PARTIAL_FAILURE, FAILURE, COULD_NOT_CHECK.
    Example: "PARTIAL_FAILURE"

  - `confirmations.outcomes.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.
    Example: true

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

  - `confirmations.outcomes.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.
    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 what are the correct values for some of the fields we've 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"


