Managed Service
The fastest way to get started. Sign up, grab an API key, and start logging.
What ZizkaDB does: as you log events, it builds a behavioral baseline for each agent: which event types it emits, which decision sequences are normal, what the typical session shape looks like. Each new session is compared against that baseline so you can see when an agent has stopped behaving like itself. Causal lineage, time travel, and semantic search are how you investigate what changed.
1
Create your account
Go to db.zizka.ai/signup and sign in with your email. No password needed.
2
Get your API key
After signing in, open Settings in the sidebar and click Create API key. Your key starts with agdb_live_
3
Install and connect
Install the SDK. It has one dependency (httpx) and works with Python 3.10+.
bashpip install zizkadb-sdk
Log your first event. This snippet is fully runnable — paste it into a file, set your key, run it.
pythonimport asyncio from zizkadb import ZizkaDB db = ZizkaDB("agdb_live_xxxx") # paste your API key here async def main(): # Log any agent action result = await db.log( agent="my-bot", # a name for your agent event="tool_call", # what happened data={"tool": "search", "query": "pricing"}, ) print(result.event_id) # saved asyncio.run(main())
All Python examples below run inside an
async def main() wrapped with asyncio.run(main()). The SDK is async-first because real agents stream events; trying to run await at module level will raise SyntaxError: 'await' outside async function.Link events causally (this is what makes debugging possible):
pythonasync def main(): # Log the user's message msg = await db.log(agent="my-bot", event="user_message", data={"text": "why is my bill $200?"}) # Log the tool call that happened because of it tool = await db.log(agent="my-bot", event="tool_call", data={"tool": "get_billing"}, parent_id=msg.event_id) # link to parent # Now ask: why did this tool get called? chain = await db.why(tool.event_id) chain.print() # user_message: "why is my bill $200?" [14:32:01] # tool_call: get_billing [14:32:02] asyncio.run(main())
Tip: Pass
session_id to group all events in one conversation. Later you can call db.memory_diff(session_id) to see what changed.4
Open the dashboard
Go to db.zizka.ai/dashboard to see your agents, search their history, and replay any session.
All SDK methods
db.log()Log any event. Add parent_id to link it causally to a previous event.db.baseline(agent)Get the behavioral baseline for an agent: event distribution, decision-tree shapes, error rate, and how recent sessions compare.db.why(event_id)Trace the full causal chain from any event back to the root cause.db.search(query)Semantic search across all agent history. Find events by meaning, not keywords.db.at(agent, timestamp)Replay exact agent state at any past moment. Every event is checksummed.db.query(agent)List recent events for an agent, optionally filtered by event type.db.context_for(agent, task)Get a formatted memory block ready to inject into a system prompt.db.memory_diff(session_id)Summarise what happened in a session: event counts, errors, new behaviors.db.forget(key, value)GDPR right to erasure. Deletes all events matching a filter from the DB and vector index.