# 3pm-backend route `putCallArtifact`

Paths are relative to the backend's origin (https://fleet.edgecr4ft.net, or your own 3pm-backend), not to this site. Index: https://3pm.edgecr4ft.net/docs/backend/api.md

---

tokens:
  claude: 285
  o200k: 191
# PUT /api/buckets/{clusterId}/calls/{callId}/artifacts (putCallArtifact)

The agent's upload of the file an action returned, before the reply that names it: raw bytes, `x-3pm-ext` and `x-3pm-instance`, answered `201 {artifact_id, bytes, sha256}` — agent only; a page reads the call's files off `getCall` or `events`.

- auth: an account — Authorization: Bearer 3pmu_<token>, or the dashboard's session cookie
- node: also open to a node's own bearer (3pma_…) when its row is granted fleet:invoke; that node's bucket only, and for the calls it placed itself
- answer: the agent's own request (`3pm link`), not for an LLM
