Skip to content

SIEM Integration

VeraID exports audit logs and security events to your Security Information and Event Management (SIEM) platform in real time. This enables centralized security monitoring, correlation with other data sources, and compliance reporting.

Supported Platforms

PlatformTypeTransportDefault Format
SplunkSPLUNKHTTPS (HEC)JSON
DatadogDATADOGHTTPSJSON
Sumo LogicSUMOLOGICHTTPSJSON
ElasticELASTICHTTPSJSON
Generic SyslogSYSLOGTCP/UDP/TLSSyslog (RFC 5424)
Generic HTTPSHTTPSHTTPSJSON

Supported Formats

FormatDescriptionUse Case
CEFCommon Event FormatArcSight, QRadar, and other CEF-compatible SIEMs
LEEFLog Event Extended FormatIBM QRadar native format
JSONStructured JSONSplunk, Datadog, Elastic, Sumo Logic, and custom pipelines
SYSLOGRFC 5424 SyslogSyslog collectors and legacy SIEM platforms

Authentication Types

TypeIdentifierDescription
API KeyAPI_KEYAPI key sent as a header (e.g., Datadog DD-API-KEY)
Bearer TokenBEARER_TOKENOAuth2 bearer token in Authorization header
Basic AuthBASIC_AUTHUsername and password with HTTP Basic Authentication
NoneNONENo authentication (e.g., internal syslog collectors)

Creating a SIEM Integration

API

Terminal window
curl -X POST https://app.veraid.io/api/v1/siem/integrations \
-H "Authorization: Bearer kd_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Splunk",
"type": "SPLUNK",
"endpoint": "https://splunk.company.com:8088/services/collector/event",
"authType": "API_KEY",
"authConfig": {
"headerName": "Authorization",
"headerValue": "Splunk abc123-def456-ghi789"
},
"format": "JSON",
"filters": {
"severities": ["HIGH", "CRITICAL"],
"eventTypes": [
"identity.created",
"identity.suspended",
"credential.rotated",
"credential.used",
"anomaly.detected",
"policy.violated"
]
}
}'

Response:

{
"id": "siem_abc123",
"name": "Production Splunk",
"type": "SPLUNK",
"endpoint": "https://splunk.company.com:8088/services/collector/event",
"authType": "API_KEY",
"format": "JSON",
"status": "ACTIVE",
"filters": {
"severities": ["HIGH", "CRITICAL"],
"eventTypes": [
"identity.created",
"identity.suspended",
"credential.rotated",
"credential.used",
"anomaly.detected",
"policy.violated"
]
},
"createdAt": "2026-03-19T10:00:00Z",
"lastEventAt": null,
"stats": {
"totalEventsSent": 0,
"lastHourEventsSent": 0,
"failedEvents": 0
}
}

Request Fields

FieldTypeRequiredDescription
namestringYesDisplay name for the integration
typestringYesPlatform type: SPLUNK, DATADOG, SUMOLOGIC, ELASTIC, SYSLOG, HTTPS
endpointstringYesURL or host:port of the SIEM collector
authTypestringYesAuthentication type: API_KEY, BEARER_TOKEN, BASIC_AUTH, NONE
authConfigobjectConditionalAuthentication configuration (required unless authType is NONE)
formatstringNoOutput format: CEF, LEEF, JSON, SYSLOG. Defaults to JSON
filtersobjectNoEvent filtering by severity and event type

Platform-Specific Configuration

Splunk

{
"name": "Splunk HEC",
"type": "SPLUNK",
"endpoint": "https://splunk.company.com:8088/services/collector/event",
"authType": "API_KEY",
"authConfig": {
"headerName": "Authorization",
"headerValue": "Splunk your-hec-token"
},
"format": "JSON"
}

Events are sent as Splunk HEC JSON payloads:

{
"event": {
"action": "credential.rotated",
"actorType": "SYSTEM",
"actorId": "system",
"resourceType": "credential",
"resourceId": "cred_abc123",
"outcome": "SUCCESS",
"severity": "MEDIUM",
"metadata": {
"identityName": "aws-deploy-prod",
"rotationReason": "scheduled",
"gracePeriodHours": 24
}
},
"time": 1742382000,
"sourcetype": "veraid:audit",
"source": "veraid",
"host": "app.veraid.io"
}

Datadog

{
"name": "Datadog Logs",
"type": "DATADOG",
"endpoint": "https://http-intake.logs.datadoghq.com/api/v2/logs",
"authType": "API_KEY",
"authConfig": {
"headerName": "DD-API-KEY",
"headerValue": "your-datadog-api-key"
},
"format": "JSON"
}

Sumo Logic

{
"name": "Sumo Logic Collector",
"type": "SUMOLOGIC",
"endpoint": "https://collectors.sumologic.com/receiver/v1/http/your-collector-url",
"authType": "NONE",
"format": "JSON"
}

Elastic

{
"name": "Elastic SIEM",
"type": "ELASTIC",
"endpoint": "https://elastic.company.com:9200/veraid-events/_doc",
"authType": "BASIC_AUTH",
"authConfig": {
"username": "veraid_ingest",
"password": "your-password"
},
"format": "JSON"
}

Generic Syslog

{
"name": "Syslog Collector",
"type": "SYSLOG",
"endpoint": "syslog.company.com:514",
"authType": "NONE",
"format": "SYSLOG",
"config": {
"transport": "TLS",
"facility": "LOCAL0"
}
}

Generic HTTPS

For SIEM platforms not explicitly supported, use the generic HTTPS integration:

{
"name": "Custom SIEM",
"type": "HTTPS",
"endpoint": "https://siem.company.com/api/ingest",
"authType": "BEARER_TOKEN",
"authConfig": {
"token": "your-bearer-token"
},
"format": "JSON"
}

Severity and Event Type Filtering

Filter which events are forwarded to your SIEM to control volume and relevance.

Severity Filtering

{
"filters": {
"severities": ["CRITICAL", "HIGH", "MEDIUM"]
}
}

Available severities: CRITICAL, HIGH, MEDIUM, LOW, INFO.

Event Type Filtering

{
"filters": {
"eventTypes": [
"identity.created",
"identity.updated",
"identity.suspended",
"identity.revoked",
"credential.created",
"credential.used",
"credential.rotated",
"credential.expired",
"credential.revoked",
"policy.violated",
"policy.evaluated",
"anomaly.detected",
"alert.triggered",
"jit.requested",
"jit.approved",
"jit.denied"
]
}
}

Testing a Connection

Verify that VeraID can successfully deliver events to your SIEM before enabling production streaming.

Terminal window
curl -X POST https://app.veraid.io/api/v1/siem/integrations/{id}/test \
-H "Authorization: Bearer kd_live_your_api_key"

Response:

{
"status": "SUCCESS",
"message": "Test event delivered successfully",
"details": {
"endpoint": "https://splunk.company.com:8088/services/collector/event",
"responseCode": 200,
"latency": "145ms"
}
}

If the test fails, the response includes diagnostic information:

{
"status": "FAILED",
"message": "Connection refused",
"details": {
"endpoint": "https://splunk.company.com:8088/services/collector/event",
"error": "ECONNREFUSED",
"suggestion": "Verify that the endpoint is reachable and the port is open. Check firewall rules and network policies."
}
}

Audit Log Export

In addition to real-time streaming, you can export audit logs in bulk for historical analysis or compliance archives.

Terminal window
curl -X GET "https://app.veraid.io/api/v1/audit-logs/export?format=json&startDate=2026-03-01&endDate=2026-03-19" \
-H "Authorization: Bearer kd_live_your_api_key" \
-o audit-logs-march.json

Supported export formats:

FormatContent-TypeDescription
jsonapplication/jsonJSON array of audit log entries
csvtext/csvCSV with headers, suitable for spreadsheet analysis

Event Schema

All events forwarded to your SIEM follow a consistent schema regardless of the output format:

{
"id": "evt_abc123",
"timestamp": "2026-03-19T10:30:00Z",
"action": "credential.used",
"actorType": "IDENTITY",
"actorId": "id_xyz789",
"actorName": "aws-deploy-prod",
"resourceType": "credential",
"resourceId": "cred_def456",
"outcome": "SUCCESS",
"severity": "INFO",
"ipAddress": "203.0.113.42",
"userAgent": "veraid-sdk/1.2.0",
"organizationId": "org_abc",
"metadata": {
"scopes": ["secrets.read"],
"endpoint": "/api/v1/secrets/db-url"
}
}

When using CEF format, the same event is rendered as:

CEF:0|VeraID|IdentityPlatform|1.0|credential.used|Credential Used|3|src=203.0.113.42 suser=aws-deploy-prod outcome=SUCCESS cs1=cred_def456 cs1Label=credentialId