GET /v1/analyses/{id}
Fetch one analysis by id, including full result, timeline, and code correlation
Returns the full analysis record by id, including the result, timeline, suggested actions, and (when available) code correlation.
Authentication
API key with analysis:read permission. The analysis must belong to
your tenant.
Endpoint
GET /v1/analyses/{id}Path parameters
| Param | Type | Notes |
|---|---|---|
id | UUID | The analysis id |
Response
200 OK
{
"success": true,
"data": {
"id": "ana_x1y2...",
"status": "complete",
"description": "Checkout 500s spiked after 14:00",
"timeStart": "2026-04-25T14:00:00Z",
"timeEnd": "2026-04-25T14:30:00Z",
"metadata": { "ticketId": "ZD-12345" },
"createdAt": "2026-04-25T14:30:12Z",
"completedAt": "2026-04-25T14:30:31Z",
"processingTimeMs": 19234,
"result": {
"summary": "Connection pool exhaustion in checkout-api...",
"severity": "high",
"confidence": 0.87,
"rootCause": { "description": "...", "service": "checkout-api", "errorType": "ConnectionPoolExhausted", "category": "database" },
"affectedServices": [ { "serviceName": "checkout-api", "role": "origin", "errorCount": 234, "firstSeen": "...", "lastSeen": "..." } ],
"timeline": [ { "timestamp": "...", "service": "checkout-api", "level": "error", "message": "...", "isRootCause": true } ],
"suggestedActions": [ { "priority": 1, "action": "Increase the database connection pool ceiling", "rationale": "...", "type": "fix" } ],
"codeCorrelation": {
"available": true,
"suspectedCode": { "repo": "checkout-api", "filePath": "src/db.ts", "functionName": "getConnection", "lineRange": [42, 58], "snippet": "..." },
"causalPR": { "id": "...", "title": "...", "author": { "name": "..." }, "mergedAt": "...", "url": "...", "confidence": 0.91, "explanation": "..." },
"recentCommits": []
},
"logsScanned": 18437,
"timeWindow": { "start": "2026-04-25T14:00:00Z", "end": "2026-04-25T14:30:00Z" }
}
}
}Session-level fields (description, timeStart, timeEnd,
metadata, createdAt, completedAt, processingTimeMs) are
flattened onto data alongside result. result is null while
status is processing. codeCorrelation is omitted when no repo
is connected to the project.
For deeper field-by-field guidance, see Reading the result.
Error responses
| Status | error.code | When |
|---|---|---|
| 400 | VALIDATION_ERROR | id is not a valid UUID |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | Key lacks analysis:read |
| 404 | NOT_FOUND | No analysis with that id in your tenant |
Example
curl https://api.sigsentry.com/v1/analyses/ana_x1y2z3 \
-H "Authorization: Bearer ss_secret_..."Polling
If you create an analysis and status comes back as processing,
poll this endpoint every 5–10 seconds until status becomes
complete, partial, or failed. Don't poll faster — see
Rate limits.
