Documentation Index
Fetch the complete documentation index at: https://mintlify.com/utmstack/UTMStack/llms.txt
Use this file to discover all available pages before exploring further.
Get All Integrations
Retrieve all available integrations with pagination and filtering.
Query Parameters
Sort field and direction (e.g., name,asc)
Additional filter criteria can be applied:
Filter by integration name (partial match)
Response
Returns an array of integration objects.
Type of integration (e.g., “COLLECTOR”, “FORWARDER”)
Whether integration is active
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
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..."
Filter Examples
Get Active Integrations Only
curl -X GET "https://your-utmstack-instance.com/api/utm-integrations?active.equals=true&size=100" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."
Search by Name
curl -X GET "https://your-utmstack-instance.com/api/utm-integrations?name.contains=AWS" \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..."
Get Collector Integrations
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
Paginated responses include:
X-Total-Count - Total number of integrations
Link - Pagination links (first, last, next, prev)
Python Example: List All Active Integrations
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']})")