---
title: "Get a signed URL for one of a test run's own artifacts"
method: GET
path: "/testRuns/{test_run_id}/artifactUrl"
tags: ["TestRun"]
---

# Get a signed URL for one of a test run's own artifacts

`GET /testRuns/{test_run_id}/artifactUrl`

Returns a short-lived signed URL for a single artifact belonging to this test run,
identified by a key relative to the run's workspace bucket.

The workspace, and therefore the bucket, is derived server-side from the test run.
The caller never supplies or learns a bucket name, and `object_key` is required to
fall within this run's own artifact prefix, so the endpoint cannot be used to reach
an unrelated object even inside the same workspace. This is the run-scoped
counterpart to `getArtifactUrl`, which instead parses the workspace out of a
client-supplied absolute path.

## Path parameters

- `test_run_id` string, required

## Query parameters

- `object_key` string, required

## Response `200`

The signed URL for the requested artifact

- SignedArtifactUrl — A short-lived signed URL granting read access to a single test run artifact
  - `signed_download_url` string, required — Signed URL to download the artifact. Short-lived and intended to be used immediately — resolve a fresh one per use rather than storing this value, which is why the run's artifact coordinates, not this URL, are what a file variable carries.

## Other responses

- `400` — Invalid or missing parameter
- `401` — User not authenticated
- `403` — User not authorized
- `404` — Entity not found
- `default` — Unknown error

---

[API](https://skmtc.net/mabl/apis/mabl-api.md) · [All operations](https://skmtc.net/mabl/apis/mabl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mabl/mabl-api/revisions/d0fc0114da66/schema)
