# ThreeDSecurePassThroughInput

Input · GraphQL API

Results of a merchant-performed 3D Secure authentication.

## Fields

- `eciFlag` (`ECommerceIndicator!`) — required: The value of the electronic commerce indicator (ECI) flag, which indicates the outcome of the 3D Secure authentication.
- `cavv` (`String`): Cardholder authentication verification value or CAVV. The main encrypted message issuers and card networks use to verify authentication has occurred. Mastercard uses an AVV (Authentication Verification Value) message and American Express uses an AEVV (American Express Verification Value) message, each of which should also be passed in the cavv parameter.
- `xId` (`String`): Transaction identifier resulting from 3D Secure authentication. Uniquely identifies the transaction and sometimes required in the authorization message. Must be base64-encoded. This field will no longer be used in 3D Secure 2 authentications.
- `threeDSecureServerTransactionId` (`String`): 3D Secure server transaction identifier resulting from 3D Secure authentication.
- `version` (`ThreeDSecureVersion`): The version of 3D Secure authentication used for the transaction. Required on Visa and Mastercard authentications.
- `authenticationResponse` (`ThreeDSecureStatusCode`) — deprecated since 2025-05-27: The 3D Secure authentication response status code.
- `directoryServerResponse` (`ThreeDSecureStatusCode`): The 3D Secure directory server response.
- `cavvAlgorithm` (`ThreeDSecureCavvAlgorithm`): The algorithm used to generate the CAVV value. This is only returned for Mastercard SecureCode transactions (3DS 1.0).
- `directoryServerTransactionId` (`String`): A unique identifier for the 3D Secure 2 interaction with the card brand directory server. This field must be supplied for Mastercard Identity Check.
- `network` (`ThreeDSecurePassThroughNetwork`): Specifies which network was used during 3D Secure authentication, so processing occurs on the same network. This is primarily for dual-network cards (e.g., eftpos cards). If not supplied, Braintree selects the network automatically, which, for dual-network cards, may not match the network used during 3D Secure authentication.

## Used by

- [ThreeDSecureAuthenticationInput](/braintree/graphql/reference/types/three-d-secure-authentication-input) — Input; passThrough
- [TransactionInput](/braintree/graphql/reference/types/transaction-input) — Input; threeDSecurePassThrough
- [VaultCreditCardInput](/braintree/graphql/reference/types/vault-credit-card-input) — Input; threeDSecurePassThrough
- [VaultPaymentMethodInput](/braintree/graphql/reference/types/vault-payment-method-input) — Input; threeDSecurePassThrough

## GraphQL definition

```graphql
input ThreeDSecurePassThroughInput {
  eciFlag: ECommerceIndicator!
  cavv: String
  xId: String
  threeDSecureServerTransactionId: String
  version: ThreeDSecureVersion
  authenticationResponse: ThreeDSecureStatusCode @deprecated(reason: "This field is no longer used with 3D Secure 2 authentications.")
  directoryServerResponse: ThreeDSecureStatusCode
  cavvAlgorithm: ThreeDSecureCavvAlgorithm
  directoryServerTransactionId: String
  network: ThreeDSecurePassThroughNetwork
}
```

---

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