Get a report artifact
Single-artifact poll endpoint.
/api/reports/{artifact_id}/Personal Access Token (create one from Settings -> API Keys in the dashboard). Send as Authorization: Bearer gr_live_.... An X-API-Key: gr_live_... header (see the apiKeyAuth scheme) is accepted as an equivalent alternative — send ONE of the two, not both.
In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/api/reports/0/"{ "id": "string", "brandId": "string", "categoryId": "string", "reportType": "string", "reportTypeLabel": "string", "status": "string", "format": "string", "createdAt": "2019-08-24T14:15:22Z", "completedAt": "2019-08-24T14:15:22Z", "downloadUrl": "string", "viewUrl": "string", "errorMessage": "string", "agentName": "", "agentVersion": "", "costUsd": "string", "kgGenerationJob": "string", "evidenceRefsCount": 0, "isBranded": true, "abortedReason": "string", "generatedByEmail": "string"}Get the latest report artifact of a type GET
Latest artifact for a brand of a specific report type. Query string: ?type=<report_type> (required) Tenant + tier gating mirrors :class:`BrandReportsListView`. 404s rather than emitting a sentinel so the frontend can fall through to its "no reports yet" empty state without a separate flag in the response.
Download a report artifact GET
Streams the rendered artifact as an attachment — PDF when available, falling back to HTML. 404 until the artifact's `status` is `complete`.