---
title: "Update existing account."
method: PUT
path: "/v1/accounts/{id}"
tags: ["accounts"]
---

# Update existing account.

`PUT /v1/accounts/{id}`

Used to update a single account. All fields that are not submitted will be cleared (set to NULL). The model will tell you which fields are mandatory.

## Path parameters

- `id` string, required

## Headers

- `X-Trace-Id` string, uuid

## Request body

- AccountUpdate
  - `name` string, string, required
  - `iban` string, iban, nullable
  - `bic` string, string, nullable
  - `account_number` string, string, nullable
  - `opening_balance` string, amount
  - `opening_balance_date` string, date-time, nullable
  - `virtual_balance` string, amount
  - `currency_id` string, string — Use either currency_id or currency_code. Defaults to the user's financial administration's currency.
  - `currency_code` string, string — Use either currency_id or currency_code. Defaults to the user's financial administration's currency.
  - `active` boolean — If omitted, defaults to true.
  - `order` integer — Order of the account
  - `include_net_worth` boolean — If omitted, defaults to true.
  - `account_role` 'defaultAsset' | 'sharedAsset' | 'savingAsset' | 'ccAsset' | 'cashWalletAsset' | 'null', string, nullable — Is only mandatory when the type is asset.
  - `credit_card_type` 'monthlyFull' | 'null', string, nullable — Mandatory when the account_role is ccAsset. Can only be monthlyFull or null.
  - `monthly_payment_date` string, date-time, nullable — Mandatory when the account_role is ccAsset. Moment at which CC payment installments are asked for by the bank.
  - `liability_type` 'loan' | 'debt' | 'mortgage' | 'null', string, nullable — Mandatory when type is liability. Specifies the exact type.
  - `interest` string, string, nullable — Mandatory when type is liability. Interest percentage.
  - `interest_period` 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'half-year' | 'yearly' | 'null', string, nullable — Mandatory when type is liability. Period over which the interest is calculated.
  - `notes` string, string, nullable
  - `latitude` number, double, nullable — Latitude of the account's location, if applicable. Can be used to draw a map. If omitted, the existing location will be kept. If submitted as NULL, the current location will be removed.
  - `longitude` number, double, nullable — Latitude of the account's location, if applicable. Can be used to draw a map. If omitted, the existing location will be kept. If submitted as NULL, the current location will be removed.
  - `zoom_level` integer, nullable — Zoom level for the map, if drawn. This to set the box right. Unfortunately this is a proprietary value because each map provider has different zoom levels. If omitted, the existing location will be kept. If submitted as NULL, the current location will be removed.

## Response `200`

Updated account stored, result in response

## Other responses

- `400` — Bad request
- `401` — Unauthenticated
- `404` — Page not found
- `422` — Validation error. The body will have the exact details.
- `500` — Internal exception

---

[API](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-develop.md) · [All operations](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-develop/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firefly-iii/firefly-iii-api-develop/revisions/8a1f6472e04b/schema)
