---
title: "POST /v1/workplaces"
method: POST
path: "/v1/workplaces"
tags: ["Workplaces"]
---

# POST /v1/workplaces

`POST /v1/workplaces`

Create a new workplace.

## Request body

- object
  - `name` string, required — a string with no leading or trailing whitespace
  - `type` 'remote' | 'office', required
  - `address` object, required — A valid US address
    - `line1` string, required — a non empty string
    - `line2` string, nullable
    - `city` string, required
    - `postalCode` string, required
    - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DC' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY', required
    - `country` 'US', required

## Response `201`

Success

- object
  - `id` string, required — Public workplace identifier
  - `name` string, required
  - `type` 'remote' | 'office', required
  - `status` 'active' | 'archived', required
  - `address` object, required — A valid US address
    - `line1` string, required — a non empty string
    - `line2` string, nullable
    - `city` string, required
    - `postalCode` string, required
    - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DC' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY', required
    - `country` 'US', required
  - `createdAt` string, required — a string to be decoded into a Date

## Other responses

- `400` — The request did not match the expected schema
- `401` — ApiKeyUnauthorized
- `403` — MissingRequiredPermissions
- `409` — WorkplaceAlreadyExists
- `429` — RateLimitExceeded
- `500` — InternalServerError

## Changes

- **2026-03-27** `f7081fe59ef5` — 1 breaking, 1 info
  - removed the success response with the status `200`
  - added the success response with the status `201`
- **2026-03-19** `a896c17cf988` — 4 breaking, 1 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `403`
  - removed the required property `_tag` from the response with the `403` status
  - removed the required property `message` from the response with the `403` status
  - removed the required property `requiredPermissions` from the response with the `403` status
  - …1 more
- **2026-03-13** `6cfbdf910b80` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/teamwarp/apis/warp-api/changes/v1/workplaces/post.md)

---

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