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

# Get Inventory

> Retrieve specific integration data and filter by type

## Overview

The Inventory endpoint provides access to raw data from specific integrations. Query data from Automox, Qualys, or any other connected integration directly.

## Parameters

<ParamField query="systemName" type="string" required>
  Name of an integration you would like to query against (e.g., `Automox`, `qualysdevices`, `crowdstrike`)
</ParamField>

<ParamField query="type" type="string">
  Type of data you wish to request from an integration (e.g., `Users`, `workstations`)
</ParamField>

<ParamField query="offset" type="number" default="0">
  Set the start position of the data returned by the API
</ParamField>

<ParamField query="limit" type="number" default="0">
  Limit each request by the provided number. Leave blank or as 0 to return all data available
</ParamField>

## Authentication

<ParamField header="X-ThreatAware-ApiKey" type="string" required>
  Your ThreatAware API key
</ParamField>

<ParamField header="Accept" type="string" default="application/json">
  Response format
</ParamField>

## Response

<ResponseField name="offset" type="number">
  The starting position of this result set
</ResponseField>

<ResponseField name="limit" type="number">
  The number of results returned
</ResponseField>

<ResponseField name="total" type="number">
  Total number of records available
</ResponseField>

<ResponseField name="success" type="boolean">
  Whether the request was successful
</ResponseField>

<ResponseField name="statusCode" type="number">
  HTTP status code
</ResponseField>

<ResponseField name="message" type="string">
  Status message
</ResponseField>

<ResponseField name="data" type="array">
  Array of inventory items. Fields vary by integration and type.

  <Tip>
    The data structure returned depends on the `systemName` and `type` parameters. Each integration returns its native data structure.
  </Tip>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --location 'https://your-cloud-id.threataware.com/public-api/v1/inventory?systemName=Automox&limit=10' \
    --header 'Accept: application/json' \
    --header 'X-ThreatAware-ApiKey: your-api-key-here'
  ```

  ```python Python theme={null}
  import requests

  API_KEY = "your-api-key-here"
  CLOUD_ID = "sandbox"
  BASE_URL = f"https://{CLOUD_ID}.threataware.com/public-api/v1"

  headers = {
      "Accept": "application/json",
      "X-ThreatAware-ApiKey": API_KEY
  }

  params = {
      "systemName": "Automox",
      "limit": 10
  }

  response = requests.get(f"{BASE_URL}/inventory", headers=headers, params=params)
  inventory = response.json()

  print(f"Retrieved {len(inventory['data'])} items from Automox")
  ```

  ```javascript Node.js theme={null}
  const axios = require('axios');

  const API_KEY = 'your-api-key-here';
  const CLOUD_ID = 'sandbox';
  const BASE_URL = `https://${CLOUD_ID}.threataware.com/public-api/v1`;

  axios.get(`${BASE_URL}/inventory`, {
    headers: {
      'Accept': 'application/json',
      'X-ThreatAware-ApiKey': API_KEY
    },
    params: {
      systemName: 'Automox',
      limit: 10
    }
  })
    .then(response => {
      console.log(`Retrieved ${response.data.data.length} items`);
    });
  ```

  ```powershell PowerShell theme={null}
  $ApiKey = "your-api-key-here"
  $CloudId = "sandbox"
  $BaseUrl = "https://$CloudId.threataware.com/public-api/v1"

  $Headers = @{
      "Accept" = "application/json"
      "X-ThreatAware-ApiKey" = $ApiKey
  }

  $Params = @{
      systemName = "Automox"
      limit = 10
  }

  $Response = Invoke-RestMethod -Uri "$BaseUrl/inventory" -Headers $Headers -Body $Params -Method Get

  Write-Host "Retrieved $($Response.data.Count) items from Automox"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "offset": 0,
    "limit": 1,
    "total": 100,
    "data": [
      {
        "name": "LAPTOP-K22DG",
        "tenantId": "",
        "tenantName": "",
        "patches": 0,
        "pendingPatches": 0,
        "nextPatchTime": "0001-01-01T00:00:00.0000000",
        "lastUpdateTime": "2022-08-23T19:24:35.0000000",
        "lastRefreshTime": "2022-08-23T19:24:35.0000000",
        "uptimeDisplay": "Off",
        "needsReboot": false,
        "osFamily": "",
        "osName": "Mac OS X 10.91",
        "createTime": "0001-01-01T00:00:00.0000000",
        "osVersion": "",
        "ipAddresses": "203.0.113.42",
        "agentVersion": 7.406,
        "customName": "",
        "totalCount": 0,
        "displayName": "",
        "connected": false,
        "lastLoggedInUser": "",
        "lastLoggedInTime": "0001-01-01T00:00:00.0000000",
        "uuid": "42ae7f50-aac5-4a7d-bd65-d26b13429567",
        "risk": "Amber",
        "itemId": "ead16ba3-21b3-4b87-861e-7acca9a456c5"
      }
    ],
    "success": true,
    "statusCode": 200,
    "message": "Successfully retrieved inventory."
  }
  ```
</ResponseExample>

## Finding Your System Name

To find the exact `systemName` value for your connected integrations:

1. Navigate to **Settings → Connections** in your ThreatAware portal
2. The integration names shown are the values to use for `systemName`
3. Alternatively, query: `https://{cloudId}.threataware.com/settings/connections`

<Info>
  Common system names: `Automox`, `crowdstrike`, `jamf`, `devices_msgraph` (Intune), `msdefenderatp`, `qualysdevices`, `devices_ad` (Active Directory)
</Info>

## Use Cases

<CardGroup cols={2}>
  <Card title="Raw Data Export" icon="download">
    Export unmodified data from a specific integration for analysis
  </Card>

  <Card title="Integration-Specific Queries" icon="filter">
    Query fields unique to a particular integration (e.g., Automox patch status)
  </Card>

  <Card title="Custom Data Processing" icon="code">
    Build custom workflows based on native integration data structures
  </Card>

  <Card title="Integration Health Monitoring" icon="heartbeat">
    Monitor data freshness and integration connectivity
  </Card>
</CardGroup>
