Last week, I released the [Open WebUI Python Client](https://github.com/whogben/owui_client), a library that gives developers 1:1 control over their Open WebUI instance. It solved the problem of programmatic access, but it created a new one: confusion. The Open WebUI API is powerful, but many of its parameters are "black boxes"—generic dictionaries like `meta` or `chat` that accept specific keys but don't document what those keys are. If you don't send exactly the right structure, the request fails, often with a generic error. I built the vehicle, but I didn't provide the map. Today, I'm releasing the [Complete Open WebUI API Documentation](https://whogben.github.io/owui_client/). It contains a reference for every endpoint and model in the system, including deep-dives into those complex dictionary parameters. > [!NOTE] Get the Documentation > * **Read the Docs**: [whogben.github.io/owui_client](https://whogben.github.io/owui_client/) > * **Get the Client**: `pip install owui-client` > * **View Source**: [GitHub Repository](https://github.com/whogben/owui_client) ## The Problem with "Black Box" APIs Building an agent that creates a chat session programmatically sounds simple. You import `ChatModel` and send it to the API. But `ChatModel` contains a field named `chat`, which is defined simply as a `Dict`. What goes in that dictionary? Is it `{"id": "..."}`? `{"history": [...]}`? Without documentation, you have to reverse-engineer the frontend code or guess until something works. This friction kills developer momentum. You shouldn't have to read the source code of the tool you're trying to automate. ## The Solution: AI-Generated Documentation To solve this, I used the same "Vibe Coding" approach that built the client. I tasked KiloCode (my AI coding workflow) with a new mission: document everything. Using the **Spectre** model, I orchestrated a team of sub-agents to investigate the Open WebUI codebase. I didn't just ask them to "write docs"—that leads to hallucination. I gave them a [strict process](https://github.com/whogben/owui_client/blob/main/AGENTS.md#documentation): 1. **Investigate One Field at a Time**: The agent locates a specific model attribute (like `ChatModel.chat`). 2. **Trace Usage**: It searches the frontend and backend code to see how that attribute is used. 3. **Identify Keys**: It lists every valid key that the dictionary accepts. 4. **Write the Docstring**: It compiles its findings into a clear description. The result is documentation that tells you exactly what to send. ![Open WebUI API Documentation Example](openwebui_api_documentation_example.png) ## Process Statistics This wasn't a quick prompt. It was a massive, automated research project. * **Time**: 8 hours of continuous processing. * **Scale**: 1,378 individual agent requests. * **Volume**: 61.3 million input tokens, 233 thousand output tokens. * **Cost**: Equivalent to ~$125 at Gemini 3 pricing (though Spectre is currently free). I had to restart the orchestrator four times as it hit context limits, but the result is the most complete map of the Open WebUI API that exists today. ## A Note on Accuracy I built this documentation using AI, and while I implemented strict checks to prevent hallucinations, it is still an autogenerated resource. Think of it as a high-quality map drawn by an explorer who moved fast. It will get you where you need to go 99% of the time, but you should verify the terrain before you deploy critical infrastructure. If you find an error, [please report it](https://github.com/whogben/owui_client/issues). ## What's Next? This documentation is step two. Step one was the client. Step two is the map. Step three is **Headless Administration**. My goal is to build agents that live inside Open WebUI and manage it—creating tools, modifying system prompts, and handling user administration without human intervention. For now, I hope this documentation helps you build your own tools and workflows.