Endpoints
Method | Path | Description |
|---|---|---|
POST |
| Create a new company |
GET |
| Get a company by ID |
GET |
| List companies |
PATCH |
| Update a company |
DELETE |
| Delete a company |
POST |
| Search companies by name |
Create a Company
Required Fields
Field | Type | Description |
|---|---|---|
| string | Company name |
Optional Fields
Field | Type | Description |
|---|---|---|
| string | Company website URL |
| string | Display label for website |
| string | LinkedIn page URL |
| string | Display label for LinkedIn |
| string | X (Twitter) profile URL |
| string | Display label for X |
| string | Intro video URL |
| string | Display label for video |
| string | Business sector (e.g., |
| number | Total employee count (min: 1) |
| boolean | Whether this company matches ICP criteria |
| string | Company tagline or slogan |
| boolean | Whether the company offers visa sponsorship |
| string[] |
|
| number | ARR in micros (multiply by 1,000,000) |
| string | Currency code (e.g., |
| object | Full address object (see below) |
| UUID | Account owner (workspace member ID) |
Address Object
The address is a flat object — all fields are at the same level, prefixed with address:
Request Example
Get a Company
Parameter | Type | Default | Description |
|---|---|---|---|
| UUID (path) | — | Company ID |
| number | 0 |
|
Depth guidance: Use
depth=1to retrieve the company with its direct relations (account owner, opportunities, people). Avoiddepth=2— it loads all nested relations and returns extremely large payloads (500KB+).
List Companies
Parameter | Type | Default | Description |
|---|---|---|---|
| number | 60 | Records per page |
| UUID | — | Pagination cursor (last record's ID) |
| string | — | Sort field and direction |
| string | — | Filter conditions |
| number | 0 | Related objects depth |
Update a Company
Send only the fields you want to change — omitted fields are left unchanged.
Delete a Company
Search Companies
Companies can be searched by name (via GraphQL), or by LinkedIn URL or domain (via REST filter).
By Name — GraphQL + REST (Two Steps)
Step 1: GraphQL search → get IDs
GraphQL caveats:
searchInputmust be a plainString!variable
limitmust be hardcoded in the query string (not passed as$limitvariable)The response returns IDs only — always follow up with REST
Step 2: Fetch full records
By LinkedIn URL — REST Filter
By Domain — REST Filter
Filter Examples
Common Gotchas
ARR is in micros.
$500,000=500000000000micros (eleven digits). Multiply actual amount by 1,000,000.All link fields need the full structure. Domain, LinkedIn, X, and intro video all use
{ primaryLinkUrl, primaryLinkLabel, secondaryLinks: [] }. A bare URL string won't work.Work policy values are UPPER_SNAKE_CASE. Use
ON_SITE,HYBRID,REMOTE_WORK— not"Remote Work"or"remote_work".Address is a flat object. Unlike most composite types, address fields are not nested — they're all at the top level with
addressprefix (e.g.,addressCity, notaddress.city).Domain filter uses a nested path. Use
domainName.primaryLinkUrl[ilike]:value, notdomainName[ilike]:value.Avoid
depth=2. It returns 500KB+ responses. Usedepth=1for the company's direct relations.id[in]requires bracket syntax. Useid[in]:[uuid1,uuid2]— the brackets are mandatory.URL-encode filter parameters. Use
curl -G --data-urlencode "filter=..."or equivalent.