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.