"Use this sub-skill for EverOS HTTP memory add, flush, search, get,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill memory-api --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Memory Api?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-memory-api)More formats (shields.io, HTML) on the badges page.
---
name: memory-api
description: "Use this sub-skill for EverOS HTTP memory add, flush, search, get,
multimodal content, prompt slots, and memory API troubleshooting."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# EverOS Memory API
Use this sub-skill for application-level memory workflows through the EverOS HTTP API: adding conversations, flushing session buffers, searching user or agent memory, listing memory rows, handling multimodal content, and tuning prompt slots.
## Read/run map
- Read [API reference](references/api-reference.md) for request/response shapes, owner scoping, filter DSL, search methods, and error envelopes.
- Read [workflows](references/workflows.md) for add/flush/search loops, live demo-equivalent calls, prompt slots, and multimodal payload patterns.
- Read [troubleshooting](references/troubleshooting.md) for provider gates, validation errors, eventual consistency, search misses, and multimodal failures.
- Run [memory_http_smoke.py](scripts/memory_http_smoke.py) against a running server. It defaults to `/health`; add `--add-flush-search` only when writes are intended.
- Run [dump_everos_openapi.py](scripts/dump_everos_openapi.py) to inspect the installed package OpenAPI schema without starting a server.
## Core endpoints
Use `/api/v2` for new integrations:
| Endpoint | Purpose |
|---|---|
| `POST /api/v2/memory/add` | Add one or more messages to a session buffer; may extract if a boundary trips. |
| `POST /api/v2/memory/flush` | Force extraction of the current session tail. |
| `POST /api/v2/memory/search` | Ranked retrieval over user episodes/profiles or agent cases/skills. |
| `POST /api/v2/memory/get` | Paginated listing over one memory type. |
`/api/v1` is a compatibility alias with the same handlers.
## Minimal add/flush/search loop
```bash
TS=$(($(date +%s) * 1000))
BASE=http://127.0.0.1:8000
curl -s -X POST "$BASE/api/v2/memory/add" \
-H 'Content-Type: application/json' \
-d "{\"session_id\":\"demo-001\",\"messages\":[{\"sender_id\":\"alice\",\"role\":\"user\",\"timestamp\":$TS,\"content\":\"I love climbing in Yosemite every spring.\"}]}"
curl -s -X POST "$BASE/api/v2/memory/flush" \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001"}'
curl -s -X POST "$BASE/api/v2/memory/search" \
-H 'Content-Type: application/json' \
-d '{"user_id":"alice","query":"Where do I like to climb?","method":"hybrid","top_k":5}'
```
## Key decisions
- `messages[].timestamp` should be Unix epoch milliseconds.
- `sender_id` becomes the user owner for user-role messages and is path-validated.
- Exactly one of `user_id` or `agent_id` is required for `/search` and `/get`.
- Use `app_id` and `project_id` to isolate tenants/projects; defaults are `default`.
- Search can be eventually consistent after writes because LanceDB projection is asynchronous.
- Multimodal content items require explicit parser/provider setup; plain string content is safest.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!