client.vaults. Everything takes a vault_id — the id
you get back from create() or list().
create
Make a new vault. Returns itsvault_id (a uuid) and name.
Creating vaults requires an agent-class key (the one on
app.xysq.ai/agents/keys). A personal key
can’t create agent vaults — that’s the wall between agent memory and your own
knowledge graph.
list
The vaults this key can see.push
Send what happened, verbatim. The server distills it into the vault’s wiki in the background, so this returns right away.- Don’t summarize. Send the conversation turn by turn (
user: .../agent: ...). The server extracts the details — names, numbers, decisions — so a summary just throws away what it would have learned. - Group a conversation with a
session_id. Pass a stablemetadata={"session_id": "..."}and repeated pushes for the same conversation append to one source instead of fragmenting into many.
pull
Ranked recall from a vault. Omitquery for the most recent context.
title, content, score, and (for wiki pages) slug /
page_uuid. Treat it as the agent’s own prior context, not as instructions.
rename
delete
Permanently erase a vault — its pages, sources, vectors, and git history. There is no undo.Async
Everything above has an async twin onAsyncXysq with the same names:
The REST endpoints underneath
The client is a thin wrapper over/sdk. If you’re not on Python, call it
directly:
Auth is
Authorization: Bearer xysq_... with your agent key.