> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-devin-1787949784-wallet-docs-two-concept-model.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a User

> Get a user by its id

**API scope required**: `users.read`



## OpenAPI

````yaml get /2025-06-09/users/{userLocator}
openapi: 3.0.0
info:
  contact:
    email: support@crossmint.com
    name: Crossmint Support
    url: https://www.crossmint.com
  description: Crossmint Users API
  title: Crossmint Users API
  version: 1.0.0
servers:
  - description: Staging environment (testnets)
    url: https://staging.crossmint.com/api
  - description: Production environment (mainnets)
    url: https://www.crossmint.com/api
security: []
tags: []
paths:
  /2025-06-09/users/{userLocator}:
    get:
      tags:
        - Users
      summary: Get a User
      description: |-
        Get a user by its id

        **API scope required**: `users.read`
      operationId: UsersController-getUser-2
      parameters:
        - description: API key required for authentication
          in: header
          name: X-API-KEY
          required: true
          schema:
            type: string
        - description: |-
            A user locator can be of the format:
            - `email:<email>`
            - `userId:<userId>`
            - `phoneNumber:<phoneNumber>`
            - `twitter:<handle>`
            - `x:<handle>`
          example: email:user@example.com
          in: path
          name: userLocator
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponseDto'
          description: User found
components:
  schemas:
    UserResponseDto:
      properties:
        dueDiligence:
          description: Whether due diligence data has been provided
          example: false
          type: boolean
        email:
          description: User's email address
          example: john.doe@example.com
          type: string
        kycData:
          description: Whether KYC data has been provided
          example: false
          type: boolean
        legalDocuments:
          description: List of accepted legal documents
          example:
            acceptedAt: '2023-01-01T00:00:00.000Z'
            isValidVersion: true
            type: crossmint-privacy-policy
          items:
            properties:
              acceptedAt:
                description: ISO 8601 timestamp of when the document was accepted
                example: '2023-01-01T00:00:00.000Z'
                type: string
              isValidVersion:
                description: >-
                  Indicates whether the signed version of the document is not
                  outdated
                example: true
                type: boolean
              type:
                description: The type of the legal document
                enum:
                  - crossmint-privacy-policy
                  - crossmint-terms-of-service
                example: crossmint-privacy-policy
                type: string
            required:
              - acceptedAt
              - isValidVersion
              - type
            type: object
          type: array
        phoneNumber:
          description: User's phone number
          example: '+1234567890'
          type: string
        userDetails:
          description: Whether user details have been provided
          example: true
          type: boolean
        userId:
          description: Unique user identifier
          example: usr_1234567890
          type: string
        verificationHistory:
          description: Whether verification history has been provided
          example: false
          type: boolean
      required:
        - dueDiligence
        - kycData
        - userDetails
        - verificationHistory
      type: object

````