update_company
Update one of the authenticated user's companies or pitches in place: move a pitch along the deal pipeline (deal_stage), correct its identity (name, domain, url, tagline, description), attach the deck a founder sent late (deck_url), set the round it's raising (valuation, amount, revenue, discount) or the currency it's in, or change a held position's status. Pass only the fields you're changing; everything else is left alone. Slugs come from list_companies / list_pitches / search_companies. Never creates or deletes anything — promoting a pitch into the portfolio is create_transaction's job, and nothing here removes a company.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Website URL, for a link that isn't the domain's homepage. Pass null to fall back to that homepage; a company with a domain always reports one, so this field never reads as empty. | |
| name | No | Company name. | |
| slug | Yes | The company or pitch to update, by slug. | |
| domain | No | Website domain, normalized on save ("https://acme.com/about" becomes "acme.com"). Pass null to clear. | |
| status | No | Status of a held position. Only valid on portfolio companies. Marking one `dissolved` writes a dissolution mark and rebuilds its value history, and `exited` closes it out — both change what the portfolio is worth, so confirm with the user first. | |
| relabel | No | Set true, once the user has confirmed, to change the currency of a company that already has figures. They keep their numbers and read in the new currency, which changes cost basis and value. | |
| revenue | No | Annual revenue / ARR, in the company's currency. Pass null to clear. | |
| tagline | No | One-line description. Pass null to clear. | |
| currency | No | ISO 4217 code the company's rounds, marks and metrics are in (EUR, GBP, CHF…). This relabels figures already recorded rather than converting them, so on a company that has transactions, marks, metrics or round economics it's refused unless `relabel` is true: confirm with the user first. Economics passed in the same call are read in it; otherwise an economics figure with another currency's sign ("€5M") converts into the company's currency. | |
| deck_url | No | Link to the pitch deck. Decks often arrive after the deal does, so this is the usual way one gets attached. Pass null to clear. | |
| deal_stage | No | Move a pitch to this pipeline stage. `passed` parks a deal you're declining; `committed` means you've agreed to invest but the wire hasn't landed. Only valid on pipeline pitches and leads — a held position has no deal stage. | |
| description | No | The short plain-English abstract of what the company does. Pass null to clear. | |
| raising_amount | No | Total size of the round being raised, in the company's currency. Pass null to clear. | |
| discount_percent | No | Discount the SAFE or note offers on the next round's price, in percentage points (20 means 20%). Pass null to clear. | |
| raised_previously | No | Total raised across all prior rounds, in the company's currency. Pass null to clear. | |
| raised_this_round | No | Committed so far in this round, in the company's currency. Pass null to clear. | |
| raising_at_valuation | No | Valuation the current round is being raised at, in the company's currency. Pass null to clear. |