Overview
PATCH /accounts/{id} updates a single account (company) by its ID. It is a partial update: only the fields you include in the body are modified, everything else is left untouched.
The request body uses the same conventions as the response - the English (snake_case) field names returned by GET /accounts/{id}. So you can read an account, change a few fields, and send them straight back. Pass null on any field to clear it.
Updating an account automatically emits the
account.updated webhook when at least one exposed field changes. Country fields (country, billing_country) are stored verbatim as provided - no ISO normalization.Authentication
All requests require a Bearer token (your BookingShake API key):Path Parameters
The account ID - the
id field carried by the account.* webhooks.Body Parameters
All body fields are optional, but at least one must be provided. String fields are trimmed and limited to 255 characters. Passnull on any field to clear it. id and created_at are read-only and ignored.
Company display name.
Registered legal name.
Legal form (e.g.,
SAS, SARL).Company registration number (SIREN in France).
SIRET number (France).
VAT number.
Trade register number (RCS).
Business sector.
Main address.
Main address, line 2.
Main address postal code.
Main address city.
Main address country, stored verbatim.
Billing address.
Billing address, line 2.
Billing address postal code.
Billing address city.
Billing address country, stored verbatim.
Accounting account code.
Custom fields configured for your venue. A single-value field takes a string; a multi-select field takes an array of strings. An unknown custom field key, or a value whose shape does not match the field type, is rejected with
400.Request
Response
The full account is returned in its post-update state, wrapped in the standard{ message, data } envelope - identical in shape to GET /accounts/{id}.
Errors
| Status | Meaning |
|---|---|
400 | Missing/invalid token, missing account id, empty/invalid body, no updatable fields, a non-string value on a string field, a value over 255 characters, or an unknown custom field key |
404 | Account not found - it does not exist, or belongs to another venue or venues group |
429 | Rate limit exceeded (30 requests/minute) |
500 | Internal server error |
A
404 is returned uniformly whenever the account is outside your scope, so the existence of another venue’s account is never disclosed.Next Steps
Get an Account
Retrieve an account before updating it
Account Events
Receive account changes in real time via the account.* webhooks
