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

# Create office

`POST /api/offices`

Creates a new office for the subscriber. Returns 422 when user/subscriber is invalid, when caller is not a broker-level user, or when office name already exists.

### Validation & Requirements
#### Required Parameters
- `form` (body, object)

#### Required JSON Body Fields
- `officeName` (minLength=1, maxLength=30)

#### Validations
- Invalid GUID values in `*Guid`/`*Guids` fields return `422 Unprocessable Entity`.
- Invalid date values in `*date*` fields return `422 Unprocessable Entity`.
- Missing required request body returns `422 Unprocessable Entity` with `Missing request body.`.
- Additional business-rule validation may return `422` with details in the `errors` array.

## Request body

- CreateOfficeForm
  - `officeName` string, required
  - `officeEmail` string, email, nullable
  - `isInboxEnabled` boolean
  - `timeZoneId` string, nullable
  - `isUserAllowedtoChangeTimeZone` boolean
  - `isTransactionLenderContactRequired` boolean
  - `isClientEmailAddressRequired` boolean
  - `ppOfficeGUID` string, nullable

## Response `200`

- LinkedResponseOfCreateOfficeResponse
  - `value` CreateOfficeResponse
    - `officeId` integer
    - `officeGuid` string, guid
    - `officeName` string, nullable
    - `officeEmail` string, nullable
    - `isInboxEnabled` boolean
    - `timeZoneId` string, nullable
    - `isUserAllowedtoChangeTimeZone` boolean
    - `isTransactionLenderContactRequired` boolean
    - `isClientEmailAddressRequired` boolean
  - `warnings` string[], nullable
  - `links` Link[], nullable
    - `href` string, nullable
    - `rel` string, nullable
    - `method` string, nullable

## Other responses

- `403`
- `409`
- `422`

---

[API](https://skmtc.net/skyslope/apis/skyslope-api.md) · [All operations](https://skmtc.net/skyslope/apis/skyslope-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skyslope/skyslope-api/revisions/bad0d2db9b7a/schema)
