---
title: "Delete Company"
method: DELETE
path: "/companies/{company_id}"
tags: ["companies"]
---

# Delete Company

`DELETE /companies/{company_id}`

## Request

- Base URL: `https://api.nanocorp.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nanocorp.so/companies/{company_id}`
- Auth: HTTP bearer

Archive a company (irreversible-for-now soft delete; UI says "Archive").

Idempotent: repeating on an archived company is a 204 no-op. 502 when a
live-mode Stripe deactivation failed, nothing archived, retry. 409
``{code: "has_subscribers", count, message}`` while people still pay this
business (spec 2026-09-15 D38): the modal shows the message and the count.
Money stays reachable: the withdrawal routes are allowlisted for archived
companies. Spec: specs/DRAFT_SPEC_COMPANY_ARCHIVE.md.

## Path parameters

- `company_id` string, uuid, required

## Request body

- ArchiveCompanyRequest: Optional body for DELETE /companies/{company_id} (archive). When a body is sent, ``reason_category`` is required; the whole body may be omitted (agent/legacy callers). Stored on the companies archive columns + the ``company_archived`` PostHog event (specs/DRAFT_SPEC_COMPANY_ARCHIVE.md §4).
  - `reason_category` 'didnt_work_out' | 'too_expensive' | 'just_testing' | 'other', required
  - `reason` string, nullable

## Response `204`

Successful Response

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/nanocorp/apis/nanocorp-api.md) - [All operations](https://skmtc.dev/nanocorp/apis/nanocorp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nanocorp/apis/nanocorp-api/revisions/291bb76b720b?raw)
