Skip to main content

Get All Integrations

Retrieve all available integrations with pagination and filtering.

Query Parameters

page
integer
default:"0"
Page number (zero-based)
size
integer
default:"20"
Number of items per page
sort
string
Sort field and direction (e.g., name,asc)
Additional filter criteria can be applied:
id.equals
integer
Filter by integration ID
name.contains
string
Filter by integration name (partial match)
active.equals
boolean
Filter by active status

Response

Returns an array of integration objects.
id
integer
Integration ID
name
string
Integration name
shortName
string
Short display name
description
string
Integration description
integrationType
string
Type of integration (e.g., “COLLECTOR”, “FORWARDER”)
active
boolean
Whether integration is active
module
object
Associated server module information
curl -X GET "https://your-utmstack-instance.com/api/utm-integrations?page=0&size=20" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."
[
  {
    "id": 1,
    "name": "Windows Event Collector",
    "shortName": "windows-agent",
    "description": "Collects Windows event logs",
    "integrationType": "COLLECTOR",
    "active": true,
    "module": {
      "id": 10,
      "moduleName": "collector",
      "serverName": "UTMStack Server",
      "needsRestart": false
    }
  },
  {
    "id": 2,
    "name": "Cisco ASA Syslog",
    "shortName": "cisco-asa",
    "description": "Receives Cisco ASA syslog messages",
    "integrationType": "FORWARDER",
    "active": true,
    "module": {
      "id": 11,
      "moduleName": "logstash",
      "serverName": "UTMStack Server",
      "needsRestart": false
    }
  },
  {
    "id": 3,
    "name": "AWS CloudTrail",
    "shortName": "aws-cloudtrail",
    "description": "Collects AWS CloudTrail logs",
    "integrationType": "COLLECTOR",
    "active": false,
    "module": {
      "id": 10,
      "moduleName": "collector",
      "serverName": "UTMStack Server",
      "needsRestart": false
    }
  }
]

Get Integration by ID

Retrieve a specific integration by ID.

Path Parameters

id
integer
required
Integration ID
curl -X GET https://your-utmstack-instance.com/api/utm-integrations/1 \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."
{
  "id": 1,
  "name": "Windows Event Collector",
  "shortName": "windows-agent",
  "description": "Collects Windows event logs from domain controllers and workstations",
  "integrationType": "COLLECTOR",
  "active": true,
  "module": {
    "id": 10,
    "moduleName": "collector",
    "serverName": "UTMStack Server",
    "needsRestart": false
  }
}

Count Integrations

Get the total count of integrations matching criteria.

Query Parameters

Supports the same filter criteria as the list endpoint.
curl -X GET "https://your-utmstack-instance.com/api/utm-integrations/count?active.equals=true" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."
15

Filter Examples

Get Active Integrations Only

cURL
curl -X GET "https://your-utmstack-instance.com/api/utm-integrations?active.equals=true&size=100" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."

Search by Name

cURL
curl -X GET "https://your-utmstack-instance.com/api/utm-integrations?name.contains=AWS" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."

Get Collector Integrations

Python
import requests

url = "https://your-utmstack-instance.com/api/utm-integrations"
headers = {"Authorization": "Bearer YOUR_TOKEN"}
params = {
    "integrationType.equals": "COLLECTOR",
    "size": 100
}

response = requests.get(url, headers=headers, params=params)
collectors = response.json()
print(f"Found {len(collectors)} collector integrations")

Integration Types

Common integration types:
  • COLLECTOR - Active data collectors (agents)
  • FORWARDER - Passive log forwarders (syslog, API)
  • SCANNER - Network and vulnerability scanners
  • CLOUD - Cloud service integrations
  • WEBHOOK - Webhook receivers
  • API - API-based integrations

Response Headers

Paginated responses include:
  • X-Total-Count - Total number of integrations
  • Link - Pagination links (first, last, next, prev)

Python Example: List All Active Integrations

Python
import requests

def get_all_active_integrations(api_url, token):
    """
    Retrieve all active integrations (handles pagination).
    """
    headers = {"Authorization": f"Bearer {token}"}
    all_integrations = []
    page = 0
    size = 100
    
    while True:
        response = requests.get(
            f"{api_url}/utm-integrations",
            headers=headers,
            params={
                "page": page,
                "size": size,
                "active.equals": "true"
            }
        )
        
        integrations = response.json()
        if not integrations:
            break
        
        all_integrations.extend(integrations)
        
        # Check if there are more pages
        total_count = int(response.headers.get('X-Total-Count', 0))
        if len(all_integrations) >= total_count:
            break
        
        page += 1
    
    return all_integrations

# Usage
api_url = "https://your-utmstack-instance.com/api"
token = "YOUR_TOKEN"

integrations = get_all_active_integrations(api_url, token)
print(f"Total active integrations: {len(integrations)}")

for integration in integrations:
    print(f"- {integration['name']} ({integration['shortName']})")

Build docs developers (and LLMs) love