# 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.
The confirmations field is only populated for currencies with recipient verification enabled. If absent, only standard validations apply.

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](/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)
    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.
    Example: false

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

  - `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.
    Example: null

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

