> ## 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.

# Create User

> Users are created immediately and will have a blockchain wallet asynchronously created in the background.

Wallet generation involves securely splitting the private key into encrypted fragments using **[Shamir's Secret Sharing Scheme (SSSS)](https://en.wikipedia.org/wiki/Shamir%28s_secret_sharing)**. These fragments are then distributed across a fault-tolerant, distributed storage system across multiple platform providers with an additional layer of re-encryption to enhance security.

For large batches of users, the wallet creation process may take a few minutes to complete depending on the batch size and system load. Once complete, the users and their wallets are fully operational and available for blockchain transactions.

## Key Features of the Process:

**API Key Association**: Each user is linked to your organization's project application via the API key for secure access.

**Asynchronous Processing**: User wallet creation occurs in the background to avoid delays in the user experience.

**Enhanced Security**: Wallet secrets are created and split into encrypted fragments (SSSS) and stored in a distributed system with re-encryption.




## OpenAPI

````yaml post /v1/users/create
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/create:
    post:
      tags:
        - wallets
      summary: Create User
      description: >
        Users are created immediately and will have a blockchain wallet
        asynchronously created in the background.


        Wallet generation involves securely splitting the private key into
        encrypted fragments using **[Shamir's Secret Sharing Scheme
        (SSSS)](https://en.wikipedia.org/wiki/Shamir%28s_secret_sharing)**.
        These fragments are then distributed across a fault-tolerant,
        distributed storage system across multiple platform providers with an
        additional layer of re-encryption to enhance security.


        For large batches of users, the wallet creation process may take a few
        minutes to complete depending on the batch size and system load. Once
        complete, the users and their wallets are fully operational and
        available for blockchain transactions.


        ## Key Features of the Process:


        **API Key Association**: Each user is linked to your organization's
        project application via the API key for secure access.


        **Asynchronous Processing**: User wallet creation occurs in the
        background to avoid delays in the user experience.


        **Enhanced Security**: Wallet secrets are created and split into
        encrypted fragments (SSSS) and stored in a distributed system with
        re-encryption.
      requestBody:
        description: >-
          The request body must include a list of users, with a minimum of one
          and a maximum of 1500 users per request. Each user must have a unique
          email address. Optionally, you can include a reference ID to link the
          user to your database, as well as their first and last names.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUsersRequest'
      responses:
        '201':
          description: >-
            Created. Users have been created and are waiting wallet wallet
            creation in the background.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUsersResponse'
        '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
      security:
        - BearerAuth: []
components:
  schemas:
    CreateUsersRequest:
      type: array
      items:
        $ref: '#/components/schemas/NewUser'
      minItems: 1
      maxItems: 1500
    CreateUsersResponse:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    NewUser:
      type: object
      properties:
        firstName:
          type:
            - string
            - 'null'
        lastName:
          type:
            - string
            - 'null'
        email:
          type: string
          format: email
        referenceId:
          type:
            - string
            - 'null'
      required:
        - email
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: A JWT Access Token obtained from Google Cloud.

````