---
title: "Get Artifact"
method: GET
path: "/api/agent-chat/artifacts/{short_id}"
tags: ["Agent Chat"]
---

# Get Artifact

`GET /api/agent-chat/artifacts/{short_id}`

Get artifact data by short_id.

Without `offset`/`limit` returns the full content (backward compat with
callers that haven't migrated to pagination). When both are provided
(typical UI flow for large tabular artifacts — `people` can be 20k+ rows),
returns only the requested slice.

Reads from the parquet/md file referenced by ``artifact.path`` when
present; falls back to the legacy ``data`` JSONB for artifacts written
before the file-based refactor.

``people`` artifacts store only ``person_id`` in the file (an
intermediate pointer, not the display row) — hydrated into the product
people-row shape via ClickHouse before returning, same dispatch as the
playground endpoint. Without it every people table renders with the
right row count but no name/company/title/email in any cell.

## Path parameters

- `short_id` string, required

## Query parameters

- `offset` integer, nullable
- `limit` integer, nullable

## Cookies

- `ex_access` string, nullable
- `ex_org` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/explee/apis/explee-api.md) · [All operations](https://skmtc.dev/explee/apis/explee-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/explee/explee-api/revisions/f169bc6e9447/schema)
