SAW accepts security logs through two routes: a dedicatedDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/samkit511/SAW---Security-Analyst-Workspace/llms.txt
Use this file to discover all available pages before exploring further.
/ingest-log endpoint for lightweight log shipping and the /assistant/request endpoint for full assistant-driven triage. Both routes run the same internal pipeline — your log is normalized, classified, and assigned an incident ID — but /ingest-log is simpler to integrate from external log forwarders, while /assistant/request gives you session continuity and explicit control over the request type.
Ingestion methods
- POST /ingest-log
- POST /assistant/request
The
/ingest-log endpoint accepts either a structured JSON body or a raw plain-text log line. Use it when you want the lowest-friction way to push a log event into SAW.Send a structured JSON log
Provide individual fields so SAW can normalize and enrich the event without parsing a raw string.
| Field | Type | Description |
|---|---|---|
ip | string | Source IP address of the request |
method | string | HTTP method (GET, POST, etc.) |
path | string | Request path |
payload | string | Request body or query string |
raw | string | Pre-formatted log line (overrides field assembly) |
source | string | Origin label; defaults to assistant_api |
event_id | string | Idempotency key; also readable from x-event-id header |
Send a raw log line
If your log forwarder emits unstructured text, omit the When the body is not JSON, SAW sets
Content-Type: application/json header and POST the raw bytes directly.source to web_app_login_endpoint automatically and reads the x-event-id header as the event identifier.Read the triage response
A successful ingest returns the full triage result:
| Field | Description |
|---|---|
request_id | Unique ID for this specific API call |
incident_id | Persistent incident record created or updated |
workflow_status | COMPLETED or DEGRADED |
agent_summary | Human-readable summary from the agent pipeline |
decision | One of EXECUTE, OBSERVE, or IGNORE |
Replay prevention with x-event-id
Include thex-event-id header (or the event_id field in a JSON body) on every request to prevent duplicate processing. SAW tracks event IDs for a 30-second window; a second request with the same ID within that window returns a 409 Conflict:
SAW enforces a rate limit of 12 requests per 60-second window per source IP across both
/ingest-log and /assistant/request. When you exceed the limit, the API responds with HTTP 429 and a retry_after_seconds field indicating how long to wait before retrying.