Skip to main content
GET
/
runs
/
{runId}
/
artifacts
/
{filename}
curl -X GET \
  "https://bouncer.nunu.ai/runs/lkkg6t5612m-1/artifacts/device_log.log" \
  -H "X-Api-Key: YOUR_API_TOKEN" \
  -o device_log.log
"<string>"

Documentation Index

Fetch the complete documentation index at: https://api-docs.nunu.ai/llms.txt

Use this file to discover all available pages before exploring further.

Permission Required: any API key scoped to the project that owns the run
Artifact endpoints are served by the bouncer service at https://bouncer.nunu.ai, not the main nunu.ai/api/v1 host. Use the same X-Api-Key header for authentication.
Stream a single artifact file directly from object storage. The response is the raw file bytes with appropriate Content-Type and Content-Length headers, not a JSON envelope. The endpoint supports HTTP range requests, conditional requests via ETag, and serves a presigned redirect for large media files (such as .mp4 recordings) to allow efficient streaming.

Path Parameters

runId
string
required
Composite run ID, in the format {multiplayerRunId}-{playerNumber} (for example lkkg6t5612m-1).
filename
string
required
Artifact filename, exactly as returned by List Run Artifacts. May include subdirectories (for example deliverables/report.json).

Headers

Range
string
Standard HTTP range header. The endpoint returns 206 Partial Content for satisfiable ranges and 416 Range Not Satisfiable otherwise.
If-None-Match
string
Send the ETag from a previous response to receive 304 Not Modified when the file has not changed.

Response

The response body is the raw file content. Common status codes:
StatusMeaning
200Full file body
206Partial content (response to a Range request)
302Redirect to a presigned URL (typically for large media files)
304Not modified (when If-None-Match matches)
404Artifact does not exist or is hidden from the requesting key
416Requested range cannot be satisfied
When following the URL returned by List Run Artifacts, you typically do not need to construct this path manually—just GET that URL with your API key.
curl -X GET \
  "https://bouncer.nunu.ai/runs/lkkg6t5612m-1/artifacts/device_log.log" \
  -H "X-Api-Key: YOUR_API_TOKEN" \
  -o device_log.log

Authorizations

X-Api-Key
string
header
required

API key for authentication

Headers

Range
string

Standard HTTP range header. Returns 206 for satisfiable ranges and 416 otherwise.

If-None-Match
string

Send the ETag from a previous response to receive 304 Not Modified when the file has not changed.

Path Parameters

runId
string
required

Composite run ID, in the format {multiplayerRunId}-{playerNumber}.

filename
string
required

Artifact filename, exactly as returned by List Run Artifacts. May include subdirectories (e.g. deliverables/report.json).

Response

Full file body. Content-Type is set based on the artifact's stored type.

The response is of type file.