Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Companies

Companies represent organizations your team works with. Contacts can be linked to companies, and projects can be associated with companies.

FieldTypeDescription
iduuidUnique identifier
account_iduuidAccount this company belongs to
created_byuuidUser who created the company
namestringCompany name
domainstringPrimary domain (e.g., acme.com)
industrystringIndustry
notesstringFree-text notes
phonestringPhone number
websitestringWebsite URL
linkedin_urlstringLinkedIn profile URL
addressstringStreet address
citystringCity
statestringState/province
zip_codestringZIP/postal code
countrystringCountry
employee_countinteger | nullNumber of employees
annual_revenueinteger | nullAnnual revenue in cents
tagsstring[]Array of tag strings
custom_fieldsobjectCustom field values keyed by field definition ID
created_atdatetimeCreation timestamp
updated_atdatetimeLast update timestamp

Endpoint: companies-list

FieldTypeRequiredDescription
searchstringNoSearch by name, domain
tagsstring[]NoFilter by tags
cursorstringNoPagination cursor
limitintegerNoResults per page (default 25)
Terminal window
curl -X POST https://api.driftwoodapp.com/api/companies-list \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"search": "acme", "limit": 10}'

Response:

{
"ok": true,
"result": {
"items": [
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Acme Corp",
"domain": "acme.com",
"industry": "Technology",
"employee_count": 500,
"annual_revenue": 5000000000,
"tags": ["enterprise"],
"custom_fields": {},
"created_at": "2025-06-01T12:00:00Z",
"updated_at": "2025-06-01T12:00:00Z"
}
],
"next_cursor": ""
}
}

Endpoint: companies-get

FieldTypeRequiredDescription
iduuidYesCompany ID
Terminal window
curl -X POST https://api.driftwoodapp.com/api/companies-get \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "660e8400-e29b-41d4-a716-446655440001"}'

Endpoint: companies-create

FieldTypeRequiredDescription
namestringYesCompany name
domainstringNoPrimary domain
industrystringNoIndustry
notesstringNoNotes
phonestringNoPhone number
websitestringNoWebsite URL
linkedin_urlstringNoLinkedIn URL
addressstringNoStreet address
citystringNoCity
statestringNoState/province
zip_codestringNoZIP/postal code
countrystringNoCountry
employee_countintegerNoNumber of employees
annual_revenueintegerNoAnnual revenue in cents
tagsstring[]NoTags
custom_fieldsobjectNoCustom field values
Terminal window
curl -X POST https://api.driftwoodapp.com/api/companies-create \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Corp",
"domain": "acme.com",
"industry": "Technology",
"employee_count": 500,
"tags": ["enterprise"]
}'

Partial updates — only include fields to change.

Endpoint: companies-update

FieldTypeRequiredDescription
iduuidYesCompany ID
All other fields from createNoFields to update
Terminal window
curl -X POST https://api.driftwoodapp.com/api/companies-update \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "660e8400-e29b-41d4-a716-446655440001",
"employee_count": 600
}'

Endpoint: companies-delete

FieldTypeRequiredDescription
iduuidYesCompany ID
Terminal window
curl -X POST https://api.driftwoodapp.com/api/companies-delete \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "660e8400-e29b-41d4-a716-446655440001"}'
CodeDescription
companies.invalid_requestMalformed request body
companies.invalid_idInvalid UUID format
companies.not_foundCompany does not exist
companies.invalid_custom_fieldsCustom field values don’t match definitions
companies.internalServer error