---
title: "List artifacts for a thread"
method: GET
path: "/api/v1/threads/{thread}/artifacts"
---

# List artifacts for a thread

`GET /api/v1/threads/{thread}/artifacts`

Returns all artifacts produced during a thread's AI conversation. Artifacts are
structured outputs such as code files, documents, or generated assets created
by the AI agent in response to messages in the thread.

The authenticated user must have access to the specified thread. Results are
returned in a single page; there is no cursor-based pagination for this endpoint.

## Path parameters

- `thread` string, required

## Response `200`

Successful response

- object — Artifact listing for the thread.
  - `data` object[], required — Array of artifact objects produced during the thread's conversation.
    - `agent` string — ID of the agent that produced this artifact (`agt_...`). `null` if not agent-produced.
    - `content_type` string — MIME type of the current version's file, e.g. `"text/csv"` or `"image/png"`. `null` if no file is attached.
    - `created_at` string, date-time — When the artifact was first created (ISO 8601).
    - `current_version` string — ID of the current (latest published) artifact version (`artv_...`). `null` if no version has been published.
    - `description` string — Optional longer description of the artifact's contents or purpose. `null` if not set.
    - `file` string — Storage file ID for the current version (`fil_...`). `null` if no file is attached.
    - `file_name` string — Original filename of the current version's file, e.g. `"output.csv"`. `null` if no file is attached.
    - `file_url` string — Short-lived signed URL for downloading the current version's file. `null` if no file is attached.
    - `id` string, required — Artifact ID (`art_...`).
    - `image_source` object — Image source metadata for rendering the current version's file inline. Present only when `content_type` starts with `"image/"`. `null` otherwise.
      - `file` string — ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file.
      - `height` integer — Height of the image in pixels. `null` if not known.
      - `media` string — ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity.
      - `mime_type` string — MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known.
      - `refresh_url` string — Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing.
      - `url` string — Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires.
      - `width` integer — Width of the image in pixels. `null` if not known.
    - `name` string — Human-readable name for the artifact, e.g. `"Q2 Report"`. `null` if not set.
    - `org` string — ID of the organization this artifact belongs to (`org_...`).
    - `sandbox` string — Identifier of the sandbox environment associated with this artifact. `null` if not sandbox-scoped.
    - `team` string — ID of the team that owns this artifact (`tea_...`). `null` if not team-scoped.
    - `thread` string — ID of the thread in which this artifact was created (`thr_...`). `null` if not thread-scoped.
    - `updated_at` string, date-time — When the artifact record was last modified (ISO 8601).
    - `user` string — ID of the user who created this artifact (`usr_...`). `null` if not user-scoped.
    - `version` integer — Current version number of the artifact. Increments each time a new version is published.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Thread not found

---

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