/systems/{id}/inventory/diffs - Get inventory diffs

GET /systems/{id}/inventory/diffs

Get paginated inventory diffs for a specific system. Supports filtering by severity, category, diff type, and date range.

Path parameters

  • id string Required

    System ID

Query parameters

  • page integer

    Page number

    Minimum value is 1. Default value is 1.

  • page_size integer

    Items per page

    Minimum value is 1, maximum value is 100. Default value is 20.

  • severity string

    Filter by severity level

    Values are low, medium, high, or critical.

  • category string

    Filter by change category

    Values are os, hardware, network, security, backup, features, modules, cluster, nodes, or system.

  • diff_type string

    Filter by diff type

    Values are create, update, or delete.

  • from_date string(date-time)

    Filter diffs from this date (RFC3339 format)

  • to_date string(date-time)

    Filter diffs up to this date (RFC3339 format)

Responses

  • 200 application/json

    Inventory diffs retrieved successfully

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object
      Hide data attributes Show data attributes object
      • diffs array[object]

        A single field-level difference between two inventory snapshots

        Hide diffs attributes Show diffs attributes object
        • id integer(int64)

          Auto-incrementing diff ID

        • system_id string

          ID of the system

        • previous_id integer(int64) | null

          ID of the previous inventory record. Null for the first inventory.

        • current_id integer(int64)

          ID of the current inventory record

        • diff_type string

          Type of change detected

          Values are create, update, or delete.

        • field_path string

          JSON path of the changed field (e.g. facts.nodes.1.version)

        • previous_value string | null

          Previous field value. Can be a string, number, object, or array depending on the field. Null for 'create' diffs.

        • current_value string | null

          Current field value. Can be a string, number, object, or array depending on the field. Null for 'delete' diffs.

        • severity string

          Severity of the change. Determined by the differ engine configuration: critical (deleted nodes/memory/network, error entries), high (version changes, subscription, certificates), medium (feature updates, cluster changes), low (uptime, memory usage fluctuations).

          Values are low, medium, high, or critical.

        • category string

          Category of the change. Possible values: os, hardware, network, security, backup, features, modules, cluster, nodes, system.

          Values are os, hardware, network, security, backup, features, modules, cluster, nodes, or system.

        • notification_sent boolean

          Whether a notification has been sent for this change

        • created_at string(date-time)

          When the diff was created

      • pagination object
        Hide pagination attributes Show pagination attributes object
        • page integer

          Current page number

          Minimum value is 1.

        • page_size integer

          Number of items per page

          Minimum value is 1, maximum value is 100.

        • total_count integer

          Total number of items

          Minimum value is 0.

        • total_pages integer

          Total number of pages

          Minimum value is 0.

        • has_next boolean

          Whether there is a next page

        • has_prev boolean

          Whether there is a previous page

        • next_page integer | null

          Next page number if available

        • prev_page integer | null

          Previous page number if available

        • sort_by string | null

          Field used for sorting

        • sort_direction string | null

          Sort direction

          Values are asc or desc.

  • 401 application/json

    Unauthorized - invalid or missing token

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object | null
  • 403 application/json

    Forbidden - insufficient permissions

    Hide response attributes Show response attributes object
    • code integer
    • message string
    • data object | null
  • 404 application/json

    Resource not found

    Hide response attributes Show response attributes object
    • code integer

      HTTP error code

    • message string

      Error message

    • data object
      Hide data attributes Show data attributes object
      • type string

        Type of error

        Values are validation_error or external_api_error.

      • errors array[object]
        Hide errors attributes Show errors attributes object
        • key string

          Field name that failed validation

        • message string

          Error code or message

        • value string

          Value that failed validation

      • details

        Additional error details

GET /systems/{id}/inventory/diffs
curl \
 --request GET 'https://collect.your-domain.com/api/systems/sys_123456789/inventory/diffs' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "code": 200,
  "message": "inventory diffs retrieved successfully",
  "data": {
    "diffs": [
      {
        "id": 101,
        "system_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "previous_id": 41,
        "current_id": 42,
        "diff_type": "update",
        "field_path": "facts.distro.version",
        "previous_value": "8.1.0",
        "current_value": "8.2.0",
        "severity": "high",
        "category": "os",
        "notification_sent": false,
        "created_at": "2026-02-20T14:31:00Z"
      }
    ],
    "pagination": {
      "page": 1,
      "page_size": 20,
      "total_count": 156,
      "total_pages": 8,
      "has_next": true,
      "has_prev": false,
      "next_page": 2,
      "prev_page": 42,
      "sort_by": "name",
      "sort_direction": "asc"
    }
  }
}
Response examples (401)
{
  "code": 401,
  "message": "invalid token",
  "data": {}
}
Response examples (403)
{
  "code": 403,
  "message": "insufficient permissions",
  "data": {}
}
Response examples (404)
{
  "code": 400,
  "message": "validation failed",
  "data": {
    "type": "validation_error",
    "errors": [
      {
        "key": "username",
        "message": "required",
        "value": "string"
      }
    ]
  }
}

Documentation preview

will expire on March 11 at 09:31

This is a preview of your version @2026-03-04.