---
title: "Create a user"
method: POST
path: "/v2/users"
tags: ["User"]
---

# Create a user

`POST /v2/users`

Create a new Hifi user (Individual/Business)

HIFI does not provide services to users or businesses from sanctioned and high-risk regions or unsupported US states. See [here](https://docs.hifibridge.com/docs/compliance/regions) for supported regions.

## Request body

- union
  - IndividualUserV2Create
    - `requestId` string, uuid — Request ID for user creation. If not provided, a random UUID will be generated. Using the same requestId will result in the same user being returned.
    - `type` 'individual', required
    - `chains` string[] — The chains to create wallets for, default to POLYGON and ETHEREUM.
    - `firstName` string, required
    - `lastName` string, required
    - `email` string, required
    - `dateOfBirth` string, date, required — Date of birth in format yyyy-mm-dd.
    - `address` Address
      - `addressLine1` string, required
      - `addressLine2` string
      - `city` string, required
      - `stateProvinceRegion` string, required — The second part of the [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2). This must be provided if the country has subdivisions. An ISO 3166-2 code consists of two parts, separated by a hyphen (`-`): 1. The first part is the ISO 3166-1 alpha-2 code of the country (e.g., `US`, `CA`, `BR`); 2. The second part is a string of up to three alphanumeric characters representing a specific subdivision (e.g., state, province). This is typically based on national standards or developed by ISO. Only provide the second part of the code (e.g., `CA` for California in `US-CA`, or `SP` for São Paulo in `BR-SP`).
      - `postalCode` string, required — Must be supplied for countries that use postal codes.
      - `country` string, required — Three-letter alpha-3 country code as defined in the [ISO 3166-1 spec](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3).
    - `ipAddress` string, ipv4 — IP address of the user. Either the address or the ipAddress must be provided.
    - `signedAgreementId` string, required — ID of the signed agreement, fetched through the HIFI's Hosted Terms of Service Link POST /tos-link
  - BusinessUserV2Create
    - `requestId` string, uuid — Request ID for user creation. If not provided, a random UUID will be generated. Using the same requestId will result in the same user being returned.
    - `type` 'business', required
    - `businessName` string, required
    - `chains` string[] — The chains to create wallets for, default to POLYGON and ETHEREUM.
    - `email` string, required
    - `address` Address
      - `addressLine1` string, required
      - `addressLine2` string
      - `city` string, required
      - `stateProvinceRegion` string, required — The second part of the [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2). This must be provided if the country has subdivisions. An ISO 3166-2 code consists of two parts, separated by a hyphen (`-`): 1. The first part is the ISO 3166-1 alpha-2 code of the country (e.g., `US`, `CA`, `BR`); 2. The second part is a string of up to three alphanumeric characters representing a specific subdivision (e.g., state, province). This is typically based on national standards or developed by ISO. Only provide the second part of the code (e.g., `CA` for California in `US-CA`, or `SP` for São Paulo in `BR-SP`).
      - `postalCode` string, required — Must be supplied for countries that use postal codes.
      - `country` string, required — Three-letter alpha-3 country code as defined in the [ISO 3166-1 spec](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3).
    - `ipAddress` string, ipv4 — IP address of the user. Either the address or the ipAddress must be provided.
    - `ultimateBeneficialOwners` UltimateBeneficialOwnerV2[], required
      - `firstName` string, required
      - `lastName` string, required
      - `dateOfBirth` string, date, required — Date of birth in format yyyy-mm-dd.
      - `hasControl` boolean, required — True if the person has a significant responsibility to control, manage, or direct the activities of the business. At least one of the ultimateBeneficialOwners needs to have this set to true.
      - `isSigner` boolean, required — True if the person can authorize transactions on behalf of the business. At least one of the ultimateBeneficialOwners needs to have this set to true.
    - `signedAgreementId` string, required — ID of the signed agreement, fetched through the HIFI's Hosted Terms of Service Link POST /tos-link

## Response `200`

Success

- union
  - IndividualUserV2Object
    - `id` string, uuid — User ID
    - `createdAt` string, date-time — Data and time when the user was created
    - `type` string
    - `email` string
    - `name` string
    - `wallets` object
      - `INDIVIDUAL` object
        - `ETHEREUM` WalletAddressObject
          - `address` string, required — Wallet address
        - `POLYGON` WalletAddressObject
          - `address` string, required — Wallet address
  - BusinessUserV2Object
    - `id` string, uuid — User ID
    - `createdAt` string, date-time — Data and time when the user was created
    - `type` string
    - `email` string
    - `name` string
    - `wallets` object
      - `INDIVIDUAL` object
        - `ETHEREUM` WalletAddressObject
          - `address` string, required — Wallet address
        - `POLYGON` WalletAddressObject
          - `address` string, required — Wallet address

## Other responses

- `401` — Unauthorized
- `404` — Resource not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/hifibridge/apis/hifi-api.md) · [All operations](https://skmtc.net/hifibridge/apis/hifi-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hifibridge/hifi-api/revisions/74d9e530fbea/schema)
