---
title: "Mint a signed short-lived URL for an asset’s bytes"
method: GET
path: "/v1/evidence/{assetId}/raw-url"
tags: ["Evidence"]
---

# Mint a signed short-lived URL for an asset’s bytes

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

## Request

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

Same gate ladder as the raw stream; on pass answers a short-lived signed URL token (HMAC-SHA256, EVIDENCE_SIGNED_URL_SECRET, TTL EVIDENCE_SIGNED_URL_TTL_SECONDS, default 300 s) redeemable WITHOUT auth at /v1/evidence/redeem/{token}. 503 while the secret is not configured. 404 until EVIDENCE_RAW_READ_ENABLED=1.

Required scope: `brain:read`.

## Path parameters

- `assetId` string, required

## Response `200`

The signed URL.

- EvidenceRawUrlResponse
  - `expiresAt` string, required
  - `token` string, required
  - `url` string, required

## Other responses

- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.
- `503`: The document pipeline is dark (DOCUMENT_INGEST_ENABLED off).

---

[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)
