Update an account

PUT https://app.speybooks.com/api/v1/accounts/{id}

Updates one or more fields on an existing account. Only the fields included in the request body are modified (partial update semantics).

System accounts can only have their isActive flag changed — all other modifications return a 400 error. Account code changes are validated for uniqueness within the organisation.

Path parameters

id string required
Prefixed account ID (e.g. acc_1200).

Body parameters

accountType string optional
Account type. Cannot be changed on system accounts.
assetliabilityequityrevenueexpense
code string optional
New account code (max 20 characters). Must be unique within the organisation.
controlType string optional nullable
Control account type identifier (e.g. trade_debtors).
defaultVatRate integer optional nullable
Default VAT rate as a whole percentage (e.g. 20 for 20%).
description string optional nullable
Updated description (max 500 characters).
isActive boolean optional
Whether the account is active. This is the only field editable on system accounts.
isControlAccount boolean optional
Whether this is a control account.
name string optional
New display name (max 200 characters).
parentId string optional nullable
Prefixed ID of the new parent account (e.g. acc_100), or null to make a root account.

Response

200 Account updated successfully.
Show response fields
updated boolean
Always true on success.

Error codes

400 Validation failed, invalid ID format, or cannot modify system account.
404 Account not found.
409 An account with this code already exists in the organisation.