---
title: "Patch single company facts"
method: PATCH
path: "/v1/admin/companies/{company}"
tags: ["Admin"]
---

# Patch single company facts

`PATCH /v1/admin/companies/{company}`

## Request

- Base URL: `http://api.technooptimist.io`
- URL: `http://api.technooptimist.io/v1/admin/companies/{company}`
- Auth: HTTP bearer

Only provided fields change (name (a rename; slug and URL stay), description, keywords, website, status, parent, ticker, exchange, employees + employeesAsOf, valuation, brief); nothing else is removed, `valuation: null` clears the valuation. Stamps `checkedAt`. Use this instead of the full replace (PUT /admin/companies) to keep a company current.

## Path parameters

- `company` string, required

## Headers

- `x-routine-name` string: Name of the routine making the write; recorded as `routine:<name>` in the audit log.

## Request body

- object
  - `name` string
  - `description` string
  - `keywords` string
  - `website` string, uri
  - `status` 'private' | 'public' | 'subsidiary' | 'acquired' | 'defunct' | 'government' | 'nonprofit'
  - `parent` string
  - `ticker` string
  - `exchange` string
  - `employees` integer
  - `employeesAsOf` string
  - `valuation` object, nullable
    - `usd` number, required
    - `kind` 'market_cap' | 'private_valuation' | 'deal_value' | 'none', required
    - `asOf` string, required
    - `provenance` 'reported' | 'estimated' | 'sample', required
  - `brief` string[]

## Response `200`

Company page

- CompanyWriteResult
  - `ok` true, required
  - `company` CompanyPage, required
    - `company` object, required
      - `slug` string, required
      - `name` string, required
      - `keywords` string, required
      - `description` string, required
      - `website` string, nullable, required
      - `hq` string[], required
      - `foundedYear` number, nullable, required
      - `status` string, required
      - `parent` string, nullable, required
      - `ticker` string, nullable, required
      - `exchange` string, nullable, required
      - `employees` number, nullable, required
      - `employeesAsOf` string, date, nullable, required
      - `valuationUsd` number, nullable, required
      - `valuationKind` 'market_cap' | 'private_valuation' | 'deal_value' | 'none', required
      - `valuationAsOf` string, date, nullable, required
      - `valuationProvenance` 'reported' | 'estimated' | 'sample', nullable, required
      - `score` number, nullable, required
      - `logoUrl` string, nullable, required
      - `brief` string[], required
      - `lastUpdateAt` string, date-time, nullable, required
      - `checkedAt` string, date-time, nullable, required: When we last verified these facts (null = never stamped).
    - `frontiers` object[], required
      - `slug` string, required
      - `name` string, required
      - `field` object, nullable, required
        - `slug` string, required
        - `name` string, required
      - `isPrimary` boolean, required
    - `programs` object[], required
      - `slug` string, required
      - `name` string, required
      - `keywords` string, required
      - `description` string, required
      - `statusLine` string, required
      - `stage` 'research' | 'proto' | 'pilot' | 'deploy' | 'scaling', required
      - `isFlagship` boolean, required
      - `imageUrl` string, nullable, required
      - `frontier` object, required
        - `slug` string, required
        - `name` string, required
      - `path` string, required: Canonical site path. Programs live under their frontier.
      - `milestones` object, required
        - `done` integer, required
        - `total` integer, required
      - `next` object, nullable, required
        - `title` string, required
        - `status` 'done' | 'current' | 'planned' | 'missed', required
        - `date` LooseDate, nullable, required
          - `date` string, date, required
          - `precision` 'day' | 'month' | 'quarter' | 'year', required
        - `slipMonths` number, nullable, required
      - `lastUpdateAt` string, date-time, nullable, required
    - `approach` object[], required
      - `label` string, nullable, required
      - `title` string, required
      - `body` string, required
    - `problems` object[], required
      - `title` string, required
      - `body` string, required
      - `status` 'open' | 'active_research' | 'partially_solved' | 'solved', nullable, required
    - `people` object[], required
      - `name` string, required
      - `role` string, required
      - `url` string, uri, nullable, required
    - `funding` object[], required
      - `date` string, date, required
      - `precision` 'day' | 'month' | 'quarter' | 'year', required
      - `round` string, required
      - `amountUsd` number, nullable, required
      - `postMoneyUsd` number, nullable, required
      - `leads` string[], required
      - `provenance` 'reported' | 'estimated' | 'sample', required
    - `relationships` object[], required
      - `name` string, required
      - `kind` 'customer' | 'investor' | 'supplier' | 'partner' | 'acquirer', required
      - `note` string, nullable, required
      - `url` string, uri, nullable, required
      - `companySlug` string, nullable, required
    - `research` object[], required
      - `date` string, date, required
      - `precision` 'day' | 'month' | 'quarter' | 'year', required
      - `kind` 'paper' | 'blog' | 'demo' | 'talk' | 'dataset' | 'code', required
      - `title` string, required
      - `why` string, required
      - `url` string, uri, nullable, required
      - `program` object, nullable, required
        - `slug` string, required
        - `name` string, required
        - `frontier` string, required
        - `path` string, required: Canonical site path. Programs live under their frontier.
    - `catalysts` object[], required
      - `title` string, required
      - `date` string, date, required
      - `precision` 'day' | 'month' | 'quarter' | 'year', required
      - `kind` string, nullable, required
      - `program` object, nullable, required
        - `slug` string, required
        - `name` string, required
        - `frontier` string, required
        - `path` string, required: Canonical site path. Programs live under their frontier.
    - `instruments` object[], required
      - `symbol` string, required
      - `kind` 'stock' | 'preipo_perp', required
      - `price` number, nullable, required
      - `changePct` number, nullable, required
    - `peers` object[], required
      - `slug` string, required
      - `name` string, required
      - `hq` string[], required
      - `valuationUsd` number, nullable, required
      - `valuationKind` string, required
      - `flagship` object, nullable, required
        - `slug` string, required
        - `name` string, required
        - `stage` 'research' | 'proto' | 'pilot' | 'deploy' | 'scaling', required

## Other responses

- `401`: Missing or invalid credentials
- `403`: Credential lacks the required scope
- `404`: Not found
- `409`: Conflict
- `422`: Validation failed

---

[API](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api.md) · [All operations](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/llms.txt) · [OpenAPI document](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/revisions/b7bcde6a0f30?raw)
