---
title: "POST /api/companies"
method: POST
path: "/api/companies"
tags: ["Companies"]
---

# POST /api/companies

`POST /api/companies`

Create a new company

## Request body

- object
  - `officialName` string, required
  - `name` string
  - `country` string, required
  - `companySize` 'FROM_0_TO_1' | 'FROM_2_TO_10' | 'FROM_11_TO_50' | 'FROM_51_TO_200' | 'FROM_201_TO_500' | 'FROM_501_TO_1000' | 'FROM_1001_TO_5000' | 'FROM_5001_TO_10000' | 'FROM_10001_TO_INFINITE'
  - `companyType` 'EDUCATIONAL_INSTITUTION' | 'GOVERNMENT_AGENCY' | 'NONPROFIT' | 'PARTNERSHIP' | 'PRIVATELY_HELD' | 'FAMILY_BUSINESS' | 'PUBLIC_COMPANY' | 'SELF_EMPLOYED' | 'SOLE_PROPRIETORSHIP'
  - `facilityProcesses` string, required
  - `connectionType` 'SUPPLIER' | 'CLIENT', required
  - `onBehalfOfCompanyId` string
  - `addressLine1` string
  - `city` string
  - `geojson` unknown

## Response `200`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required — True when the request succeeded.
  - `data` object, required
    - `id` string, required
    - `createdAt` string, date-time, nullable, required
    - `createdByUserId` string, nullable, required
    - `createdByUserName` string, nullable, required
    - `createdByImpersonateId` string, nullable, required
    - `createdByCompanyId` string, nullable, required
    - `updatedAt` string, date-time, nullable, required
    - `updatedByUserId` string, nullable, required
    - `updatedByUserName` string, nullable, required
    - `updatedByImpersonateId` string, nullable, required
    - `updatedByImpersonateName` string, nullable, required
    - `updatedByCompanyId` string, nullable, required
    - `updatedByCompanyName` string, nullable, required
    - `createdByApiKeyId` string, nullable, required
    - `createdByApiKeyLabel` string, nullable, required
    - `updatedByApiKeyId` string, nullable, required
    - `updatedByApiKeyLabel` string, nullable, required
    - `isDemoCompany` number, nullable, required
    - `isRemoved` number, nullable, required
    - `isClientCompany` number, nullable, required
    - `oryOrganizationId` string, nullable, required

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response

## Changes

> 22 revisions in range; 1 not diffed.

- **2026-08-31** `97e51f27dc77` — 20 breaking, 20 info
  - the response property `data/createdAt` became nullable for the status `200`
  - the response property `data/createdByApiKeyId` became nullable for the status `200`
  - the response property `data/createdByApiKeyLabel` became nullable for the status `200`
  - the response property `data/createdByCompanyId` became nullable for the status `200`
  - …36 more

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/companies/post.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) · [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/retraced/api-reference/revisions/97e51f27dc77/schema)
