---
title: "Stream a stored render artifact (native app)."
method: GET
path: "/v1/dashboards/{id}/renders/{renderId}/artifact"
tags: ["renders"]
---

# Stream a stored render artifact (native app).

`GET /v1/dashboards/{id}/renders/{renderId}/artifact`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/v1/dashboards/{id}/renders/{renderId}/artifact`
- Auth: one of:
  - API key in cookie `dvt_session`
  - HTTP bearer

Native app only (DVT-1364, `exportDelivery: render_app_stage`): streams a succeeded
render's PNG/PDF from the app-owned stage `@app_spcs.renders`, app-authenticated — the
replacement for a signed URL. Served only to the render's requester (anyone else gets
**404**); `Cache-Control: private, no-store`, `X-Content-Type-Options: nosniff`,
`Cross-Origin-Resource-Policy: same-origin`; PNG inline, PDF as an attachment. **404**
`artifact no longer available` when the stored object is gone (e.g. after an app
reinstall recreated the stage). Always 404 where renders are stored in R2.

## Response `200`

The stored artifact bytes.

## Other responses

- `401`: Missing, invalid, or expired session.
- `404`: Resource does not exist.

---

[API](https://skmtc.dev/dvt/apis/dvt-rest-api.md) · [All operations](https://skmtc.dev/dvt/apis/dvt-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dvt/apis/dvt-rest-api/revisions/00016f504165?raw)
