---
title: "Update a user"
method: POST
path: "/v2/users/{userId}"
tags: ["User"]
---

# Update a user

`POST /v2/users/{userId}`

Update an existing Hifi user.

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

## Path parameters

- `userId` string, required

## Request body

- union
  - IndividualUserV2Update
    - `type` 'individual'
    - `firstName` string
    - `lastName` string
    - `email` string
    - `dateOfBirth` string, date — 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 — IP address of the user.
    - `signedAgreementId` string — ID of the signed agreement, fetched through the HIFI's Hosted Terms of Service Link POST /tos-link
  - BusinessUserV2Update
    - `type` 'business'
    - `businessName` string
    - `email` string
    - `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 — IP address of the user.
    - `ultimateBeneficialOwners` UltimateBeneficialOwnerV2[]
      - `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.
      - `businessTitle` string, required — Agent or authorised person's job title.
    - `signedAgreementId` string — 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
          - `id` string, uuid — Wallet ID
          - `address` string, required — Wallet address
        - `POLYGON` WalletAddressObject
          - `id` string, uuid — Wallet ID
          - `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
          - `id` string, uuid — Wallet ID
          - `address` string, required — Wallet address
        - `POLYGON` WalletAddressObject
          - `id` string, uuid — Wallet ID
          - `address` string, required — Wallet address

## Other responses

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

---

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