# VaultPaymentMethodInput

Input · GraphQL API

Top-level input field for vaulting a payment method 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 payment method to be vaulted.
- `verificationMerchantAccountId` (`ID`) — deprecated since 2019-10-03: ID of the merchant account to use when verifying the payment method.
- `verification` (`PaymentMethodVerificationOptionsInput`): Input fields that specify options for verifying the payment method before vaulting. Only applicable if the payment method is of a type that supports verification. For supported types, verification is performed by default. If the verification fails, the payment method will not be vaulted. For additional, payment method-specific verification options, please see other verification mutations such as `verifyCreditCard` or `verifyUsBankAccount`.
- `customerId` (`ID`): ID of the customer to associate the resulting multi-use payment method with.
- `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.

## Used by

- [vaultPaymentMethod](/braintree/graphql/reference/mutations/vault-payment-method) — Mutation; input

## GraphQL definition

```graphql
input VaultPaymentMethodInput {
  clientMutationId: String
  paymentMethodId: ID!
  verificationMerchantAccountId: ID @deprecated(reason: "This field is included for supporting legacy clients. Please use `verification.merchantAccountId` instead.")
  verification: PaymentMethodVerificationOptionsInput
  customerId: ID
  threeDSecurePassThrough: ThreeDSecurePassThroughInput
  threeDSecureAuthenticationId: String
  riskData: RiskDataInput
  makeDefault: Boolean
}
```

---

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