> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mufi.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch User

> Retrieve detailed information about a user, including their associated wallets, by querying with `email`, `id`, or `referenceId`.



## OpenAPI

````yaml post /v1/users/profile
openapi: 3.1.0
info:
  title: Wallet API
  version: 2.72.0
servers:
  - url: https://dev.api.mufi.app/
    description: Staging
security: []
paths:
  /v1/users/profile:
    post:
      tags:
        - wallets
      summary: Fetch User
      description: >-
        Retrieve detailed information about a user, including their associated
        wallets, by querying with `email`, `id`, or `referenceId`.
      requestBody:
        description: >-
          This `POST` endpoint allows querying a user by `email`, `id`, or
          `referenceId`. Use only one field per request. If multiple fields are
          provided, the priority is `email`, followed by `referenceId`, and then
          `id`.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
      responses:
        '200':
          description: >-
            A successful response includes the user details and their wallets.
            Each wallet has a public address and a custody type, which can be
            `custodial` or `non-custodial`, depending on user control.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: A bad request will contain a list of errors for invalid fields.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: string
                required:
                  - errors
        '401':
          description: >-
            Unauthorized. The API key is missing or has expired if you are using
            a key with an expiration date that you configured when creating the
            key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
        '403':
          description: >-
            Forbidden. The API key that you provided is not valid or does not
            exist.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
        '404':
          description: User not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
      security:
        - BearerAuth: []
components:
  schemas:
    UserRequest:
      type: object
      properties:
        id:
          type: string
          format: uuid
        email:
          type: string
          format: email
        referenceId:
          type: string
    UserResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        firstName:
          type:
            - string
            - 'null'
        lastName:
          type:
            - string
            - 'null'
        email:
          type: string
          format: email
        referenceId:
          $ref: '#/components/schemas/OptionalReferenceId'
        isActivated:
          type: boolean
        activatedOn:
          type:
            - string
            - 'null'
          format: date-time
        wallets:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              type:
                $ref: '#/components/schemas/WalletType'
              address:
                type: string
              custody:
                $ref: '#/components/schemas/Custody'
            required:
              - id
              - type
              - address
              - custody
      required:
        - id
        - isActivated
        - activatedOn
        - wallets
    OptionalReferenceId:
      type:
        - string
        - 'null'
      description: >-
        An optional ID of the reference object in your database. This can be
        used to query events by reference object.
    WalletType:
      type: string
      enum:
        - Polkadot
    Custody:
      type: string
      enum:
        - user-controlled
        - custodial
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: A JWT Access Token obtained from Google Cloud.

````