SigSentrySigSentry
Analyses

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

ParamTypeNotes
idUUIDThe 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

Statuserror.codeWhen
400VALIDATION_ERRORid is not a valid UUID
401UNAUTHORIZEDMissing or invalid API key
403FORBIDDENKey lacks analysis:read
404NOT_FOUNDNo 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.