---
title: "List Artifacts"
method: GET
path: "/api/v1alpha1/assistant/trademe/conversations/{conversation_id}/artifacts"
tags: ["v1alpha1"]
---

# List Artifacts

`GET /api/v1alpha1/assistant/trademe/conversations/{conversation_id}/artifacts`

Current HEAD of every artifact this conversation owns, newest change first.

**Presented-only by default.** Without ``include_unpresented=true`` the
result contains only artifacts whose ``presentedAt`` is set — the ones the
member has actually been shown. The filter is applied by the store
(``ix_artifacts_conversation_presented`` covers it), not in Python, so
unsurfaced rows are never read.

One query, no N+1 (``ArtifactStore.list_latest_versions``). Ordering is
``lastChangedAt`` descending — see ``_last_changed_key`` for why that is
derived from the head version rather than stored on the artifact.

Scoped exactly like the messages endpoints (``MemberConversationDep``): a
conversation of another kind, one that does not exist, and one the caller
does not participate in are all the same 403.

## Path parameters

- `conversation_id` string, required

## Query parameters

- `include_unpresented` boolean — Include artifacts that have never been surfaced to the member. Defaults to false: this endpoint returns ONLY artifacts with a presentedAt timestamp, so an in-progress draft the assistant has not shown yet cannot appear in a member's list.

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- ConversationArtifactsResponse — Response body for ``GET /conversations/{id}/artifacts`` — the current heads. An object rather than a bare list: a top-level array leaves nowhere to add pagination or a total later without a breaking change.
  - `artifacts` ArtifactHead[], required
    - `id` string, required
    - `uri` string, required
    - `artifactType` string, required
    - `provenance` string, required
    - `payload` object, required
    - `versionId` string, required
    - `versionOrdinal` integer, required
    - `parentVersionId` string, nullable
    - `author` string, nullable
    - `nameHint` string, nullable
    - `presentedAt` string, date-time, nullable
    - `lastChangedAt` string, date-time, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/trademeai/apis/trade-me-ai-platform.md) · [All operations](https://skmtc.net/trademeai/apis/trade-me-ai-platform/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trademeai/trade-me-ai-platform/revisions/02634860dec7/schema)
