---
title: "Allows a user to create a new Company"
method: POST
path: "/companies"
tags: ["companies"]
---

# Allows a user to create a new Company

`POST /companies`

User must have been previously invited

## Request body

- CreateCompanyRequest — Represents a request to create a new Gremlin company
  - `admin_email` string, required — The email of the user creating the company
  - `code` string, required — The invite code the user received in their email
  - `company_name` string, required — The name of the company to be created
  - `team_name` string, required — The name of the team to be created under the company
  - `allow_us_storage` boolean — If the user's information is allowed to be stored in U.S. based servers
  - `admin_password` string — The password for the user (optional if using SSO)

## Response `200`

- CreateCompanyResponse
  - `companyName` string
  - `session` object

## Other responses

- `400` — No invitation found for the admin email, US storage was not agreed to, or the invite code does not match
- `403` — Response was sent via HTTP, please retry using HTTPS
- `409` — The requested company name is already in use
- `429` — Too many company creation attempts for this invite; try again shortly

## Changes

- **2026-09-02** `358b43b8f258` — 4 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `409`
  - added the non-success response with the status `429`
  - added the success response with the status `200`

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

---

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