GET/v1/conversations/:id/artifacts
Auth: tenant — Status: stable
List the conversation's artifacts, newest-updated_at first. Capped at 200 per page (no cursor in v1; conversations of that size should migrate off the SQLite tier).
Request
| Path param | Type | Description |
|---|---|---|
id | int | Conversation id. |
curl -H "Authorization: Bearer atr_…" \
http://arbiter.example.com/v1/conversations/7/artifacts
Response
200 OK
{
"conversation_id": 7,
"count": 2,
"artifacts": [ {/* ArtifactRecord */}, {/* ... */} ],
"bytes_used": 1832,
"tenant_bytes_used": 4231
}
Each artifacts[] entry is the metadata shape (no content). Field schemas: Data model → ArtifactRecord.
Failure modes
| Status | When | Body |
|---|---|---|
| 401 | Missing / invalid bearer. | {"error": "..."} |
| 404 | Conversation not found / wrong tenant. | {"error": "conversation not found"} |
See also
POST/v1/conversations/:id/artifacts,GET/v1/conversations/:id/artifacts/:aid,GET/v1/conversations/:id/artifacts/:aid/raw,DELETE/v1/conversations/:id/artifacts/:aid.GET/v1/artifacts— tenant-wide cross-conversation discovery.