GET/api/v2/executions/{id}/artifacts/{artifactId}/download
This API-key path signs native render and render-pack artifacts only after exact organization, active environment, execution, artifact, hash, terminal-state, retention, and delivery-hold checks. Governed artifacts remain on the customer-session release authority path.
Headers
Authorizationstring requiredBearer pj_live_… Raw keys are shown only when created. The
x-api-keyheader is an alternative transport.Key scope:
execution:read.
Path parameters
idstring (uuid) requiredartifactIdstring (uuid) required
Query parameters
artifactHashstring (sha256) required
Response
200 OK Short-lived signed URL. The URL is minted on demand, never persisted, and the authority response is never cacheable.
Headers
Cache-Controlconst "private, no-store, max-age=0" optional
Body
urlstring (uri) requiredexpires_atstring (date-time) requiredcontent_typestring requiredbyte_lengthinteger requiredartifact_hashstring (sha256) required
Errors
| Status | When |
|---|---|
400 | Invalid request. |
401 | Missing, invalid, unentitled, or no-longer-accepted API key. |
403 | The key lacks execution:read, its environment is inactive, or the artifact is governed and must use active release authority. |
404 | The organization/environment-scoped resource was not found. |
409 | Legacy job state conflicts with the requested operation. |
410 | The native execution artifact passed its published retention window and is no longer retrievable. |
503 | Launch control is held or execution authority is unavailable. |
curl \
-H "Authorization: Bearer pj_live_YOUR_KEY" \
https://runstamp.com/api/v2/executions/8f4fa0a3-f907-41f5-babe-5762f974cb83/artifacts/8f4fa0a3-f907-41f5-babe-5762f974cb83/download?artifactHash=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08Response 200 OK
{
"url": "https://…",
"expires_at": "2026-10-12T09:30:00.000Z",
"content_type": "CONTENT_TYPE",
"byte_length": 1,
"artifact_hash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
}