---
title: "Stream an evidence asset’s original bytes"
method: GET
path: "/v1/evidence/{assetId}/raw"
tags: ["Evidence"]
---

# Stream an evidence asset’s original bytes

`GET /v1/evidence/{assetId}/raw`

## Request

- Base URL: `https://brain.inite.ai`
- URL: `https://brain.inite.ai/v1/evidence/{assetId}/raw`
- Auth: HTTP bearer

Streams the asset’s original bytes after the full gate ladder: brain:read scope, ABAC action `rest.evidence.raw`, tenant fence (availability='hot', quarantine clean-or-absent), at least one live ownership grant (a user-bound key needs the end user’s own), current pack modality consent declaring the raw-evidence capability, and the media-PII polarity (unclassified blocked, `[]` open, non-empty needs `brain:read_media`). Any denial is a bare 404. 404 until EVIDENCE_RAW_READ_ENABLED=1. Source: src/evidence/evidence-read.controller.ts.

Required scope: `brain:read`.

## Path parameters

- `assetId` string, required

## Response `200`

The original bytes (Content-Type = the registered mediaType), with X-Content-Type-Options: nosniff, Cache-Control: no-store and Content-Disposition: attachment.

## Other responses

- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.

---

[API](https://skmtc.dev/inite/apis/inite-brain-platform-api.md) · [All operations](https://skmtc.dev/inite/apis/inite-brain-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inite/apis/inite-brain-platform-api/revisions/c7c3eb5e304b?raw)
