How do I structure data centers and racks?
Quick answer
Section titled “Quick answer”Notory maps the physical structure across three levels: Location → Data center → Rack. In the Infrastructure module, first add a data center and assign it to a location; then add racks and assign them to the data center. Racks can optionally be bundled into rack groups and given height units (U). There is no dedicated “room” object type — the server room is the data center.
Prerequisites
Section titled “Prerequisites”The Infrastructure module is available from the Pro plan onward (feature Multi-Tenant). A location should already exist.
Instructions
Section titled “Instructions”-
Add a data center. In the Infrastructure module, switch to the Data Centers tab and click Add. Assign a name (e.g. “DC-1 / Server room ground floor”) and choose the associated location.
Screenshot pendinginfrastruktur-racks-01The 'Data Centers' tab in the Infrastructure module with the form for a new data center'Data Centers' tab: assigning the data center to a location. -
Add a rack. Switch to the Racks tab and click Add.
- Name — e.g. “Rack A01”
- Data center — choose the data center you created earlier
- Rack group (optional) — to bundle multiple racks
- Role (optional) — e.g. “Network” or “Storage”
- Height units (U) (optional) — height,
1–60 - Description (optional)
Screenshot pendinginfrastruktur-racks-02The 'Rack' form with the fields Name, Data Center, Rack Group, Role, Height UnitsThe rack form — assignment to a data center and an optional rack group. -
Save. Racks appear in the list. You can then place assets.
First, the data center (POST /api/v1/infrastructure/datacenters), referencing the
location:
curl -X POST https://demo.notory.io/api/v1/infrastructure/datacenters \ -H "Authorization: Bearer inv_dein_token" \ -H "Content-Type: application/json" \ -d '{ "name": "RZ-1 / Serverraum EG", "location_id": "0190f3b0-1a10-7c20-9d30-4e50f60a7b80" }'Then the rack (POST /api/v1/infrastructure/racks), referencing the data center:
curl -X POST https://demo.notory.io/api/v1/infrastructure/racks \ -H "Authorization: Bearer inv_dein_token" \ -H "Content-Type: application/json" \ -d '{ "name": "Rack A01", "datacenter_id": "0190f3b0-2b20-7d30-ae40-5f60a70b8c90", "role": "Netzwerk", "height_units": 42 }'{ "id": "0190f3b0-3c30-7e40-bf50-6a70b80c9d01", "tenant_id": "3d9b0c12-4e5a-4f88-b1c7-2a9e6d4f0011", "name": "Rack A01", "datacenter_id": "0190f3b0-2b20-7d30-ae40-5f60a70b8c90", "group_id": null, "role": "Netzwerk", "height_units": 42, "description": null, "created_at": "2026-07-08T10:10:00Z", "updated_at": "2026-07-08T10:10:00Z"}Possible errors: 401, 403 (permissions/role, or module not included in the
plan), 422 (validation — e.g. height_units outside 1–60 or empty name).
What happens behind the scenes?
Section titled “What happens behind the scenes?”- Loose chaining: The levels are connected via optional references
(
Datacenter.location_id,Rack.datacenter_id). When a parent level is deleted, Notory sets the reference tonull(SET NULL) — child objects are retained but lose their assignment. - Height units:
height_unitsis capped at 1–60 and documents the physical height; Notory doesn’t calculate any automatic occupancy from it. - Groups are optional: Rack groups bundle racks organizationally (e.g. by row) and are independent of the data center assignment.
- Tenant isolation & gating: All objects belong to your tenant; without the
Multi-Tenant feature (Pro plan), the API responds with
403.