Get an account
Overview
GET /accounts/{id} returns a single account (company) by its ID - useful to back-fill a missed account.* webhook, reconcile your CRM, or re-fetch a company on demand.
Unlike the account webhook - which omits fields without a value - this endpoint always returns every field with an explicit
null when unset (consistent with GET /invoices and GET /payments). Country fields (country, billing_country) are returned verbatim as entered. Custom fields configured for your venue are included, also with explicit null when unset. Timestamps are Unix milliseconds.Authentication
All requests require a Bearer token (your BookingShake API key):Path Parameters
string
required
The account ID - the
id field carried by the account.created webhook.Request
Response
The account is returned wrapped in the standard{ message, data } envelope.
Data Fields
Errors
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
Account Events
Receive account changes in real time via the account.* webhooks
Contact Events
Track the people attached to your accounts
Update an account
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
string
required
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.
string
Company display name.
string
Registered legal name.
string
Legal form (e.g.,
SAS, SARL).string
Company registration number (SIREN in France).
string
SIRET number (France).
string
VAT number.
string
Trade register number (RCS).
string
Business sector.
string
Main address.
string
Main address, line 2.
string
Main address postal code.
string
Main address city.
string
Main address country, stored verbatim.
string
Billing address.
string
Billing address, line 2.
string
Billing address postal code.
string
Billing address city.
string
Billing address country, stored verbatim.
string
Accounting account code.
string | array
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
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
