# Customer

Object · GraphQL API

Information about a customer and their associated payment methods and transactions.

## Fields

- `id` (`ID!`) — non-null: Unique identifier.
- `legacyId` (`ID!`) — non-null: Legacy unique identifier.
- `company` (`String`): Company or business name associated with this customer.
- `createdAt` (`Timestamp`): Date and time at which the customer was created.
- `customFields` (`[CustomField!]`): Collection of custom field/value pairs. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
- `defaultPaymentMethod` (`PaymentMethod`): Customer's default payment method.
- `email` (`String`): Email address for this customer.
- `firstName` (`String`): Customer's first name.
- `lastName` (`String`): Customer's last name.
- `phoneNumber` (`String`): The phone number for this customer.
- `fax` (`String`): Customer's fax.
- `website` (`String`): Customer's website.
- `paymentMethods` (`PaymentMethodConnection`): Payment methods belonging to this customer.
  - `first` (`Int`)
  - `after` (`String`)
- `transactions` (`TransactionConnection`): Transactions associated with this customer. This includes transactions created by charging a vaulted payment method that belongs or belonged to the customer, or by passing a customer ID when charging a single-use payment method.
  - `first` (`Int`)
  - `after` (`String`)

## Used by

- [CreateCustomerPayload](/braintree/graphql/reference/types/create-customer-payload) — Object; customer
- [CustomerConnectionEdge](/braintree/graphql/reference/types/customer-connection-edge) — Object; node
- [Node](/braintree/graphql/reference/types/node) — Interface; Possible type
- [PaymentMethod](/braintree/graphql/reference/types/payment-method) — Object; customer
- [Refund](/braintree/graphql/reference/types/refund) — Object; customer
- [Transaction](/braintree/graphql/reference/types/transaction) — Object; customer
- [UpdateCustomerPayload](/braintree/graphql/reference/types/update-customer-payload) — Object; customer

## GraphQL definition

```graphql
type Customer implements Node {
  id: ID!
  legacyId: ID!
  company: String
  createdAt: Timestamp
  customFields: [CustomField!]
  defaultPaymentMethod: PaymentMethod
  email: String
  firstName: String
  lastName: String
  phoneNumber: String
  fax: String
  website: String
  paymentMethods(first: Int, after: String): PaymentMethodConnection
  transactions(first: Int, after: String): TransactionConnection
}
```

---

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