Endpoint
GET https://evaesi.dev/api/v1/sources/{request_id}The nested /api/v1/responses/{request_id}/sources route remains mounted as a compatibility alias. Both routes require a valid API key on the Developer tier with the inference scope, and only the account that issued the original request can read its bundle, any other account's key receives 404 SOURCES_NOT_FOUND (any key belonging to the issuing account works; it does not have to be the specific key that made the request).
How long evidence lasts
This endpoint is a live lookup, not a permanent archive. The responses API returns sources_url so clients can re-fetch evidence while the request remains resident in the gateway. Once the live source bundle is gone, the API returns 404 SOURCES_NOT_FOUND.
The response
{
"request_id": "req_123",
"model": "instant",
"sources": [
{
"url": "https://example.com/report",
"domain": "example.com",
"title": "Example report",
"tier": "t1_authoritative",
"retrieved_at": "2026-04-20T12:34:56Z",
"snippet": "Quoted evidence snippet...",
"stance": "supports"
}
]
}Source Fields
| Field | Type | Meaning |
|---|---|---|
request_id | string | The original inference request ID. |
model | string? | Model identifier when the gateway still has it. Omitted from the response entirely when unknown, not null. |
sources | array | Live evidence list for the request. Omitted when empty rather than returned as []. |
url | string | Canonical source URL. |
domain | string | Domain extracted from the URL. |
title | string | Human-readable page or document title. |
tier | enum | Evidence tier, one of t1_authoritative, t2_established, t3_community, t4_unverified. |
retrieved_at | RFC3339 timestamp | When the source was gathered. |
snippet | string | Short quoted or extracted evidence fragment. |
stance | enum | How the source relates to the answer: supports, contradicts, mixed, or context. |
Errors
404 SOURCES_NOT_FOUNDwhen the gateway no longer has live evidence for that request ID503 DB_UNAVAILABLEwhen the database is not available (checked before gateway connectivity)503 EVA_UNAVAILABLEwhen the inference gateway is not connected401 INVALID_API_KEYand related auth failures for missing, expired, or revoked keys403 INSUFFICIENT_SCOPEwhen the key lacks theinferencescope429 RATE_LIMITED: this endpoint draws on the same per-minute request budget as inference