Create or update a company by its external companyId (upsert). Only name, plan, domain, value,
sla, tags, address, customData and the account owner (owner or ownerEmail) are accepted; any
other field is ignored. tags REPLACES the stored list (an empty array clears it), while address and
customData are merged into the existing values rather than replaced. customData accepts up to 100
primitive values, tags up to 50. Setting a non-empty name here marks it authoritative, so names sent
by the SDK will no longer overwrite it. owner is the id of a user in this project (ownerEmail their
email address); null or "" clears it. An owner that is not a project member's id or email is ignored
(the rest of the update still applies), so check owner in the response.
Bearer <token>.Text. Display name. A non-empty name set here is never overwritten by names the SDK sends.
Text.
Text, e.g. "example.com".
Number (numeric strings are accepted). Account value, e.g. yearly revenue.
Number of seconds (numeric strings are accepted). Response-time SLA.
List of texts. Replaces the stored tags (an empty list clears them). Up to 50.
Object with line1, line2, city, state, postalCode, country (texts). Merged into the stored address.
Object of texts, numbers, booleans or lists. Merged into the stored custom data. Up to 100 keys.
Text. Id of the user in this project who owns the account; null or "" clears it.
Text. Email of that user, instead of owner; null or "" clears it.
Ok
Request and response shapes of the companies API. They exist for the OpenAPI spec (the docs playground renders a body form from it); the service still whitelists and coerces every field itself (normalizeCompanyPayload).