# PerformThreeDSecureLookupInput

Input · GraphQL API

Top-level fields for performing a 3D Secure Lookup.

## Fields

- `clientMutationId` (`String`): An identifier used to reconcile requests and responses. 255 characters maximum.
- `merchantAccountId` (`ID`): ID of the merchant account that will be used when charging the payment method.
- `dfReferenceId` (`String`): Reference ID used by our MPI provider CardinalCommerce to connect the lookup request to the device data that was previously collected.
- `deviceId` (`String`): Unique and unchanging identifier linked to a specific user device that is consistent across 3DS transactions for that device. Device ID can be used for DCAP eligibility.
- `paymentMethodId` (`ID!`) — required: ID of a payment method to perform the lookup on.
- `amount` (`Amount!`) — required: The amount you plan to charge the payment method after the 3D Secure authentication.
- `transactionInformation` (`ThreeDSecureLookupTransactionInformationInput`): Additional information about the transaction when authenticating through 3D Secure.
- `cardholderInformation` (`ThreeDSecureLookupCardholderInformationInput`): Additional information about the cardholder when authenticating through 3D Secure.
- `requestAuthenticationChallenge` (`Boolean`): When set to true, requests a 3D Secure authentication challenge from the issuer. A challenge will result in the acsUrl field being populated on the response, requiring you to open the challenge on the client side.
- `requestedExemptionType` (`ScaExemptionType`): Indicates an exemption to be requested. If the exemption's conditions are satisfied, then will it be applied to 3D Secure.
- `clientInformation` (`ThreeDSecureLookupClientInformationInput`): Information about the client-side lookup process.
- `dataOnlyRequested` (`Boolean`): When set to true, the data-only 3D Secure call will be created. The status of [DATA_ONLY_SUCCESSFUL](https://developers.braintreepayments.com/guides/3d-secure/advanced-options#using-data-only-3d-secure) will be returned as `ThreeDSecureAuthenticationStatus` for a successful response.
- `cardAdd` (`Boolean`): If set to true, a card-add challenge will be requested from the issuer to confirm adding new card to the merchant's vault. This flag should only be used when adding a card to a merchant’s vault and not for creating transactions.
- `merchantInitiatedRequest` (`ThreeDSecureMerchantInitiatedRequestInput`): 3RI (3DS Requester Initiated) request.

## Used by

- [performThreeDSecureLookup](/braintree/graphql/reference/mutations/perform-three-dsecure-lookup) — Mutation; input

## GraphQL definition

```graphql
input PerformThreeDSecureLookupInput {
  clientMutationId: String
  merchantAccountId: ID
  dfReferenceId: String
  deviceId: String
  paymentMethodId: ID!
  amount: Amount!
  transactionInformation: ThreeDSecureLookupTransactionInformationInput
  cardholderInformation: ThreeDSecureLookupCardholderInformationInput
  requestAuthenticationChallenge: Boolean
  requestedExemptionType: ScaExemptionType
  clientInformation: ThreeDSecureLookupClientInformationInput
  dataOnlyRequested: Boolean
  cardAdd: Boolean
  merchantInitiatedRequest: ThreeDSecureMerchantInitiatedRequestInput
}
```

---

[View the complete GraphQL schema on GitHub](https://raw.githubusercontent.com/braintree/graphql-api/refs/heads/master/schema.graphql)