# VaultCreditCardInput

Input · GraphQL API

Top-level input field for vaulting a credit card so it can be used multiple times.

## Fields

- `clientMutationId` (`String`): An identifier used to reconcile requests and responses. 255 characters maximum.
- `paymentMethodId` (`ID!`) — required: ID of an existing single-use credit card payment method to be vaulted.
- `verification` (`VaultCreditCardVerificationOptionsInput`): Input fields that specify options for verifying the credit card before vaulting. By default, a verification will be performed. If the verification fails, the credit card will not be vaulted.
- `externalVault` (`VaultCreditCardExternalVaultOptionsInput`): Options used to indicate when a credit card is externally vaulted.
- `customerId` (`ID`): ID of the customer to associate the resulting multi-use payment method with.
- `accountType` (`CardAccountType`): The type of account to be used when verifying a combo card.
- `billingAddress` (`AddressInput`): A billing address to associate with the vaulted credit card. If billing address data was included when tokenizing the credit card, it will be *merged* with this input value.
- `threeDSecurePassThrough` (`ThreeDSecurePassThroughInput`): Results of a merchant-performed 3D Secure authentication. You will only need to use these fields if you've performed your own integration with a 3D Secure MPI provider (e.g. Cardinal Centinel). Otherwise, Braintree's SDKs handle this for you in our standard 3D Secure integration.
- `threeDSecureAuthenticationId` (`String`): ID of 3D Secure authentication performed using the Braintree SDK.
- `riskData` (`RiskDataInput`): Customer device information, which is sent directly to supported processors for fraud analysis.
- `makeDefault` (`Boolean`): This option makes the specified payment method the default for the customer.
- `failOnDuplicatePaymentMethod` (`Boolean`): If this option is passed and the same payment method has already been added to the Vault for any customer, the request will fail. This option will be ignored for Apple pay and Google pay payment methods.
- `failOnDuplicatePaymentMethodForCustomer` (`Boolean`): If this option is passed and the same payment method has already been added to the Vault for the same customer, the request will fail. This option will be ignored for Apple pay and Google pay payment methods.

## Used by

- [vaultCreditCard](/braintree/graphql/reference/mutations/vault-credit-card) — Mutation; input

## GraphQL definition

```graphql
input VaultCreditCardInput {
  clientMutationId: String
  paymentMethodId: ID!
  verification: VaultCreditCardVerificationOptionsInput
  externalVault: VaultCreditCardExternalVaultOptionsInput
  customerId: ID
  accountType: CardAccountType
  billingAddress: AddressInput
  threeDSecurePassThrough: ThreeDSecurePassThroughInput
  threeDSecureAuthenticationId: String
  riskData: RiskDataInput
  makeDefault: Boolean
  failOnDuplicatePaymentMethod: Boolean
  failOnDuplicatePaymentMethodForCustomer: Boolean
}
```

---

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