Skip to main content
PATCH
Update rack

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

id
string<uuid>
required

A UUID string identifying this rack.

Body

Serializer for Rack model.

annotations
object

Key-value annotations. Keys must start with a lowercase letter and contain only lowercase alphanumeric segments joined by hyphens or underscores (e.g. 'org-id', 'gpu_ready').

tags
string[]

Tags for the resource. Must start with a lowercase letter and contain only lowercase alphanumeric segments joined by hyphens or underscores (e.g. 'gpu-ready', 'needs_review'). Stored deduplicated and sorted.

serial_number
string

Rack serial number, sourced from NetBox by the netbox-agent reconciler. The reconciler is the sole automated writer; this field remains writable via the API as an operator-override escape hatch for manual correction (e.g. fixing a value before the next reconciliation cycle). See docs/specs/0007-fleet-1207-rack-serial-sync.md.

Maximum string length: 50
name
string
Maximum string length: 255
status
enum<string>
  • reserved - Reserved
  • available - Available
  • planned - Planned
  • active - Active
  • deprecated - Deprecated
  • unknown - Unknown
Available options:
reserved,
available,
planned,
active,
deprecated,
unknown
location
string<uuid>

Response

Serializer for Rack model.

id
string<uuid>
required
read-only
location_name
string
required
read-only
site_name
string
required
read-only

Serializer for rack links.

operational_status_counts
object
required

Count of the rack's devices per operational status, every status present and defaulting to zero. Scoped to the rack's FM-managed devices excluding switches, so the Racks page can read these counts without fetching the whole site's operations/racks/standup payload. That endpoint selects the same class of device but scopes by site rather than by rack, so the two differ for a device whose site and rack.location.site have drifted apart. Deliberately narrower than a Site's counts.operational_status, which includes switches.

device_count
integer
required
read-only

Number of devices this rack's hostlists name. Carried explicitly so a caller need not derive it, matching device_count on the jobs list. It is the sum of operational_status_counts for every device holding a known status value; a row left on a retired status would be counted here and in no status bucket.

triage_count
integer
required
read-only

Number of the rack's devices currently in triage. Not derivable from triage_hostlist without expanding it, and a client needs the number to show "all" rather than a count.

device_hostlist
string | null
required
read-only

Compressed hostlist of the rack's devices, over the same population as operational_status_counts. Empty string when the rack holds none. Null when the caller may not read device names — these name individual devices, so they need device:read on top of the rack:read this endpoint requires; the counts are unaffected.

triage_hostlist
string | null
required
read-only

Compressed hostlist of the rack's devices currently in triage, a subset of device_hostlist. Empty string means nothing in the rack is in triage; null means the caller may not read device names, as for device_hostlist.

created_at
string<date-time>
required
read-only
updated_at
string<date-time>
required
read-only
name
string
required
Maximum string length: 255
location
string<uuid>
required
site
string<uuid>
required
read-only
annotations
object

Key-value annotations. Keys must start with a lowercase letter and contain only lowercase alphanumeric segments joined by hyphens or underscores (e.g. 'org-id', 'gpu_ready').

tags
string[]

Tags for the resource. Must start with a lowercase letter and contain only lowercase alphanumeric segments joined by hyphens or underscores (e.g. 'gpu-ready', 'needs_review'). Stored deduplicated and sorted.

serial_number
string

Rack serial number, sourced from NetBox by the netbox-agent reconciler. The reconciler is the sole automated writer; this field remains writable via the API as an operator-override escape hatch for manual correction (e.g. fixing a value before the next reconciliation cycle). See docs/specs/0007-fleet-1207-rack-serial-sync.md.

Maximum string length: 50
status
enum<string>
  • reserved - Reserved
  • available - Available
  • planned - Planned
  • active - Active
  • deprecated - Deprecated
  • unknown - Unknown
Available options:
reserved,
available,
planned,
active,
deprecated,
unknown