---
title: "POST /Locations"
method: POST
path: "/Locations"
tags: ["Locations"]
---

# POST /Locations

`POST /Locations`

## Request body

- CreateLocationDto
  - `name` string
  - `description` string, nullable
  - `isActive` boolean
  - `displayOrder` union
    - integer
    - string, int32
  - `isVehicle` boolean
  - `isPersonalVehicle` boolean
  - `allowOnlineBooking` boolean
  - `allowOverbooking` boolean
  - `kind` 'Room' | 'Cage' | 'Run' | 'Ward' — What a `Location` physically is (ITE-710). Exam rooms are where appointments happen and what the flowboard room grid shows; cages, runs and wards are where a hospitalized patient lives for the length of a `HospitalStay`. The admit picker filters on this, and the flowboard keeps hospitalization locations out of its grid. Stored as text; the default keeps every pre-existing location an exam room.
  - `allowedSpeciesIds` string[], nullable

## Response `200`

OK

- LocationResponseDto
  - `id` string
  - `name` string
  - `description` string, nullable
  - `isActive` boolean
  - `displayOrder` union
    - integer
    - string, int32
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `isVehicle` boolean
  - `isPersonalVehicle` boolean
  - `allowOnlineBooking` boolean
  - `allowOverbooking` boolean
  - `kind` 'Room' | 'Cage' | 'Run' | 'Ward' — What a `Location` physically is (ITE-710). Exam rooms are where appointments happen and what the flowboard room grid shows; cages, runs and wards are where a hospitalized patient lives for the length of a `HospitalStay`. The admit picker filters on this, and the flowboard keeps hospitalization locations out of its grid. Stored as text; the default keeps every pre-existing location an exam room.
  - `allowedSpeciesIds` string[], nullable — Species IDs allowed at this location. If empty/null, all species are allowed.

## Changes

- **2026-09-11** `503cd0546309` — 6 info
  - added the new optional request property `kind` (media type: application/json)
  - added the new optional request property `kind` (media type: text/json)
  - added the new optional request property `kind` (media type: application/*+json)
  - added the optional property `kind` to the response with the `200` status (media type: text/plain)
  - …2 more

[Change history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Locations/post.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) · [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/d4ae30be0619?raw)
