How much of this store has been altered (alias of /api/v1/won/revisions)
POST/api/v1/memory/revisions
In the SDKs: revisions
The original path for this call, kept for good: wontopos-mcp 1.0.14 and every client published before 2026-08-18 call it here. Identical behaviour, identical rate-limit budget — see /api/v1/won/revisions for the full description.
Authentication
Every call carries your API key in an X-API-Key header. Keys are created in the console.
X-WOS-ModeloptionalPicks the memory model that answers. Omit it and the account default is used.
Request body
JSON, required. Out-of-range values are refused with a 400 rather than quietly clamped.
user_idstring requiredThe store to operate on. Stores are explicit: create one first or use the built-in "default".
include"revised" | "unrevised"Omit for counts only. Set it to also receive ONE page of the memories behind that number. Only one of the two per call — there is no way to ask for both lists in a single response. An unrecognised value is rejected rather than silently ignored, because a typo that quietly drops the list looks exactly like an empty store.
limitinteger 5–20 · default 20Memories per page, when
includeis set. 20 is both the default and the ceiling; a larger value is rejected, not clamped.beforestringCursor:
next_beforefrom the previous page. RFC3339 — an epoch number is rejected, because silently ignoring it would hand back page 1 forever.skip_idsstring[]Cursor:
next_skip_idsfrom the previous page. Hand back what you were given — these are the ids already seen at the boundary timestamp, and dropping them makes the pager repeat itself.
Returns
The 200 body. Fields nested one level are shown as parent.child.
revisedintegerMemories a transform has touched.
unrevisedintegerMemories nothing has touched since they were written.
totalintegerMemories in the store. Always
revised + unrevised.countsstringexcludesstringincludestringEchoed back only when a page was requested.
matchedintegerTOTAL memories behind this page (equal to
revisedorunrevised), not the size of the page. Only present withinclude.memoriesobject[]One page, at most 20. Only present with
include.has_morebooleannext_beforestringnext_skip_idsstring[]ordered_bystringWhich order the page is in — by when each memory was STORED, not when it was edited. Stated because assuming the latter would read the page wrong.
Example
curl -X POST https://api.wontopos.com/api/v1/memory/revisions \
-H "X-API-Key: $WOS_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'Status codes
| Status | Meaning |
|---|---|
| 200 | Success. |
| 401 | Missing or invalid API key. |
| 404 | Store (user_id) does not exist. Create it first: POST /api/v1/memory/collection. |
| 429 | Rate limited (per-account, per-tier RPM). Retry after the indicated delay. |
Rate limits per tier and the full status list are in Errors & limits.
In the SDKs
The Python, TypeScript, and Rust SDKs wrap this endpoint so you do not build the request by
hand — pip install wontopos, npm i wontopos, or cargo add wontopos, then the method list is on the SDK reference. A coding agent can take the whole API in one file
at llms.txt, or over MCP with npx -y wontopos-mcp.