---
title: "PUT /account/{account_id}"
method: PUT
path: "/account/{account_id}"
---

# PUT /account/{account_id}

`PUT /account/{account_id}`

## Request

- Base URL: `https://api.sandbox.verisoul.ai`
- URL: `https://api.sandbox.verisoul.ai/account/{account_id}`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/verisoul/apis/verisoul-api/docs/account/:account_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates an existing account with new information

## Path parameters

- `account_id` string, required

## Request body

- AccountUpdateRequest
  - `id` string, required: The account identifier
  - `email` string: The email associated with the account
  - `phone` string: The phone number on file for the account in E.164 format (e.g. +14155550123)
  - `first_name` string: The account holder's first name
  - `last_name` string: The account holder's last name
  - `username` string: The username associated with the account
  - `expected_countries` string[]: Countries the account is expected to legitimately operate from, as ISO 3166-1 alpha-2 codes. A non-empty list replaces the stored list; an empty or omitted list leaves the stored list unchanged.
  - `metadata` object: Additional metadata about the account

## Response `200`

Updated account information

- AccountResponse
  - `project_id` string: The ID of the project
  - `request_id` string: The ID of the request
  - `account` object
    - `id` string: The account identifier
    - `email` string: The email associated with the account
    - `phone` string: The phone number stored for the account in E.164 format
    - `first_name` string: The account holder's first name
    - `last_name` string: The account holder's last name
    - `username` string: The username stored for the account
    - `expected_countries` string[]: Countries the account is expected to operate from (ISO 3166-1 alpha-2 codes)
    - `metadata` object: Additional metadata about the account
    - `group` string: Groups must be enabled for the project to use this field. See [Multi Accounting Groups](/integration/advanced/multi-accounting-groups) for more information.
  - `num_sessions` integer: Number of sessions associated with this account
  - `first_seen` string, date-time: Timestamp when the account was first seen
  - `last_seen` string, date-time: Timestamp when the account was last seen
  - `last_session` string: ID of the last session
  - `decision` string: Decision about the account authenticity
  - `account_score` number, float: Overall account risk score
  - `bot` number, float: Bot detection score
  - `multiple_accounts` number, float: Multiple accounts detection score
  - `risk_signals` number, float: Risk signals score
  - `accounts_linked` integer: Number of accounts linked to this account
  - `country` string: Country code of the account
  - `lists` string[]: Lists the account belongs to
  - `unique_devices` object
    - `1_day` integer: Number of unique devices in the last day
    - `7_day` integer: Number of unique devices in the last 7 days
  - `unique_networks` object
    - `1_day` integer: Number of unique networks in the last day
    - `7_day` integer: Number of unique networks in the last 7 days
  - `email` object
    - `email` string: Email address
    - `disposable` boolean: Whether the email is disposable
    - `personal` boolean: Whether the email is personal
    - `valid` boolean: Whether the email is valid
    - `domain_type` 'relay' | 'personal' | 'disposable' | 'business' | 'government' | 'education' | 'invalid' | 'not_active': The type of domain. See [Domain Types](/signals-scores/email#domain-types) for details.
    - `email_score` number, float: Email risk score from -1 (most trustworthy) to 1 (most risky)
    - `trust_signals` string[]: Array of trust signals detected for this email. See [Trust Flags](/signals-scores/email#trust-flags) for descriptions.
    - `risk_signals` string[]: Array of risk signals detected for this email. See [Risk Flags](/signals-scores/email#risk-flags) for descriptions.
    - `num_account_from_domain` integer: Number of accounts from the same apex domain seen in your project. Capped at 1000. See [Domain Account Velocity](/signals-scores/email#domain-account-velocity) for details.
  - `risk_signal_average` object
    - `device_risk` number, float: Device risk score
    - `proxy` number, float: Proxy detection score
    - `vpn` number, float: VPN detection score
    - `datacenter` number, float: Datacenter detection score
    - `tor` number, float: Tor detection score
    - `spoofed_ip` number, float: Spoofed IP detection score
    - `recent_fraud_ip` number, float: Recent fraud IP detection score
    - `impossible_travel` number, float: Impossible travel detection score
    - `device_network_mismatch` number, float: Device network mismatch score
    - `location_spoofing` number, float: Location spoofing detection score

## Other responses

- `400`: Account not found or invalid request

---

[API](https://skmtc.dev/verisoul/apis/verisoul-api.md) - [All operations](https://skmtc.dev/verisoul/apis/verisoul-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verisoul/apis/verisoul-api/revisions/a4f2fd0ee333?raw)
