Skip to main content
PUT
Update device

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 device.

Body

Serializer for Device model.

Maximum string length: 200
name
string
required
Maximum string length: 255
Pattern: ^[A-Za-z0-9._-]+$
position
string<decimal> | null
required

Rack U position. Null for an unpositioned device, one NetBox has in its rack without a U.

Pattern: ^-?\d{0,3}(?:\.\d{0,1})?$
device_type
string<uuid>
required
role
string<uuid>
required
rack
string<uuid>
required
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 | null
infrastructure_ref
string | null
ironic_provision_state
enum<string> | null
  • enroll - enroll
  • verifying - verifying
  • manageable - manageable
  • available - available
  • active - active
  • wait call-back - wait call-back
  • deploying - deploying
  • deploy failed - deploy failed
  • deploy complete - deploy complete
  • deploy hold - deploy hold
  • deleting - deleting
  • deleted - deleted
  • cleaning - cleaning
  • clean wait - clean wait
  • clean failed - clean failed
  • clean hold - clean hold
  • error - error
  • rebuild - rebuild
  • inspecting - inspecting
  • inspect failed - inspect failed
  • inspect wait - inspect wait
  • adopting - adopting
  • adopt failed - adopt failed
  • rescue - rescue
  • rescue failed - rescue failed
  • rescue wait - rescue wait
  • rescuing - rescuing
  • unrescue failed - unrescue failed
  • unrescuing - unrescuing
  • service - service
  • servicing - servicing
  • service wait - service wait
  • service failed - service failed
  • service hold - service hold
  • unknown - unknown
Available options:
enroll,
verifying,
manageable,
available,
active,
wait call-back,
deploying,
deploy failed,
deploy complete,
deploy hold,
deleting,
deleted,
cleaning,
clean wait,
clean failed,
clean hold,
error,
rebuild,
inspecting,
inspect failed,
inspect wait,
adopting,
adopt failed,
rescue,
rescue failed,
rescue wait,
rescuing,
unrescue failed,
unrescuing,
service,
servicing,
service wait,
service failed,
service hold,
unknown
placement_traits
string[]
slurm_states
enum<string>[]
  • ALLOCATED - ALLOCATED
  • DOWN - DOWN
  • ERROR - ERROR
  • FUTURE - FUTURE
  • IDLE - IDLE
  • MIXED - MIXED
  • UNKNOWN - UNKNOWN
  • BLOCKED - BLOCKED
  • CLOUD - CLOUD
  • COMPLETING - COMPLETING
  • DRAIN - DRAIN
  • DYNAMIC_FUTURE - DYNAMIC_FUTURE
  • DYNAMIC_NORM - DYNAMIC_NORM
  • FAIL - FAIL
  • INVALID_REG - INVALID_REG
  • MAINTENANCE - MAINTENANCE
  • NOT_RESPONDING - NOT_RESPONDING
  • PLANNED - PLANNED
  • POWERED_DOWN - POWERED_DOWN
  • POWERING_DOWN - POWERING_DOWN
  • POWERING_UP - POWERING_UP
  • POWER_DOWN - POWER_DOWN
  • POWER_DRAIN - POWER_DRAIN
  • POWER_UP - POWER_UP
  • REBOOT_CANCELED - REBOOT_CANCELED
  • REBOOT_ISSUED - REBOOT_ISSUED
  • REBOOT_REQUESTED - REBOOT_REQUESTED
  • RESERVED - RESERVED
  • RESUME - RESUME
  • UNDRAIN - UNDRAIN
Available options:
ALLOCATED,
DOWN,
ERROR,
FUTURE,
IDLE,
MIXED,
UNKNOWN,
BLOCKED,
CLOUD,
COMPLETING,
DRAIN,
DYNAMIC_FUTURE,
DYNAMIC_NORM,
FAIL,
INVALID_REG,
MAINTENANCE,
NOT_RESPONDING,
PLANNED,
POWERED_DOWN,
POWERING_DOWN,
POWERING_UP,
POWER_DOWN,
POWER_DRAIN,
POWER_UP,
REBOOT_CANCELED,
REBOOT_ISSUED,
REBOOT_REQUESTED,
RESERVED,
RESUME,
UNDRAIN
slurm_state_updated_at
string<date-time> | null
slurm_state_reason
string | null
operational_failure_reason
string | null
operational_failure_details
string | null
ironic_maintenance
boolean
ironic_maintenance_reason
string | null
ironic_fault
string | null
ironic_last_error
string | null
triage_ticket_url
Minimum string length: 1
parent_ticket_url
Minimum string length: 1
netbox_id
integer | null
Required range: 0 <= x <= 2147483647
netbox_source_updated_at
string<date-time> | null
write-only

NetBox device last_updated timestamp acknowledged by the lifecycle sync. This is NetBox source time, not a Fleet Manager wall-clock timestamp. Only the exact netbox-agent OAuth client may submit this field.

interfaces
object[]
inventory_status
enum<string>
  • planned - Planned
  • staged - Staged
  • active - Active
  • failed - Failed
  • offline - Offline
  • rma - RMA
  • returned - Returned
  • decommissioning - Decommissioning
  • decommissioned - Decommissioned
  • inventory - Inventory
  • unknown - Unknown
Available options:
planned,
staged,
active,
failed,
offline,
rma,
returned,
decommissioning,
decommissioned,
inventory,
unknown
operational_status
enum<string>
  • unknown - Unknown
  • quarantine - Quarantine
  • validation - Validation
  • available - Available
  • in_use - In Use
  • delegated - Delegated
  • pending_handover - Pending Handover
  • drained - Drained
  • failed - Failed
Available options:
unknown,
quarantine,
validation,
available,
in_use,
delegated,
pending_handover,
drained,
failed
health_status
enum<string>
  • unknown - Unknown
  • healthy - Healthy
  • degraded - Degraded
  • critical - Critical
Available options:
unknown,
healthy,
degraded,
critical
platform_class
string

Hardware descriptor key _, computed by the enrollment workflow from NetBox and mirrored to NetBox custom_fields.platform_class. Empty until the device first enrols.

Maximum string length: 128
entered_service_at
string<date-time> | null
in_triage
boolean
chad_ignore
boolean

Response

Serializer for Device model.

id
string<uuid>
required
read-only
nvswitch_rack_slot
enum<string> | null
required
  • ST0 - ST0
  • ST1 - ST1
  • ST2 - ST2
  • ST3 - ST3
  • ST4 - ST4
  • ST5 - ST5
  • ST6 - ST6
  • ST7 - ST7
  • ST8 - ST8
Available options:
ST0,
ST1,
ST2,
ST3,
ST4,
ST5,
ST6,
ST7,
ST8
nvswitch_switch_role
enum<string>
required
  • `` - Unset
  • lead - Lead
  • member - Member
Available options:
,
lead,
member
nvswitch_nvos_hostname
string
required
read-only
Maximum string length: 255
enrollment_validated_ref
string | null
required
read-only
current_instance_uuid
string | null
required
read-only
device_type_kind
string
required
read-only
device_type_vendor
string
required
read-only
device_type_model
string
required
read-only
device_type_resource_class
string
required
read-only
role_name
string
required
read-only
role_slug
string
required
read-only
Pattern: ^[-a-zA-Z0-9_]+$
device_class
enum<string>
required
  • gpu_compute - GPU Compute
  • cpu_hypervisor - CPU Hypervisor
  • cpu_baremetal - CPU Baremetal
  • switch - Switch
Available options:
gpu_compute,
cpu_hypervisor,
cpu_baremetal,
switch
rack_name
string
required
read-only
rack_serial_number
string
default:""
required
read-only

Rack serial number for this device's rack. Empty string if not synced.

location_name
string
required
read-only
site_name
string
required
read-only
site_slug
string
required
read-only
Pattern: ^[-a-zA-Z0-9_]+$
organisation_id
string<uuid>
required
read-only
organisation_slug
string
required
read-only
Pattern: ^[-a-zA-Z0-9_]+$

Serializer for device links.

customer_ready
boolean
required
read-only

Compute customer_ready based on status fields.

topology
object
required
read-only

Return topology paths keyed by facet.

topology_group_types
object
required
read-only

Return topology as {facet: {type: label}} using cached path_types/path_labels.

Enables type-aware lookup (e.g. find the "pod" label within "networking") even when the device is a member of a deeper group like "nvlink-domain". No extra queries — both path_types and path_labels are cached JSON fields on TopologyGroup.

short_name
string
required
read-only

Extract short device identifier from full name.

Takes the last hyphen-separated segment (e.g. "gpu1255" from "sta1-p-phy-gpu1255"). Falls back to the full name if the segment doesn't contain both letters and digits.

current_tenant_id
string<uuid> | null
required
read-only
current_tenant_name
string | null
required
read-only
current_allocation_annotations
object | null
required
read-only

UNI region annotations from the device's active allocation.

created_at
string<date-time>
required
read-only
updated_at
string<date-time>
required
read-only
name
string
required
Maximum string length: 255
Pattern: ^[A-Za-z0-9._-]+$
nvswitch_ztp_completed_at
string<date-time> | null
required
read-only
nvswitch_ztp_evidence_source
string
required
read-only

e.g. netbox_tag, network_api, manual

position
string<decimal> | null
required

Rack U position. Null for an unpositioned device, one NetBox has in its rack without a U.

Pattern: ^-?\d{0,3}(?:\.\d{0,1})?$
enrollment_proof_source
enum<string>
required

Provenance of the current enrollment identity proof.

  • enrolled - Enrolled
  • legacy - Legacy
  • unmigrated - Unmigrated
  • none - None
Available options:
enrolled,
legacy,
unmigrated,
none
entered_triage_at
string<date-time> | null
required
read-only
inventory_only
boolean
required
read-only
device_type
string<uuid>
required
role
string<uuid>
required
rack
string<uuid>
required
location
string<uuid>
required
read-only
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 | null
infrastructure_ref
string | null
ironic_provision_state
enum<string> | null
  • enroll - enroll
  • verifying - verifying
  • manageable - manageable
  • available - available
  • active - active
  • wait call-back - wait call-back
  • deploying - deploying
  • deploy failed - deploy failed
  • deploy complete - deploy complete
  • deploy hold - deploy hold
  • deleting - deleting
  • deleted - deleted
  • cleaning - cleaning
  • clean wait - clean wait
  • clean failed - clean failed
  • clean hold - clean hold
  • error - error
  • rebuild - rebuild
  • inspecting - inspecting
  • inspect failed - inspect failed
  • inspect wait - inspect wait
  • adopting - adopting
  • adopt failed - adopt failed
  • rescue - rescue
  • rescue failed - rescue failed
  • rescue wait - rescue wait
  • rescuing - rescuing
  • unrescue failed - unrescue failed
  • unrescuing - unrescuing
  • service - service
  • servicing - servicing
  • service wait - service wait
  • service failed - service failed
  • service hold - service hold
  • unknown - unknown
Available options:
enroll,
verifying,
manageable,
available,
active,
wait call-back,
deploying,
deploy failed,
deploy complete,
deploy hold,
deleting,
deleted,
cleaning,
clean wait,
clean failed,
clean hold,
error,
rebuild,
inspecting,
inspect failed,
inspect wait,
adopting,
adopt failed,
rescue,
rescue failed,
rescue wait,
rescuing,
unrescue failed,
unrescuing,
service,
servicing,
service wait,
service failed,
service hold,
unknown
placement_traits
string[]
slurm_states
enum<string>[]
  • ALLOCATED - ALLOCATED
  • DOWN - DOWN
  • ERROR - ERROR
  • FUTURE - FUTURE
  • IDLE - IDLE
  • MIXED - MIXED
  • UNKNOWN - UNKNOWN
  • BLOCKED - BLOCKED
  • CLOUD - CLOUD
  • COMPLETING - COMPLETING
  • DRAIN - DRAIN
  • DYNAMIC_FUTURE - DYNAMIC_FUTURE
  • DYNAMIC_NORM - DYNAMIC_NORM
  • FAIL - FAIL
  • INVALID_REG - INVALID_REG
  • MAINTENANCE - MAINTENANCE
  • NOT_RESPONDING - NOT_RESPONDING
  • PLANNED - PLANNED
  • POWERED_DOWN - POWERED_DOWN
  • POWERING_DOWN - POWERING_DOWN
  • POWERING_UP - POWERING_UP
  • POWER_DOWN - POWER_DOWN
  • POWER_DRAIN - POWER_DRAIN
  • POWER_UP - POWER_UP
  • REBOOT_CANCELED - REBOOT_CANCELED
  • REBOOT_ISSUED - REBOOT_ISSUED
  • REBOOT_REQUESTED - REBOOT_REQUESTED
  • RESERVED - RESERVED
  • RESUME - RESUME
  • UNDRAIN - UNDRAIN
Available options:
ALLOCATED,
DOWN,
ERROR,
FUTURE,
IDLE,
MIXED,
UNKNOWN,
BLOCKED,
CLOUD,
COMPLETING,
DRAIN,
DYNAMIC_FUTURE,
DYNAMIC_NORM,
FAIL,
INVALID_REG,
MAINTENANCE,
NOT_RESPONDING,
PLANNED,
POWERED_DOWN,
POWERING_DOWN,
POWERING_UP,
POWER_DOWN,
POWER_DRAIN,
POWER_UP,
REBOOT_CANCELED,
REBOOT_ISSUED,
REBOOT_REQUESTED,
RESERVED,
RESUME,
UNDRAIN
slurm_state_updated_at
string<date-time> | null
slurm_state_reason
string | null
operational_failure_reason
string | null
operational_failure_details
string | null
ironic_maintenance
boolean
ironic_maintenance_reason
string | null
ironic_fault
string | null
ironic_last_error
string | null
triage_ticket_url
Minimum string length: 1
parent_ticket_url
Minimum string length: 1
netbox_id
integer | null
Required range: 0 <= x <= 2147483647
interfaces
object[]
inventory_status
enum<string>
  • planned - Planned
  • staged - Staged
  • active - Active
  • failed - Failed
  • offline - Offline
  • rma - RMA
  • returned - Returned
  • decommissioning - Decommissioning
  • decommissioned - Decommissioned
  • inventory - Inventory
  • unknown - Unknown
Available options:
planned,
staged,
active,
failed,
offline,
rma,
returned,
decommissioning,
decommissioned,
inventory,
unknown
operational_status
enum<string>
  • unknown - Unknown
  • quarantine - Quarantine
  • validation - Validation
  • available - Available
  • in_use - In Use
  • delegated - Delegated
  • pending_handover - Pending Handover
  • drained - Drained
  • failed - Failed
Available options:
unknown,
quarantine,
validation,
available,
in_use,
delegated,
pending_handover,
drained,
failed
health_status
enum<string>
  • unknown - Unknown
  • healthy - Healthy
  • degraded - Degraded
  • critical - Critical
Available options:
unknown,
healthy,
degraded,
critical
platform_class
string

Hardware descriptor key _, computed by the enrollment workflow from NetBox and mirrored to NetBox custom_fields.platform_class. Empty until the device first enrols.

Maximum string length: 128
entered_service_at
string<date-time> | null
in_triage
boolean
chad_ignore
boolean