## §OIP SYSTEM ARTICLE — STORE (4 operations)
A generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.

### Read Order
- scan operations
- open a leaf doc
- run via run_now or POST /api/dispatch
- open receipt
- repair/replay if needed

### Operations
- **STORE_REF_IMAGE** — Save a reference image (e.g. one sent via Blooio) to R2 and return {filename,key,url}. Arg: source_url
  when: you need to store ref image
  args: $1
  doc: https://miscsubjects.com/api/dispatch?key=STORE_REF_IMAGE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=STORE_REF_IMAGE&body=%3Carg1%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=STORE_REF_IMAGE
- **STORE_AND_LOG_REF** — 
  when: per inbound media URL before routing to ARCADS
  doc: https://miscsubjects.com/api/dispatch?key=STORE_AND_LOG_REF&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=STORE_AND_LOG_REF&body=%3Carg1%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=STORE_AND_LOG_REF
- **STORE_GET** — fetch one reference file from the storage Worker (vendored docs, old build, etc).
  when: an agent needs a doc/file that was moved off the repo into the store.
  args: $1 = path, e.g. docs/api/openai/sections/012_agent_builder.md
  doc: https://miscsubjects.com/api/dispatch?key=STORE_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=STORE_GET&body=docs%2Fapi%2Fopenai%2Fsections%2F012_agent_builder.md&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=STORE_GET
- **STORE_SEARCH** — search the storage index by path/tag substring.
  when: find which reference files exist before fetching one with STORE_GET.
  args: $1 = query substring, e.g. realtime
  doc: https://miscsubjects.com/api/dispatch?key=STORE_SEARCH&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=STORE_SEARCH&body=realtime&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=STORE_SEARCH

### Troubleshooting
- If a row's example has placeholders, replace only the placeholder values and preserve separators.
- If a call fails, open its receipt and repair it with POST /api/dispatch {key, body, repairs:'inv_ID'}.
- If token scope denies this system, ask the owner for a row:/rows:/pfx: token scoped to the exact operation set.

Back to the tree: https://miscsubjects.com/api/dispatch?map=1&format=markdown