Companies
A company (crm_companies) groups contacts and deals. Scopes: crm.companies.read or crm.companies.write.
Endpoints
GET
/api/workspace/v1/companiesGET
/api/workspace/v1/companies/{id}POST
/api/workspace/v1/companiesPATCH
/api/workspace/v1/companies/{id}The company object
| Field | Type | Description |
|---|---|---|
| name* | string | Company name (required on create) |
| website | string(url) | Full HTTPS URL |
| industry | string | Free-form industry label |
| size | string | Free-form company size |
| phone | string | Primary phone number |
| address | string | Full postal address |
| string | Corporate contact email | |
| country | string(2) | ISO 3166-1 alpha-2 |
| annual_revenue | number | string | Free-form revenue estimate |
| description | string | Notes about the company |
| linkedin_url | string(url) | LinkedIn profile URL |
| tags | array of strings | Max 50 tags |
| owner_user_id | integer | Team member who owns the company |
| primary_contact_id | integer | Which CRM contact is the primary contact |
| custom_fields | object | Merged on update |
Create a company
curl "https://app.staffifyai.com/api/workspace/v1/companies" \
-X POST \
-H "Authorization: Bearer sfy_wsp_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: aa11-bb22-cc33" \
-d '{
"name": "Acme B.V.",
"website": "https://acme.example",
"industry": "SaaS",
"country": "NL"
}'List / search
Supports page, limit, search, archived.
curl "https://app.staffifyai.com/api/workspace/v1/companies?search=acme&limit=25" \ -H "Authorization: Bearer sfy_wsp_live_YOUR_KEY"
Update
curl "https://app.staffifyai.com/api/workspace/v1/companies/42" \
-X PATCH \
-H "Authorization: Bearer sfy_wsp_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "industry": "Fintech", "tags": ["strategic","q4"] }'Delete / restore / bulk-delete
Soft-delete places a company in a 30-day recycle bin (hidden by default, listable via ?deleted=true). Restore within the window via POST /:id/restore. After 30 days a nightly purge cron hard-deletes it. Requires the separate crm.companies.delete scope.
# Soft-delete
curl -X DELETE "https://app.staffifyai.com/api/workspace/v1/companies/42" \
-H "Authorization: Bearer sfy_wsp_live_YOUR_KEY"
# Restore
curl -X POST "https://app.staffifyai.com/api/workspace/v1/companies/42/restore" \
-H "Authorization: Bearer sfy_wsp_live_YOUR_KEY"
# Bulk-delete (max 500 ids)
curl -X POST "https://app.staffifyai.com/api/workspace/v1/companies/bulk-delete" \
-H "Authorization: Bearer sfy_wsp_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "ids": [42, 43, 44] }'