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 requiredPrefixed account ID (e.g. acc_1200).
Body parameters
accountType string optionalAccount type. Cannot be changed on system accounts.
assetliabilityequityrevenueexpensecode string optionalNew account code (max 20 characters). Must be unique within the organisation.
controlType string optional nullableControl account type identifier (e.g. trade_debtors).
defaultVatRate integer optional nullableDefault VAT rate as a whole percentage (e.g. 20 for 20%).
description string optional nullableUpdated description (max 500 characters).
isActive boolean optionalWhether the account is active. This is the only field editable on system accounts.
isControlAccount boolean optionalWhether this is a control account.
name string optionalNew display name (max 200 characters).
parentId string optional nullablePrefixed 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 booleanAlways 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.