# 3pm-backend route `putBlob`

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: 291
  o200k: 190
# PUT /api/buckets/{clusterId}/blobs/{blobId} (putBlob)

Write a call's bytes, raw, once — chunked or with a length; answered `201 {blob, bytes}` when the body has gone through, 409 if the blob was already written. A node writing a blob of its own call needs no scope: the blob is the authorisation, and one that is not its own is a 404.

- 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: not JSON: a page, an asset or the client module
