Companies

Companies group contacts under a single organisation. A contact can belong to one company. Companies can be used to filter contacts and roll up deal values.

GET/api/v1/companies

Return a paginated list of companies for your tenant.

Query parameters

NameTypeDescription
pageintegerPage number (default: 1)
limitintegerResults per page — max 100 (default: 25)
searchstringSearch by company name or domain

Example response

{
  "companies": [
    {
      "id": 55,
      "name": "Acme Corp",
      "domain": "acme.com",
      "industry": "Technology",
      "size": "51-200",
      "contact_count": 14,
      "addedtime": 1710000000
    }
  ],
  "total": 18,
  "page": 1,
  "limit": 25
}
GET/api/v1/companies/:id

Fetch a single company with its associated contacts.

Example response

{
  "id": 55,
  "name": "Acme Corp",
  "domain": "acme.com",
  "industry": "Technology",
  "size": "51-200",
  "contacts": [
    { "id": 1042, "first_name": "Jane", "last_name": "Doe" }
  ]
}
POST/api/v1/companies

Create a new company.

Request body

FieldTypeDescription
namerequiredstringCompany name
domainstringPrimary domain (e.g. acme.com)
industrystringIndustry category
sizestringEmployee range (e.g. '51-200')
phonestringMain phone number
addressstringStreet address

Example request

curl -X POST https://app.pushbuttoncrm.com/api/v1/companies \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp",
    "domain": "acme.com",
    "industry": "Technology"
  }'

Example response

{
  "id": 56,
  "name": "Acme Corp",
  "domain": "acme.com",
  "industry": "Technology",
  "addedtime": 1710100000
}
PUT/api/v1/companies/:id

Replace all fields on a company.

Request body

FieldTypeDescription
namerequiredstringCompany name
domainstringPrimary domain
industrystringIndustry category
sizestringEmployee range

Example response

{ "id": 55, "name": "Acme Corp", ... }
DELETE/api/v1/companies/:id

Delete a company. Associated contacts are not deleted — their company link is cleared.

Example response

{ "id": 55, "deleted": true }