Skip to main content
POST
Create Account
Only a subset of account fields can be set at creation time (domain, industry, website, owner_id, lifecycle_stage, notes) — fields like size_range, annual_revenue, linkedin_url, address, tags, and custom_fields can only be set afterward via Update an Account. industry is a closed enum, not free text — it accepts exactly one of the AccountIndustry values, and anything else fails validation with 422. An empty string ("") is treated as “not set” rather than a validation error, since the account form’s clear option submits "". lifecycle_stage is checked in application code, not just the DB. Valid values are prospect, customer, churned, inactive — anything else is rejected with 400 before the write happens (the same values are also enforced by a CHECK constraint on the table).

Auth

Requires a CRM manage scope and an active organization on the token. Any *:manage scope qualifies — in practice contacts:manage, deals:manage, companies:manage, or activities:manage.

Response

Errors

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required

Account/company name; required, non-empty.

Minimum string length: 1
domain
string | null

Primary domain, e.g. acme.com.

industry
enum<string> | null

One AccountIndustry enum value; blank/omitted means unset.

Available options:
Food & Beverage,
Technology,
Healthcare,
Financial Services,
Retail,
Manufacturing,
Professional Services,
Real Estate,
Education,
Media & Entertainment,
Transportation & Logistics,
Energy,
Agriculture,
Construction,
Hospitality & Travel,
Other
website
string | null

Company website URL.

owner_id
string | null

Owning user id; defaults to the caller if omitted.

lifecycle_stage
string | null

One of prospect, customer, churned, inactive.

notes
string | null

Free-text notes.

Response

Successful Response