---
title: "Add a new location to a facility"
method: POST
path: "/facilities/{certifyFacilityId}/locations"
tags: ["Facility"]
---

# Add a new location to a facility

`POST /facilities/{certifyFacilityId}/locations`

Creates a new location record and associates it with the specified facility. Use this to register a new physical location under an existing facility; to update an existing location's attributes, use PUT /facilities/{certifyFacilityId}/locations/{certifyLocationId} instead. The facility identified by certifyFacilityId must already exist. The request body is validated against a JSON schema; a 400 is returned if validation fails. Returns HTTP 201 with a batch alias ID map (e.g. corelocation, tenantfacilitylocation, and related address IDs) plus a message field — not the full created location record; call the location's read endpoint afterwards if you need the complete record.

## Path parameters

- `certifyFacilityId` string, required

## Headers

- `tenant-id` string

## Request body

- object

## Response `201`

Location successfully created and associated with facility

- object

## Other responses

- `400` — Invalid request body
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `404` — Facility not found
- `500` — Internal server error

---

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