won

How much of this store has been altered

How many memories in this store have been changed since they were written. Intended to be asked freely — by your app and by a model reading its own store — so it carries NO charge: no tokens, no per-request fee. Rate limited to 10 requests per minute, counted per endpoint per account, separately from your paid limit. Counts transforms (supersede); does not count deletions — a deleted memory leaves nothing to count — and counts only the memories you stored, not anything the engine keeps for itself. By default the answer is COUNTS ONLY, and its size does not depend on how much memory you have: a store of a hundred and a store of a hundred million get the same few numbers back. Send include to also receive one page of the memories behind a number — at most 20 per call, and never both lists at once. Page with before / skip_ids from the previous response, as /api/v1/memory/images does. Also served at /api/v1/memory/revisions, which is where clients published before 2026-08-18 call it; the two share one rate-limit budget.

post/api/v1/won/revisions

Request

  • Base URL: https://api.wontopos.com
  • URL: https://api.wontopos.com/api/v1/won/revisions
  • Auth: API key in header X-API-Key

Headers

X-WOS-Modelstring

Which engine reads the memory (see GET /api/v1/models). All live models share one memory per workspace, so you can store with one and recall with another. A retired model answers 410 with error.type gone_error and error.code 0, except on DELETE /api/v1/memory/collection, which deletes the store under any model. Until then, a model scheduled to retire names the day in a Sunset header (RFC 8594) on every answer it serves, the same date GET /api/v1/models lists as retires_at.

Request body

user_idstring required

The store to operate on. Stores are explicit: create one first or use the built-in "default". Use the id the store was created with: 1-64 ASCII letters, digits, ., _ or -, starting with a letter or digit. Ids that differ only by case name one store.

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

Memories per page, when include is set. 20 is both the default and the ceiling; a larger value is rejected, not clamped.

beforestring date-time

Cursor: next_before from the previous page. RFC3339 — an epoch number is rejected, because silently ignoring it would hand back page 1 forever.

skip_idsstring[]

Cursor: next_skip_ids from 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.

Response

Success.

revisedinteger

Memories a transform has touched.

unrevisedinteger

Memories nothing has touched since they were written.

totalinteger

Memories in the store. Always revised + unrevised.

countsstring
excludesstring
includestring

Echoed back only when a page was requested.

matchedinteger

TOTAL memories behind this page (equal to revised or unrevised), not the size of the page. Only present with include.

memoriesobject[]

One page, at most 20. Only present with include.

has_moreboolean
next_beforestring nullable
next_skip_idsstring[]
ordered_bystring

Which 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.

Changes

No recorded changes to this operation across all 1 revision of this API.