---
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`

## Request

- Base URL: `https://api.trademeai.co.nz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.trademeai.co.nz/api/v1alpha1/assistant/trademe/conversations/{conversation_id}/artifacts`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/trademeai/apis/trade-me-ai-platform/docs/api/v1alpha1/assistant/trademe/conversations/:conversation_id/artifacts/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the current version of each artifact in the conversation, most recently changed first. By default only artifacts the member has been shown are returned, and only documents the assistant wrote with the member. Add `include_unpresented=true` for artifacts the member has not seen yet, and `include_snapshots=true` for the copies of search results, listings and similar data the assistant collects along the way.

## 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.
- `include_snapshots` boolean: Also include SNAPSHOT-provenance artifacts — the search results, property cards, listing summaries, crisis resources and reply offers a conversation accumulates as its tools run. Defaults to false: the member-facing view of this endpoint is the AUTHORED documents, and the snapshots are machinery. Set it to watch that machinery work, which is what the assistant app's artifacts sidebar does behind its 'show machinery' toggle.

## Headers

- `authorization` string, nullable
- `accept-nodes` string[], nullable: Optional. The node types and versions the app can render, in the format GET /messages takes. A card's actions are served only to an app that declares non_binding_action:1, and only on v1alpha1. Omitted = nothing declared, so no actions.

## 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

## Changes

- **2026-10-27** `3f1332e8a1d8`: 1 info
  - added the new optional `header` request parameter `accept-nodes`
- **2026-09-11** `6055f6f833ac`: 1 info
  - added the new optional `query` request parameter `include_snapshots`
- **2026-08-21** `02634860dec7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trademeai/apis/trade-me-ai-platform/changes/api/v1alpha1/assistant/trademe/conversations/:conversation_id/artifacts/get.md)

---

[API](https://skmtc.dev/trademeai/apis/trade-me-ai-platform.md) - [All operations](https://skmtc.dev/trademeai/apis/trade-me-ai-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/trademeai/apis/trade-me-ai-platform/revisions/1164c8a5c534?raw)
