---
title: "Update an Account"
method: PUT
path: "/mgmt/accounts/{id}"
tags: ["accounts"]
---

# Update an Account

`PUT /mgmt/accounts/{id}`

## Request

- Base URL: `https://api.v3.taxcloud.com`
- URL: `https://api.v3.taxcloud.com/mgmt/accounts/{id}`
- Auth: HTTP bearer

Replaces the profile fields of the account identified by `id` in the path. Requires a service credential with the `update:accounts` scope.

## Replacement semantics

The body carries the same fields as **Create an Account**, without `contact`, and is the complete desired state. `name` and `email` are required. An omitted optional field (`phone`, `ein`, `stateIncorporated`) is **cleared**, not preserved. Creation time, disabled state, SST enrollment and contacts are never modified; a `contact` object is rejected with 422.

Sending the same body twice leaves the account unchanged, so this call is safe to retry. The response is the account as stored after the write.

## Path parameters

- `id` integer, required

## Request body

- MANAGEMENTAPIUpdateAccountRequest
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `ein` string: Optional Employer Identification Number. Maximum 12 characters.
  - `email` string, email, required: Primary email for the account. Must be a bare address with no display name. On create, also used for the account's first contact unless a contact object overrides it.
  - `name` string, required: Legal or trading name of the account. Maximum 50 characters.
  - `phone` string: Optional account phone number. Maximum 16 characters.
  - `stateIncorporated` string: Optional two-letter state code where the business is incorporated.

## Response `200`

OK

- MANAGEMENTAPIAccountResponse
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `accountId` integer, required: Identifier of the account.
  - `contact` MANAGEMENTAPIAccountContactResponse
    - `contactId` integer, required: Identifier of the contact.
    - `email` string, required: Contact email.
    - `firstName` string: Contact first name, when one was supplied.
    - `lastName` string: Contact last name, when one was supplied.
    - `phone` string: Contact phone number, when one was supplied.
    - `status` 'invited' | 'active', required: invited until the contact accepts terms of service through the login flow, then active.
  - `createdAt` string, date-time, required: When the account was created. Stored to the minute.
  - `ein` string: Employer Identification Number, when one was supplied.
  - `email` string, required: Primary email for the account.
  - `name` string, required: Name of the account.
  - `phone` string: Account phone number, when one was supplied.
  - `stateIncorporated` string: State of incorporation, when one was supplied.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/taxcloud/apis/taxcloud-2.md) - [All operations](https://skmtc.dev/taxcloud/apis/taxcloud-2/llms.txt) - [OpenAPI document](https://skmtc.dev/taxcloud/apis/taxcloud-2/revisions/e0cd5a77728e?raw)
