# ClientTokenInput

Input · GraphQL API

Input fields for creating a client token.

## Fields

- `merchantAccountId` (`ID`): The merchant account ID used to create the client token. Defaults to your default merchant account ID.
- `customerId` (`ID`): The ID of an existing customer. Including this will allow your customer to vault and manage their payment methods.
- `version` (`Int`): The version of the client token to generate. The default value is 2. Current supported versions are 1, 2, and 3. Please check your client-side SDKs in use before changing this value.
- `domains` (`[String!]`): Some services require a list of domains that are allowed to use this token. Must be domain names as defined by the Domain Name System (DNS), e.g. "example.com".
- `failOnDuplicatePaymentMethodForCustomer` (`Boolean`): Flag that prevents the same payment method from being stored multiple times for the same customer.
- `paymentMethodId` (`ID`): The ID of the preferred payment method to be shown in the View/Edit Funding Instrument flow.

## Used by

- [CreateClientTokenInput](/braintree/graphql/reference/types/create-client-token-input) — Input; clientToken

## GraphQL definition

```graphql
input ClientTokenInput {
  merchantAccountId: ID
  customerId: ID
  version: Int
  domains: [String!]
  failOnDuplicatePaymentMethodForCustomer: Boolean
  paymentMethodId: ID
}
```

---

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