---
title: "Update company"
method: PATCH
path: "/v1/companies/{company_id}"
tags: ["LinkedIn"]
---

# Update company

`PATCH /v1/companies/{company_id}`

## Request

- Base URL: `https://api.talktohumans.app`
- URL: `https://api.talktohumans.app/v1/companies/{company_id}`
- Auth: HTTP bearer

Updates a LinkedIn company.

## Path parameters

- `company_id` string, required

## Request body

- UpdateCompanyRequest: Company update payload. Known system keys are documented below. Any additional top-level key is treated as a registered company custom field key, following the same convention as the contact update endpoint. Unknown custom field keys, keys that collide with system fields, and values that do not match the registered field type are rejected.
  - `account_id` string: LinkedIn account ID returned by `GET /v1/accounts`. Required to write notes and when the company exists under multiple LinkedIn accounts.
  - `tags` ContactTagsPatch: Use `set` for exact replacement, or `add`/`remove` for incremental updates. `set` cannot be combined with `add` or `remove`.
    - `add` ContactTagInput[]
      - `name` string, required
      - `color` string: Supported values are green, orange, blue, red, purple, yellow, pink, and grey. Defaults to blue when omitted or unsupported.
    - `remove` string[]
    - `set` ContactTagInput[]
      - `name` string, required
      - `color` string: Supported values are green, orange, blue, red, purple, yellow, pink, and grey. Defaults to blue when omitted or unsupported.
  - `notes_json` string, nullable: Text to store as notes. Use null or an empty string to clear notes.

## Response `200`

Company updated.

- UpdateCompanyEnvelope
  - `data` UpdateCompanyResponse, required
    - `company` Company, nullable, required: A company.
      - `company_id` string, required
      - `provider_participant_id` string, required
      - `public_identifier` string
      - `name` string, required
      - `headline` string
      - `linkedin_url` string, uri
      - `avatar_url` string, uri
      - `background_cover_url` string, uri
      - `headcount` string
      - `employee_count` integer, nullable
      - `founding_date` string
      - `website_url` string, uri
      - `follower_count` integer, nullable
      - `about` string
      - `notes_json` string: Notes
      - `industries` Industry[], required
        - `name` string
        - `title` string
        - `industry_urn` string
        - `provider_industry_id` string
        - `hierarchy` string
      - `locations` Location[], required
        - `linkedin_text` string
        - `display_text` string
        - `country_code` string
        - `region_code` string
        - `country` string
        - `country_full` string
        - `state` string
        - `city` string
        - `geographic_area` string
        - `is_primary` boolean, required
        - `is_headquarter` boolean, required
      - `tags` APITag[]: Tags
        - `name` string, required
        - `color` 'green' | 'orange' | 'blue' | 'red' | 'purple' | 'yellow' | 'pink' | 'grey', required

## Other responses

- `400`: Invalid request parameters.
- `401`: Missing, malformed, invalid, or retired local API key.
- `403`: API access is not enabled for the organization, the API key cannot resolve to an active organization user, or the credential cannot access the requested LinkedIn account.
- `404`: Requested resource was not found.
- `429`: Rate limit exceeded. Public routes allow 50 requests per 10 seconds per IP and endpoint.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/talktohumans/apis/talktohumans-public-api.md) · [All operations](https://skmtc.dev/talktohumans/apis/talktohumans-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/talktohumans/apis/talktohumans-public-api/revisions/4551ad2f26af?raw)
