---
title: "Add or update a company (e.g. linkedin_company_id='12345'). Looks up by linkedin_company_id (preferred) or (name + websi"
method: POST
path: "/api/v1/companies"
tags: ["companies"]
---

# Add or update a company (e.g. linkedin_company_id='12345'). Looks up by linkedin_company_id (preferred) or (name + websi

`POST /api/v1/companies`

## Request

- Base URL: `https://crispy.sh`
- URL: `https://crispy.sh/api/v1/companies`
- Auth: HTTP bearer

## Request body

- object
  - `linkedin_company_id` string: LinkedIn numeric/slug company ID (preferred upsert key).
  - `name` string, required: Company name. Required if linkedin_company_id absent.
  - `industry` string[]: Industry tags.
  - `headcount` number: Approximate employee count.
  - `employee_count` number: Employee count (alias for headcount).
  - `headquarters` object: { city, country, ... }
  - `website` string: Company website URL.
  - `tags` string[]: Tags for categorization.
  - `custom_attrs` object: Custom personalization vars (max 100 string keys, 1KB total). Merged with existing.
  - `external_ids` object: Stable third-party identifiers (CRM IDs, enrichment IDs).
  - `notes` string: Free-text notes about the company.

## Response `200`

Success

## Other responses

- `401`: Missing or expired API key
- `403`: Insufficient key scope or permission denied
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/crispy/apis/crispy-rest-api.md) · [All operations](https://skmtc.dev/crispy/apis/crispy-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crispy/apis/crispy-rest-api/revisions/6bed0974d9ce?raw)
