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

# List hardware

> Current hardware readings of every node, paged



## OpenAPI

````yaml /renderflow/api-reference/openapi.json get /nodes/hardware
openapi: 3.1.0
info:
  title: RenderFlow API
  version: 2.0.0
  description: Render farm management.
servers:
  - url: http://localhost:44442/api/v1
    description: The service on this machine. Answers without a credential
  - url: http://your-server:44442/api/v1
    description: A farm's server. Needs an API key
  - url: https://your-server:44445/api/v1
    description: A farm's server set up with TLS. Needs an API key
security:
  - bearerAuth: []
paths:
  /nodes/hardware:
    get:
      tags:
        - Nodes
      summary: List hardware
      description: Current hardware readings of every node, paged
      operationId: listNodeHardware
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 50
            description: Max items to return (1-500)
          required: false
          description: Max items to return (1-500)
          name: limit
          in: query
        - schema:
            type:
              - integer
              - 'null'
            minimum: 0
            default: 0
            description: Items to skip
          required: false
          description: Items to skip
          name: offset
          in: query
        - schema:
            type: string
            description: Comma-separated node ids to restrict the list to
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          required: false
          description: Comma-separated node ids to restrict the list to
          name: ids
          in: query
        - schema:
            type: boolean
            description: Attach the last ten minutes of readings to each row
            default: false
          required: false
          description: Attach the last ten minutes of readings to each row
          name: history
          in: query
      responses:
        '200':
          description: One row per node that has reported hardware
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeHardwareList'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Missing or invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Not permitted for this credential
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Unhandled server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    NodeHardwareList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/HardwareRow'
        total:
          type: integer
          description: Total matching the filter, ignoring limit/offset
        limit:
          type: integer
        offset:
          type: integer
      required:
        - data
        - total
        - limit
        - offset
    ApiError:
      type: object
      properties:
        error:
          type: string
        tag:
          type: string
          description: The catalog entry this failure is, when it is one
        title:
          type: string
          description: The catalog entry's title
        detail:
          type: string
          description: What happened this time, and what to do
        issues:
          type: array
          items:
            type: object
            properties:
              path:
                type: array
                items:
                  anyOf:
                    - type: string
                    - type: number
              message:
                type: string
            required:
              - path
              - message
      required:
        - error
    HardwareRow:
      type: object
      properties:
        node_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        cpu:
          anyOf:
            - $ref: '#/components/schemas/CpuSample'
            - type: 'null'
          default: null
        gpu:
          type: array
          items:
            $ref: '#/components/schemas/Gpu'
          default: []
        ram:
          anyOf:
            - $ref: '#/components/schemas/RamSample'
            - type: 'null'
          default: null
        system_drive:
          anyOf:
            - $ref: '#/components/schemas/SystemDriveSample'
            - type: 'null'
          default: null
        network:
          type: array
          items:
            $ref: '#/components/schemas/NetworkInterface'
          default: []
        uptime:
          type:
            - number
            - 'null'
          default: null
        history:
          $ref: '#/components/schemas/HardwareHistory'
      required:
        - node_id
        - cpu
        - gpu
        - ram
        - system_drive
        - network
        - uptime
    CpuSample:
      type: object
      properties:
        brand:
          type: string
          default: ''
        cores:
          type: integer
          default: 0
        utilization:
          type:
            - number
            - 'null'
          default: null
        temperature:
          type:
            - number
            - 'null'
          default: null
      required:
        - brand
        - cores
        - utilization
        - temperature
    Gpu:
      type: object
      properties:
        id:
          type: integer
        vendor:
          type: string
          default: ''
        model:
          type: string
          default: ''
        driver:
          type: string
          default: ''
        vram:
          type:
            - number
            - 'null'
          default: null
        vram_used:
          type:
            - number
            - 'null'
          default: null
        utilization:
          type:
            - number
            - 'null'
          default: null
        temperature:
          type:
            - number
            - 'null'
          default: null
      required:
        - id
        - vendor
        - model
        - driver
        - vram
        - vram_used
        - utilization
        - temperature
    RamSample:
      type: object
      properties:
        total:
          type:
            - number
            - 'null'
          default: 0
        used:
          type:
            - number
            - 'null'
          default: null
      required:
        - total
        - used
    SystemDriveSample:
      type: object
      properties:
        total:
          type:
            - number
            - 'null'
          default: 0
        used:
          type:
            - number
            - 'null'
          default: null
      required:
        - total
        - used
    NetworkInterface:
      type: object
      properties:
        ip:
          type: string
          default: ''
        mac:
          type: string
          default: ''
        default:
          type: boolean
          default: false
        speed:
          type:
            - number
            - 'null'
          default: null
        type:
          type: string
          default: ''
        name:
          type: string
          default: ''
        internal:
          type: boolean
          default: false
        virtual:
          type: boolean
          default: false
      required:
        - ip
        - mac
        - default
        - speed
        - type
        - name
        - internal
        - virtual
    HardwareHistory:
      type: object
      properties:
        cadence_ms:
          type: integer
        samples:
          type: array
          items:
            type: array
            prefixItems:
              - type:
                  - number
                  - 'null'
              - type:
                  - number
                  - 'null'
              - type:
                  - number
                  - 'null'
              - type:
                  - number
                  - 'null'
          description: '[gpu, vram, cpu, ram] in percent, oldest first'
      required:
        - cadence_ms
        - samples
      description: Only when the list was asked for `history`
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An API key from Settings, API Keys. A caller on this machine needs none.

````

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