---
title: "Create a new office"
method: POST
path: "/offices"
tags: ["Offices"]
---

# Create a new office

`POST /offices`

## Request body

- OfficeInput
  - `code` string, required
  - `country` string, required
  - `city` string, required
  - `address` string, required
  - `capacity` integer, required
  - `monthlyRental` number, required — Monetary value in EUR
  - `estate` object, required
    - `owner` string, required
    - `phone` string, required
    - `account` string, required
  - `amenities` OfficeAmenity[], required
    - `code` string, required — Unique code identifier of the amenity
    - `name` string, required — Display name of the amenity
  - `imgURL` string

## Response `201`

Office created successfully

- Office
  - `code` string, required
  - `country` string, required
  - `city` string, required
  - `address` string, required
  - `capacity` integer, required
  - `monthlyRental` number, required — Monetary value in EUR
  - `estate` object, required
    - `owner` string, required
    - `phone` string, required
    - `account` string, required
  - `amenities` string[], required
  - `imgURL` string

## Other responses

- `400` — Invalid office input request body @see {@link OfficeInput}
- `409` — Office with this code already exists
- `422` — Invalid office configuration (e.g. invalid country code, unknown amenity)
- `500` — An internal server error occurred.
- `503` — The service is temporarily unavailable. Maybe there is maintenance?

## Changes

- **2025-01-09** `a59b7402c514` — 3 breaking, 2 info
  - the response property `code` became optional for the status `400`
  - the response property `code` became optional for the status `500`
  - the response property `code` became optional for the status `503`
  - added the non-success response with the status `409`
  - …1 more
- **2025-01-09** `29074eeb2bb5` — 3 info
  - added the media type `application/json` for the response with the status `400`
  - added the non-success response with the status `500`
  - added the non-success response with the status `503`
- **2025-01-07** `659ddbe31a58` — 3 breaking, 2 warning, 5 info
  - added the new required request property `estate`
  - removed the media type `application/json` for the response with the status `400`
  - removed the required property `estateOwner` from the response with the `201` status
  - removed the request property `coordinates`
  - …6 more

[Change history](https://skmtc.dev/ducin-public/apis/itcorpo-api/changes/offices/post.md)

---

[API](https://skmtc.dev/ducin-public/apis/itcorpo-api.md) · [All operations](https://skmtc.dev/ducin-public/apis/itcorpo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ducin-public/itcorpo-api/revisions/2bb1ebc60ebd/schema)
