> ## Documentation Index
> Fetch the complete documentation index at: https://docs.internal.nscale.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List device standup placements and latest executions

> Devices at a site with their standup placement and latest execution.

Ordered by most recent execution activity first — a device that finished
a job ranks on when it finished, one still running on when it started,
and one still queued on when its Job was created. Only a device that has
never run an in-sequence job sorts last, with null timestamps and a null
`job_id`.

Filters combine as OR within one parameter and AND across parameters.
`failure_code` and `responsible_team` are populated only on a `failed`
device, so filtering on either also narrows to those.



## OpenAPI

````yaml /openapi/fleet-manager-openapi.yaml get /api/v1/sites/{site_id}/operations/device-executions/
openapi: 3.0.3
info:
  title: Fleet Manager API
  version: 1.0.0
  description: API for the Nscale Fleet Manager
servers: []
security: []
paths:
  /api/v1/sites/{site_id}/operations/device-executions/:
    get:
      tags:
        - Operations
      summary: List device standup placements and latest executions
      description: |-
        Devices at a site with their standup placement and latest execution.

        Ordered by most recent execution activity first — a device that finished
        a job ranks on when it finished, one still running on when it started,
        and one still queued on when its Job was created. Only a device that has
        never run an in-sequence job sorts last, with null timestamps and a null
        `job_id`.

        Filters combine as OR within one parameter and AND across parameters.
        `failure_code` and `responsible_team` are populated only on a `failed`
        device, so filtering on either also narrows to those.
      operationId: api_v1_sites_operations_device_executions_list
      parameters:
        - in: query
          name: column
          schema:
            type: array
            items:
              $ref: '#/components/schemas/StandupPipelineColumnEnum'
          description: >-
            Optional. Keep only devices currently placed in these pipeline
            columns; repeat the param to include more than one.
        - in: query
          name: device_class
          schema:
            type: array
            items:
              $ref: '#/components/schemas/StandupDeviceClassEnum'
          description: >-
            Optional. List only devices of these classes; repeat the param to
            include more than one (e.g. gpu_compute + cpu_baremetal). Accepts
            exactly what the standup matrix and the dashboard cards accept, so a
            filtered table agrees with them.
        - in: query
          name: failure_code
          schema:
            type: array
            items:
              $ref: '#/components/schemas/FailureCodeEnum'
          description: >-
            Optional. Keep only devices whose failure carries one of these
            codes; repeat the param to include more than one. Only a `failed`
            device carries a code, so this also narrows to them. Validated
            against the listed values — a code this release does not know is
            rejected rather than silently matching nothing. Failures carrying a
            stored code outside this set are reachable through
            `responsible_team=unknown`, which is what an unrecognised code
            resolves to.
        - name: limit
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
            maximum: 500
            minimum: 1
        - in: query
          name: name
          schema:
            type: string
          description: >-
            Optional. Case-insensitive substring match on device name — `ice2-p`
            matches `sys1-ice2-p-phy-osh4`.
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - in: query
          name: rack_id
          schema:
            type: array
            items:
              type: string
              format: uuid
          description: >-
            Optional. Keep only devices in these racks, by rack UUID; repeat the
            param to include more than one.
        - in: query
          name: responsible_team
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ResponsibleTeamEnum'
          description: >-
            Optional. Keep only devices whose failure is owned by one of these
            teams; repeat the param to include more than one. Resolved from
            `failure_code`, so this also narrows to failed devices. `unknown`
            selects failures whose stored code this release does not recognise.
        - in: path
          name: site_id
          schema:
            type: string
            format: uuid
          description: Site identifier.
          required: true
        - in: query
          name: status
          schema:
            type: array
            items:
              $ref: '#/components/schemas/StandupDeviceStatusEnum'
          description: >-
            Optional. Keep only devices whose status at their column is one of
            these; repeat the param to include more than one.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStandupDevicePlacementList'
          description: ''
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication credentials were not provided or are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: You do not have permission to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - oauth2:
            - operations:read
        - cookieAuth: []
components:
  schemas:
    StandupPipelineColumnEnum:
      enum:
        - enrolment
        - quarantine
        - single_node_test
        - multi_node_test
        - release
      type: string
      description: |-
        * `enrolment` - ENROLMENT
        * `quarantine` - QUARANTINE
        * `single_node_test` - SINGLE_NODE_TEST
        * `multi_node_test` - MULTI_NODE_TEST
        * `release` - RELEASE
    StandupDeviceClassEnum:
      type: string
      enum:
        - cpu_baremetal
        - cpu_hypervisor
        - gpu_compute
    FailureCodeEnum:
      enum:
        - UNMAPPED_APPLICATION_ERROR
        - ACTIVITY_EXECUTION_FAILURE
        - UNEXPECTED_WORKFLOW_EXCEPTION
        - WORKFLOW_TIMEOUT
        - WORKFLOW_CANCELLED
        - WORKFLOW_TERMINATED
        - UNKNOWN_WORKFLOW_FAILURE
        - JOB_PARAMETERS_INVALID
        - JOB_SUBMISSION_FAILED
        - IRONIC_NODE_CLEAN_FAILED
        - IRONIC_NODE_CLEAN_INVALID_ACTION
        - IRONIC_NODE_CLEAN_UNEXPECTED_PROVISION_STATE
        - QUARANTINE_TRAIT_REMOVAL_FAILED
        - RELEASE_TRAIT_ADDITION_FAILED
        - RELEASE_PARTITION_LATCH_REFUSED
        - RELEASE_BACKEND_VRF_LATCH_REFUSED
        - METAL_HANDOFF_FAILED
        - METAL_RECLAIM_FAILED
        - CUSTODY_STATUS_UPDATE_FAILED
        - SLURM_ADOPT_FAILED
        - SLURM_RELEASE_FAILED
        - SLURM_REGISTRATION_TIMEOUT
        - IMAGE_NODE_FAILED
        - UNIMAGE_NODE_FAILED
        - REPORT_SITE_NOT_FOUND
        - REPORT_NO_DATA_FOUND
        - REPORT_INVALID_BUNDLE_INPUT
        - REPORT_INVALID_SECTION
        - BURN_IN_DEVICE_STATUS_INVALID
        - BURN_IN_SLURM_NODE_VALIDATION_FAILED
        - BURN_IN_SLURM_RESERVATION_FAILED
        - BURN_IN_RESERVATION_WAIT_TIMEOUT
        - BURN_IN_RESERVATION_QUEUE_UNAVAILABLE
        - BURN_IN_TEST_PREPARATION_FAILED
        - BURN_IN_TEST_TIME_LIMIT_EXCEEDS_CEILING
        - HARDWARE_TEST_IMAGE_PREPARATION_FAILED
        - BURN_IN_TEST_EXECUTION_FAILED
        - BURN_IN_INSUFFICIENT_DEVICES
        - BURN_IN_UNKNOWN_TEST_SLUG
        - BURN_IN_INVALID_WORKFLOW_STAGE
        - BURN_IN_MISSING_RESOURCE_CLASS
        - BURN_IN_MIXED_RESOURCE_CLASS
        - BURN_IN_WORKFLOW_STATE_INVALID
        - BURN_IN_MISSING_PAIR_METRICS
        - BURN_IN_DUPLICATE_SLURM_SUBMISSION
        - BMC_HTTP_SERVICE_UNAVAILABLE
        - BMC_HTTP_BAD_REQUEST
        - BMC_HTTP_UNAUTHORIZED
        - BMC_HTTP_FORBIDDEN
        - BMC_REDFISH_DISCONNECT
        - BMC_REDFISH_FD_EXHAUSTION
        - BMC_HTTP_GENERIC_ERROR
        - BMC_COLD_RESET_TIMEOUT
        - BMC_IPMI_UNREACHABLE
        - BMC_IPMI_COMMAND_ERROR
        - NVSWITCH_CREDENTIAL_MISSING
        - NVSWITCH_CREDENTIAL_ERROR
        - NVSWITCH_ADDRESS_INVALID
        - NVSWITCH_ADDRESS_MISSING
        - NVSWITCH_PRECONDITION_FAILED
        - IRONIC_HTTP_INTERNAL_SERVER_ERROR
        - IRONIC_SSL_VERSION_ERROR
        - IRONIC_VIRTUAL_MEDIA_INSPECTION_ERROR
        - IRONIC_NODE_POWER_STATE_ERROR
        - IRONIC_DRIVER_MISMATCH
        - IRONIC_NODE_CUSTOMER_INSTANCE_ATTACHED
        - IRONIC_NODE_STUCK_IN_ENROLL
        - IRONIC_INSPECTFAIL
        - IRONIC_CLEANFAIL
        - IRONIC_NODE_LOCKED
        - IRONIC_UEFI_BOOT_MODE_TIMEOUT
        - IRONIC_ENROLLMENT_ACTIVITY_TIMEOUT
        - IRONIC_INSPECTION_HARDWARE_VALIDATION_FAILED
        - IRONIC_INSPECTION_TIMEOUT
        - IRONIC_INSPECTION_DID_NOT_RUN
        - IRONIC_INSPECTION_IPA_IMAGE_NOT_FOUND
        - IRONIC_NODE_POWER_ON_TIMEOUT
        - IRONIC_NODE_UNEXPECTED_PROVISION_STATE
        - IRONIC_ROUTING_UNRESOLVED
        - NETBOX_DEVICE_STATUS_INVALID
        - NETBOX_STATUS_UPDATE_FAILED
        - NETBOX_INSPECTION_VALIDATION_CONFIG_MALFORMED
        - NETBOX_LAG_PARENT_MISSING
        - NETBOX_CABLE_TOPOLOGY_INVALID
        - NETBOX_INTERFACE_CABLE_MISSING
        - NETBOX_INTERFACE_MAC_ADDRESS_MISSING
        - PLATFORM_CLASS_UNRESOLVABLE
        - PLATFORM_CLASS_RECORD_FAILED
        - DHCP_CONFIGURATION_FAILED
        - DHCP_TIMEOUT
        - DHCP_SERVICE_NOT_ACTIVE
        - CABLE_LLDP_VERIFICATION_FAILED
        - FRONTEND_LINK_DOWN
        - ONEPASSWORD_VAULT_DATA_CONFLICT
        - CONNECTIVITY_VERIFICATION_ACTIVITY_FAILED
        - ENROLLMENT_FINALIZATION_IDENTITY_UNAVAILABLE
        - ENROLLMENT_COMPLETION_PROOF_REJECTED
        - ENROLLMENT_PROOF_MISSING
        - ENROLLMENT_PROOF_UNAVAILABLE
        - UNENROLLMENT_RUNTIME_STATE_INVALID
        - UNENROLLMENT_NODE_DEPLOYED_IN_NOVA
        - UNENROLLMENT_IRONIC_TEARDOWN_FAILED
        - UNENROLLMENT_PLACEMENT_RP_DELETE_FAILED
        - UNENROLLMENT_NETBOX_STATUS_UPDATE_FAILED
        - UNENROLLMENT_BMC_FACTORY_RESET_FAILED
        - FIRMWARE_INVENTORY_INVALID_SCOPE
        - FIRMWARE_INVENTORY_COLLECTION_FAILED
        - FIRMWARE_VERIFICATION_INVALID_SCOPE
        - FIRMWARE_VERIFICATION_NON_COMPLIANT
        - FIRMWARE_VERIFICATION_EVIDENCE_UNAVAILABLE
        - FIRMWARE_VERIFICATION_REPORT_UPLOAD_FAILED
        - FIRMWARE_VERIFICATION_EVIDENCE_PERSISTENCE_CONFLICT
        - NODE_DIAGNOSTICS_UNEXPECTED_PROVISION_STATE
        - NODE_DIAGNOSTICS_STATE_CHANGED
        - NODE_DIAGNOSTICS_CLASSIFICATION_FAILED
        - NODE_DIAGNOSTICS_ARTIFACT_UPLOAD_FAILED
        - NODE_DIAGNOSTICS_SUMMARY_WRITE_FAILED
        - POWER_CYCLE_BMC_FAILED
        - MAINTENANCE_MODE_FAILED
        - SWITCH_VRF_FLIP_FAILED
        - SWITCH_VRF_LATCH_WRITE_FAILED
        - SWITCH_VRF_PREFLIGHT_REFUSED
        - NVLINK_PARTITION_FAILED
        - NVLINK_PARTITION_CONTRACT_FAILED
        - NVLINK_PARTITION_INVALID_REQUEST
        - NVLINK_PARTITION_PREFLIGHT_REFUSED
        - NVLINK_LATCH_WRITE_FAILED
        - BACKEND_VRF_PREFLIGHT_REFUSED
        - BACKEND_VRF_APPLY_REFUSED
        - BACKEND_VRF_FLIP_FAILED
        - BACKEND_VRF_LATCH_WRITE_FAILED
        - SWITCH_LOCK_TIMEOUT
        - SWITCH_LOCK_LOST
        - SWITCH_WRITE_UNCONFIRMED
        - SLURM_HTTP_BAD_REQUEST
        - SLURM_HTTP_UNAUTHORIZED
        - SLURM_HTTP_FORBIDDEN
        - SLURM_HTTP_SERVICE_UNAVAILABLE
        - SLURM_NODE_STATE_FAILED
        - NODE_SWAP_VALIDATION_FAILED
        - TOPOLOGY_SYNC_INTENT_FAILED
      type: string
      description: >-
        * `UNMAPPED_APPLICATION_ERROR` - UNMAPPED_APPLICATION_ERROR

        * `ACTIVITY_EXECUTION_FAILURE` - ACTIVITY_EXECUTION_FAILURE

        * `UNEXPECTED_WORKFLOW_EXCEPTION` - UNEXPECTED_WORKFLOW_EXCEPTION

        * `WORKFLOW_TIMEOUT` - WORKFLOW_TIMEOUT

        * `WORKFLOW_CANCELLED` - WORKFLOW_CANCELLED

        * `WORKFLOW_TERMINATED` - WORKFLOW_TERMINATED

        * `UNKNOWN_WORKFLOW_FAILURE` - UNKNOWN_WORKFLOW_FAILURE

        * `JOB_PARAMETERS_INVALID` - JOB_PARAMETERS_INVALID

        * `JOB_SUBMISSION_FAILED` - JOB_SUBMISSION_FAILED

        * `IRONIC_NODE_CLEAN_FAILED` - IRONIC_NODE_CLEAN_FAILED

        * `IRONIC_NODE_CLEAN_INVALID_ACTION` - IRONIC_NODE_CLEAN_INVALID_ACTION

        * `IRONIC_NODE_CLEAN_UNEXPECTED_PROVISION_STATE` -
        IRONIC_NODE_CLEAN_UNEXPECTED_PROVISION_STATE

        * `QUARANTINE_TRAIT_REMOVAL_FAILED` - QUARANTINE_TRAIT_REMOVAL_FAILED

        * `RELEASE_TRAIT_ADDITION_FAILED` - RELEASE_TRAIT_ADDITION_FAILED

        * `RELEASE_PARTITION_LATCH_REFUSED` - RELEASE_PARTITION_LATCH_REFUSED

        * `RELEASE_BACKEND_VRF_LATCH_REFUSED` -
        RELEASE_BACKEND_VRF_LATCH_REFUSED

        * `METAL_HANDOFF_FAILED` - METAL_HANDOFF_FAILED

        * `METAL_RECLAIM_FAILED` - METAL_RECLAIM_FAILED

        * `CUSTODY_STATUS_UPDATE_FAILED` - CUSTODY_STATUS_UPDATE_FAILED

        * `SLURM_ADOPT_FAILED` - SLURM_ADOPT_FAILED

        * `SLURM_RELEASE_FAILED` - SLURM_RELEASE_FAILED

        * `SLURM_REGISTRATION_TIMEOUT` - SLURM_REGISTRATION_TIMEOUT

        * `IMAGE_NODE_FAILED` - IMAGE_NODE_FAILED

        * `UNIMAGE_NODE_FAILED` - UNIMAGE_NODE_FAILED

        * `REPORT_SITE_NOT_FOUND` - REPORT_SITE_NOT_FOUND

        * `REPORT_NO_DATA_FOUND` - REPORT_NO_DATA_FOUND

        * `REPORT_INVALID_BUNDLE_INPUT` - REPORT_INVALID_BUNDLE_INPUT

        * `REPORT_INVALID_SECTION` - REPORT_INVALID_SECTION

        * `BURN_IN_DEVICE_STATUS_INVALID` - BURN_IN_DEVICE_STATUS_INVALID

        * `BURN_IN_SLURM_NODE_VALIDATION_FAILED` -
        BURN_IN_SLURM_NODE_VALIDATION_FAILED

        * `BURN_IN_SLURM_RESERVATION_FAILED` - BURN_IN_SLURM_RESERVATION_FAILED

        * `BURN_IN_RESERVATION_WAIT_TIMEOUT` - BURN_IN_RESERVATION_WAIT_TIMEOUT

        * `BURN_IN_RESERVATION_QUEUE_UNAVAILABLE` -
        BURN_IN_RESERVATION_QUEUE_UNAVAILABLE

        * `BURN_IN_TEST_PREPARATION_FAILED` - BURN_IN_TEST_PREPARATION_FAILED

        * `BURN_IN_TEST_TIME_LIMIT_EXCEEDS_CEILING` -
        BURN_IN_TEST_TIME_LIMIT_EXCEEDS_CEILING

        * `HARDWARE_TEST_IMAGE_PREPARATION_FAILED` -
        HARDWARE_TEST_IMAGE_PREPARATION_FAILED

        * `BURN_IN_TEST_EXECUTION_FAILED` - BURN_IN_TEST_EXECUTION_FAILED

        * `BURN_IN_INSUFFICIENT_DEVICES` - BURN_IN_INSUFFICIENT_DEVICES

        * `BURN_IN_UNKNOWN_TEST_SLUG` - BURN_IN_UNKNOWN_TEST_SLUG

        * `BURN_IN_INVALID_WORKFLOW_STAGE` - BURN_IN_INVALID_WORKFLOW_STAGE

        * `BURN_IN_MISSING_RESOURCE_CLASS` - BURN_IN_MISSING_RESOURCE_CLASS

        * `BURN_IN_MIXED_RESOURCE_CLASS` - BURN_IN_MIXED_RESOURCE_CLASS

        * `BURN_IN_WORKFLOW_STATE_INVALID` - BURN_IN_WORKFLOW_STATE_INVALID

        * `BURN_IN_MISSING_PAIR_METRICS` - BURN_IN_MISSING_PAIR_METRICS

        * `BURN_IN_DUPLICATE_SLURM_SUBMISSION` -
        BURN_IN_DUPLICATE_SLURM_SUBMISSION

        * `BMC_HTTP_SERVICE_UNAVAILABLE` - BMC_HTTP_SERVICE_UNAVAILABLE

        * `BMC_HTTP_BAD_REQUEST` - BMC_HTTP_BAD_REQUEST

        * `BMC_HTTP_UNAUTHORIZED` - BMC_HTTP_UNAUTHORIZED

        * `BMC_HTTP_FORBIDDEN` - BMC_HTTP_FORBIDDEN

        * `BMC_REDFISH_DISCONNECT` - BMC_REDFISH_DISCONNECT

        * `BMC_REDFISH_FD_EXHAUSTION` - BMC_REDFISH_FD_EXHAUSTION

        * `BMC_HTTP_GENERIC_ERROR` - BMC_HTTP_GENERIC_ERROR

        * `BMC_COLD_RESET_TIMEOUT` - BMC_COLD_RESET_TIMEOUT

        * `BMC_IPMI_UNREACHABLE` - BMC_IPMI_UNREACHABLE

        * `BMC_IPMI_COMMAND_ERROR` - BMC_IPMI_COMMAND_ERROR

        * `NVSWITCH_CREDENTIAL_MISSING` - NVSWITCH_CREDENTIAL_MISSING

        * `NVSWITCH_CREDENTIAL_ERROR` - NVSWITCH_CREDENTIAL_ERROR

        * `NVSWITCH_ADDRESS_INVALID` - NVSWITCH_ADDRESS_INVALID

        * `NVSWITCH_ADDRESS_MISSING` - NVSWITCH_ADDRESS_MISSING

        * `NVSWITCH_PRECONDITION_FAILED` - NVSWITCH_PRECONDITION_FAILED

        * `IRONIC_HTTP_INTERNAL_SERVER_ERROR` -
        IRONIC_HTTP_INTERNAL_SERVER_ERROR

        * `IRONIC_SSL_VERSION_ERROR` - IRONIC_SSL_VERSION_ERROR

        * `IRONIC_VIRTUAL_MEDIA_INSPECTION_ERROR` -
        IRONIC_VIRTUAL_MEDIA_INSPECTION_ERROR

        * `IRONIC_NODE_POWER_STATE_ERROR` - IRONIC_NODE_POWER_STATE_ERROR

        * `IRONIC_DRIVER_MISMATCH` - IRONIC_DRIVER_MISMATCH

        * `IRONIC_NODE_CUSTOMER_INSTANCE_ATTACHED` -
        IRONIC_NODE_CUSTOMER_INSTANCE_ATTACHED

        * `IRONIC_NODE_STUCK_IN_ENROLL` - IRONIC_NODE_STUCK_IN_ENROLL

        * `IRONIC_INSPECTFAIL` - IRONIC_INSPECTFAIL

        * `IRONIC_CLEANFAIL` - IRONIC_CLEANFAIL

        * `IRONIC_NODE_LOCKED` - IRONIC_NODE_LOCKED

        * `IRONIC_UEFI_BOOT_MODE_TIMEOUT` - IRONIC_UEFI_BOOT_MODE_TIMEOUT

        * `IRONIC_ENROLLMENT_ACTIVITY_TIMEOUT` -
        IRONIC_ENROLLMENT_ACTIVITY_TIMEOUT

        * `IRONIC_INSPECTION_HARDWARE_VALIDATION_FAILED` -
        IRONIC_INSPECTION_HARDWARE_VALIDATION_FAILED

        * `IRONIC_INSPECTION_TIMEOUT` - IRONIC_INSPECTION_TIMEOUT

        * `IRONIC_INSPECTION_DID_NOT_RUN` - IRONIC_INSPECTION_DID_NOT_RUN

        * `IRONIC_INSPECTION_IPA_IMAGE_NOT_FOUND` -
        IRONIC_INSPECTION_IPA_IMAGE_NOT_FOUND

        * `IRONIC_NODE_POWER_ON_TIMEOUT` - IRONIC_NODE_POWER_ON_TIMEOUT

        * `IRONIC_NODE_UNEXPECTED_PROVISION_STATE` -
        IRONIC_NODE_UNEXPECTED_PROVISION_STATE

        * `IRONIC_ROUTING_UNRESOLVED` - IRONIC_ROUTING_UNRESOLVED

        * `NETBOX_DEVICE_STATUS_INVALID` - NETBOX_DEVICE_STATUS_INVALID

        * `NETBOX_STATUS_UPDATE_FAILED` - NETBOX_STATUS_UPDATE_FAILED

        * `NETBOX_INSPECTION_VALIDATION_CONFIG_MALFORMED` -
        NETBOX_INSPECTION_VALIDATION_CONFIG_MALFORMED

        * `NETBOX_LAG_PARENT_MISSING` - NETBOX_LAG_PARENT_MISSING

        * `NETBOX_CABLE_TOPOLOGY_INVALID` - NETBOX_CABLE_TOPOLOGY_INVALID

        * `NETBOX_INTERFACE_CABLE_MISSING` - NETBOX_INTERFACE_CABLE_MISSING

        * `NETBOX_INTERFACE_MAC_ADDRESS_MISSING` -
        NETBOX_INTERFACE_MAC_ADDRESS_MISSING

        * `PLATFORM_CLASS_UNRESOLVABLE` - PLATFORM_CLASS_UNRESOLVABLE

        * `PLATFORM_CLASS_RECORD_FAILED` - PLATFORM_CLASS_RECORD_FAILED

        * `DHCP_CONFIGURATION_FAILED` - DHCP_CONFIGURATION_FAILED

        * `DHCP_TIMEOUT` - DHCP_TIMEOUT

        * `DHCP_SERVICE_NOT_ACTIVE` - DHCP_SERVICE_NOT_ACTIVE

        * `CABLE_LLDP_VERIFICATION_FAILED` - CABLE_LLDP_VERIFICATION_FAILED

        * `FRONTEND_LINK_DOWN` - FRONTEND_LINK_DOWN

        * `ONEPASSWORD_VAULT_DATA_CONFLICT` - ONEPASSWORD_VAULT_DATA_CONFLICT

        * `CONNECTIVITY_VERIFICATION_ACTIVITY_FAILED` -
        CONNECTIVITY_VERIFICATION_ACTIVITY_FAILED

        * `ENROLLMENT_FINALIZATION_IDENTITY_UNAVAILABLE` -
        ENROLLMENT_FINALIZATION_IDENTITY_UNAVAILABLE

        * `ENROLLMENT_COMPLETION_PROOF_REJECTED` -
        ENROLLMENT_COMPLETION_PROOF_REJECTED

        * `ENROLLMENT_PROOF_MISSING` - ENROLLMENT_PROOF_MISSING

        * `ENROLLMENT_PROOF_UNAVAILABLE` - ENROLLMENT_PROOF_UNAVAILABLE

        * `UNENROLLMENT_RUNTIME_STATE_INVALID` -
        UNENROLLMENT_RUNTIME_STATE_INVALID

        * `UNENROLLMENT_NODE_DEPLOYED_IN_NOVA` -
        UNENROLLMENT_NODE_DEPLOYED_IN_NOVA

        * `UNENROLLMENT_IRONIC_TEARDOWN_FAILED` -
        UNENROLLMENT_IRONIC_TEARDOWN_FAILED

        * `UNENROLLMENT_PLACEMENT_RP_DELETE_FAILED` -
        UNENROLLMENT_PLACEMENT_RP_DELETE_FAILED

        * `UNENROLLMENT_NETBOX_STATUS_UPDATE_FAILED` -
        UNENROLLMENT_NETBOX_STATUS_UPDATE_FAILED

        * `UNENROLLMENT_BMC_FACTORY_RESET_FAILED` -
        UNENROLLMENT_BMC_FACTORY_RESET_FAILED

        * `FIRMWARE_INVENTORY_INVALID_SCOPE` - FIRMWARE_INVENTORY_INVALID_SCOPE

        * `FIRMWARE_INVENTORY_COLLECTION_FAILED` -
        FIRMWARE_INVENTORY_COLLECTION_FAILED

        * `FIRMWARE_VERIFICATION_INVALID_SCOPE` -
        FIRMWARE_VERIFICATION_INVALID_SCOPE

        * `FIRMWARE_VERIFICATION_NON_COMPLIANT` -
        FIRMWARE_VERIFICATION_NON_COMPLIANT

        * `FIRMWARE_VERIFICATION_EVIDENCE_UNAVAILABLE` -
        FIRMWARE_VERIFICATION_EVIDENCE_UNAVAILABLE

        * `FIRMWARE_VERIFICATION_REPORT_UPLOAD_FAILED` -
        FIRMWARE_VERIFICATION_REPORT_UPLOAD_FAILED

        * `FIRMWARE_VERIFICATION_EVIDENCE_PERSISTENCE_CONFLICT` -
        FIRMWARE_VERIFICATION_EVIDENCE_PERSISTENCE_CONFLICT

        * `NODE_DIAGNOSTICS_UNEXPECTED_PROVISION_STATE` -
        NODE_DIAGNOSTICS_UNEXPECTED_PROVISION_STATE

        * `NODE_DIAGNOSTICS_STATE_CHANGED` - NODE_DIAGNOSTICS_STATE_CHANGED

        * `NODE_DIAGNOSTICS_CLASSIFICATION_FAILED` -
        NODE_DIAGNOSTICS_CLASSIFICATION_FAILED

        * `NODE_DIAGNOSTICS_ARTIFACT_UPLOAD_FAILED` -
        NODE_DIAGNOSTICS_ARTIFACT_UPLOAD_FAILED

        * `NODE_DIAGNOSTICS_SUMMARY_WRITE_FAILED` -
        NODE_DIAGNOSTICS_SUMMARY_WRITE_FAILED

        * `POWER_CYCLE_BMC_FAILED` - POWER_CYCLE_BMC_FAILED

        * `MAINTENANCE_MODE_FAILED` - MAINTENANCE_MODE_FAILED

        * `SWITCH_VRF_FLIP_FAILED` - SWITCH_VRF_FLIP_FAILED

        * `SWITCH_VRF_LATCH_WRITE_FAILED` - SWITCH_VRF_LATCH_WRITE_FAILED

        * `SWITCH_VRF_PREFLIGHT_REFUSED` - SWITCH_VRF_PREFLIGHT_REFUSED

        * `NVLINK_PARTITION_FAILED` - NVLINK_PARTITION_FAILED

        * `NVLINK_PARTITION_CONTRACT_FAILED` - NVLINK_PARTITION_CONTRACT_FAILED

        * `NVLINK_PARTITION_INVALID_REQUEST` - NVLINK_PARTITION_INVALID_REQUEST

        * `NVLINK_PARTITION_PREFLIGHT_REFUSED` -
        NVLINK_PARTITION_PREFLIGHT_REFUSED

        * `NVLINK_LATCH_WRITE_FAILED` - NVLINK_LATCH_WRITE_FAILED

        * `BACKEND_VRF_PREFLIGHT_REFUSED` - BACKEND_VRF_PREFLIGHT_REFUSED

        * `BACKEND_VRF_APPLY_REFUSED` - BACKEND_VRF_APPLY_REFUSED

        * `BACKEND_VRF_FLIP_FAILED` - BACKEND_VRF_FLIP_FAILED

        * `BACKEND_VRF_LATCH_WRITE_FAILED` - BACKEND_VRF_LATCH_WRITE_FAILED

        * `SWITCH_LOCK_TIMEOUT` - SWITCH_LOCK_TIMEOUT

        * `SWITCH_LOCK_LOST` - SWITCH_LOCK_LOST

        * `SWITCH_WRITE_UNCONFIRMED` - SWITCH_WRITE_UNCONFIRMED

        * `SLURM_HTTP_BAD_REQUEST` - SLURM_HTTP_BAD_REQUEST

        * `SLURM_HTTP_UNAUTHORIZED` - SLURM_HTTP_UNAUTHORIZED

        * `SLURM_HTTP_FORBIDDEN` - SLURM_HTTP_FORBIDDEN

        * `SLURM_HTTP_SERVICE_UNAVAILABLE` - SLURM_HTTP_SERVICE_UNAVAILABLE

        * `SLURM_NODE_STATE_FAILED` - SLURM_NODE_STATE_FAILED

        * `NODE_SWAP_VALIDATION_FAILED` - NODE_SWAP_VALIDATION_FAILED

        * `TOPOLOGY_SYNC_INTENT_FAILED` - TOPOLOGY_SYNC_INTENT_FAILED
    ResponsibleTeamEnum:
      type: string
      enum:
        - fleet_manager
        - infra_eng
        - dc_eng
        - unknown
    StandupDeviceStatusEnum:
      enum:
        - not_started
        - pending
        - running
        - succeeded
        - failed
      type: string
      description: |-
        * `not_started` - NOT_STARTED
        * `pending` - PENDING
        * `running` - RUNNING
        * `succeeded` - SUCCEEDED
        * `failed` - FAILED
    PaginatedStandupDevicePlacementList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/StandupDevicePlacement'
    ErrorResponse:
      type: object
      description: >-
        Uniform error body for every 4xx/5xx response. `detail` is a
        human-readable message, always present, safe to display to end users.
        `code` is the machine-readable identifier. `field_errors` lists
        per-input-field validation messages and is empty for non-field errors
        (auth, permission, not-found, conflict, server).
      required:
        - detail
        - code
        - field_errors
      properties:
        detail:
          type: string
        code:
          $ref: '#/components/schemas/ErrorCodeEnum'
        field_errors:
          type: array
          items:
            $ref: '#/components/schemas/FieldError'
    StandupDevicePlacement:
      type: object
      description: A device's standup placement and its latest in-sequence execution.
      properties:
        device_id:
          type: string
          format: uuid
        device_name:
          type: string
        rack_id:
          type: string
          format: uuid
        rack_name:
          type: string
        in_triage:
          type: boolean
          description: Whether an operator has flagged this device as under triage.
        column:
          allOf:
            - $ref: '#/components/schemas/StandupPipelineColumnEnum'
          description: |-
            Pipeline stage the device is currently clearing.

            * `enrolment` - ENROLMENT
            * `quarantine` - QUARANTINE
            * `single_node_test` - SINGLE_NODE_TEST
            * `multi_node_test` - MULTI_NODE_TEST
            * `release` - RELEASE
        status:
          allOf:
            - $ref: '#/components/schemas/StandupDeviceStatusEnum'
          description: |-
            Normalized status of the device at `column`.

            * `not_started` - NOT_STARTED
            * `pending` - PENDING
            * `running` - RUNNING
            * `succeeded` - SUCCEEDED
            * `failed` - FAILED
        latest_in_sequence_started_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the latest in-sequence execution started. Null when the device
            has never run one, or while its Job is still queued.
        latest_in_sequence_finished_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the latest in-sequence execution finished. Null when the device
            has never run one, or while that execution is still in flight.
        job_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Latest in-sequence Job for this device — drill through via
            /api/v1/jobs/{id}/. Null when the device has never run one. This is
            the latest *observed* Job, so on a device whose last run was
            interrupted it names that run while `status` still reports the
            previous result.
        failure_code:
          type: string
          nullable: true
          description: >-
            ADR-0014 workflow failure code. Unknown historical strings are
            preserved instead of coerced to the current taxonomy, so this is a
            free string and not a closed enum. Null unless `status` is `failed`.
        responsible_team:
          allOf:
            - $ref: '#/components/schemas/ResponsibleTeamEnum'
          nullable: true
          description: >-
            Team that owns triage for `failure_code`. Null when `failure_code`
            is, including on a workflow that failed without emitting one.
        failure_message:
          type: string
          nullable: true
          description: Human-readable failure detail. Null unless `status` is `failed`.
      required:
        - column
        - device_id
        - device_name
        - failure_code
        - failure_message
        - in_triage
        - job_id
        - latest_in_sequence_finished_at
        - latest_in_sequence_started_at
        - rack_id
        - rack_name
        - responsible_team
        - status
    ErrorCodeEnum:
      type: string
      description: >-
        Stable machine-readable error identifier. New members may be added
        within this API version; clients must tolerate unknown values.
      enum:
        - error
        - invalid
        - parse_error
        - authentication_failed
        - not_authenticated
        - permission_denied
        - not_found
        - method_not_allowed
        - not_acceptable
        - unsupported_media_type
        - conflict
        - enrollment_infrastructure_reference_pending
        - enrollment_infrastructure_reference_changed
        - unprocessable_entity
        - throttled
        - service_unavailable
    FieldError:
      type: object
      description: One input field's validation messages.
      required:
        - field
        - messages
      properties:
        field:
          type: string
          description: >-
            Dotted path to the offending input field, or to the collection row
            when the whole row is invalid (e.g. `filters.end_date`,
            `memberships.0.role`, `memberships.0`).
        messages:
          type: array
          minItems: 1
          items:
            type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows: {}
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.