> Documentation index: [Saleor](/llms.txt) · [This section](/api-reference/users/llms.txt)
> Source: https://docs.saleor.io/api-reference/users/queries/user

# user Query

Look up a user by ID or email address.

Requires one of the following permissions: MANAGE\_STAFF MANAGE\_USERS MANAGE\_ORDERS

```graphql
user(
  id: ID
  email: String
  externalReference: String
): User
```

Details

```graphql
type User implements Node, ObjectWithMetadata, ObjectWithAttributes {
  id: ID!
  privateMetadata: [MetadataItem!]!
  privateMetafield(
    key: String!
  ): String
  privateMetafields(
    keys: [String!]
  ): Metadata
  metadata: [MetadataItem!]!
  metafield(
    key: String!
  ): String
  metafields(
    keys: [String!]
  ): Metadata
  assignedAttribute(
    slug: String!
  ): AssignedAttribute
  assignedAttributes(
    limit: PositiveInt = 100
  ): [AssignedAttribute!]!
  email: String!
  firstName: String!
  lastName: String!
  isStaff: Boolean!
  isActive: Boolean!
  isConfirmed: Boolean!
  addresses: [Address!]!
  checkout: Checkout @deprecated
  checkoutTokens(
    channel: String
  ): [UUID!] @deprecated
  checkoutIds(
    channel: String
  ): [ID!]
  checkouts(
    channel: String
    before: String
    after: String
    first: Int
    last: Int
  ): CheckoutCountableConnection
  giftCards(
    before: String
    after: String
    first: Int
    last: Int
  ): GiftCardCountableConnection
  note: String
  orders(
    where: CustomerOrderWhereInput
    before: String
    after: String
    first: Int
    last: Int
  ): OrderCountableConnection
  userPermissions: [UserPermission!]
  permissionGroups: [Group!]
  editableGroups: [Group!]
  accessibleChannels: [Channel!]
  restrictedAccessToChannels: Boolean!
  avatar(
    size: Int
    format: ThumbnailFormatEnum = ORIGINAL
  ): Image
  events: [CustomerEvent!]
  storedPaymentSources(
    channel: String
  ): [PaymentSource!] @deprecated
  languageCode: LanguageCodeEnum!
  defaultShippingAddress: Address
  defaultBillingAddress: Address
  externalReference: String
  customerType: CustomerType
  lastLogin: DateTime
  dateJoined: DateTime!
  updatedAt: DateTime!
  storedPaymentMethods(
    channel: String!
  ): [StoredPaymentMethod!]
}
```

<a id="arguments"></a>

### Arguments

<a id="id"></a>

#### [`id`](#id) ● [`ID`](/api-reference/miscellaneous/scalars/id.md)

ID of the user.

<a id="email"></a>

#### [`email`](#email) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Email address of the user.

<a id="external-reference"></a>

#### [`externalReference`](#external-reference) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

External ID of the user.

<a id="type"></a>

### Type

<a id="user"></a>

#### [`User`](/api-reference/users/objects/user.md)

Represents user data.
