Skip to content

Get Run Artifact

GET /runs/{run_id}/artifacts/{attachment_id}

A presigned link to a binary the run produced (G-9).

A link rather than the bytes. The caller fetches the object from the bucket either way, and proxying it through here would hold a worker for the length of a download to save one hop. The signature expires, which is what makes a leaked link stop working, and expires_at says when.

viewer, the same floor as the transcript it belongs to: an artifact is a piece of a run’s output, and a reader who may see the run’s steps may see what they produced.

The URL is signed against OBJECT_STORE_ENDPOINT. A deployment whose bucket is only addressable from inside its own network hands out a link only a client on that network can follow — a property of that deployment’s addressing, and the reason the setting names a public endpoint in production.

NameInTypeNotes
run_idpathstring (uuid)required—
attachment_idpathstring (uuid)required—
StatusDescriptionBody
200Successful ResponseRunArtifactView
422Validation ErrorHTTPValidationError
Terminal window
curl -X GET https://your-deployment.example.com/runs/{run_id}/artifacts/{attachment_id} \
-H "Authorization: Bearer $COBRE_TOKEN"
FieldTypeNotes
attachment_idstring (uuid)required—
run_idstring (uuid)required—
urlstringrequired—
media_typestring | nulloptional—
size_bytesinteger | nulloptional—
expires_atstring (date-time)required—