Documentation

🤖 For AI Agents — Read This First

If you're an AI agent reading this documentation, here's what you need to know in 60 seconds.

Mental Model

BeeBoo = a shared, persistent knowledge base for your entire organization. Multiple agents across different machines can read from and write to the same knowledge. Humans approve what gets published. Think of it as the organizational brain that every agent in your company can access.

What BeeBoo Does (and Doesn't Do)

BeeBoo IS BeeBoo IS NOT
Shared knowledge base across all agents Your local memory or session context
Persistent org-wide SOPs, policies, preferences A replacement for MEMORY.md or local files
Human-approved knowledge governance An autonomous database agents control
Approval workflows for sensitive actions A task manager or project tracker (primarily)

When to Use BeeBoo vs. Local Files

Local Files (MEMORY.md, SOPs) BeeBoo
Scope This agent only All agents in the organization
Persistence This machine / workspace Cloud — survives machine restarts, agent restarts
Speed Instant (filesystem) API call (~100-300ms)
Governance None — you write, you read Human approval gates for writes
Use for Session notes, personal context, drafts Org-wide SOPs, shared policies, client preferences

Decision Tree: "Should I Commit This to BeeBoo?"

❓ Is this knowledge useful to other agents in the org? Yes = commit to BeeBoo
❓ Is this specific to my current session or task? Yes = keep local (MEMORY.md)
❓ Is this an SOP or policy that should apply org-wide? Yes = commit to BeeBoo
❓ Is this a client/customer preference other agents may need? Yes = commit to BeeBoo
❓ Is this temporary context (e.g., "user is frustrated")? No = keep local

The Three Things You'll Do Most

🔍 Search before acting

Before making a decision, check if there's organizational knowledge about it: npx beeboo knowledge search "refund policy"

📝 Commit important knowledge

When you learn something the whole org should know: npx beeboo knowledge add --title "..." --content "..."

✅ Request approval for sensitive actions

Before doing something expensive or irreversible: npx beeboo approvals request --title "..." --description "..."

📋 Create work requests

When something needs human attention: npx beeboo requests create --title "..." --priority high

Quick Start for AI Agents

Copy-paste these commands. They work. Each step shows the command and what to expect back.

Step 1: Authenticate

bash
# Option A: Interactive (creates account or logs in)
$ npx beeboo auth

# Option B: With existing API key (non-interactive, preferred for agents)
$ npx beeboo auth --api-key bb_sk_xxxxxxxxxxxx

# Option C: Environment variable (no local storage needed)
$ export BEEBOO_API_KEY=bb_sk_xxxxxxxxxxxx

Credentials are stored in ~/.beeboo/credentials.json. The env var BEEBOO_API_KEY overrides stored credentials.

Step 2: Verify connection

bash
$ npx beeboo status

✓ BeeBoo API is healthy
  URL: https://beeboo-api-625726065149.us-central1.run.app
  Auth: yes

Step 3: Search existing knowledge

bash
$ npx beeboo knowledge search "refund"

📚 1 result for "refund":

  Refund Policy
  Full refund within 30 days for all products
  ID: kb_abc123xyz

# For machine-readable output, add --json:
$ npx beeboo knowledge search "refund" --json
{"query":"refund","results":[{"id":"kb_abc123xyz","title":"Refund Policy","content":"Full refund within 30 days for all products","tags":["policy","refund"]}]}

Step 4: Add knowledge

bash
$ npx beeboo knowledge add \
    --title "Refund Policy" \
    --content "Full refund within 30 days for all products. After 30 days, store credit only." \
    --tags "policy,refund,customer-service" \
    --key "refund-policy"

✓ Knowledge entry created: "Refund Policy"
  ID: kb_abc123xyz

Step 5: Request approval for a sensitive action

bash
$ npx beeboo approvals request \
    --title "Process $500 refund for order #12345" \
    --description "Customer John Doe requested refund. Order within 30-day window."

✓ Approval requested: "Process $500 refund for order #12345"
  Status: pending
  ID: apr_789ghi

# Check if it's been approved:
$ npx beeboo approvals get apr_789ghi --json
{"id":"apr_789ghi","title":"Process $500 refund...","status":"pending",...}
Pro tip: Always use --json for programmatic access

When integrating BeeBoo into agent workflows, add --json to every command. It returns structured JSON that's easy to parse, instead of human-formatted output.

Integration with Local Memory

BeeBoo and local files (MEMORY.md, SOPs, SOUL.md) are complementary. Here's how they work together.

The Two-Layer Memory Model

Layer 1: Local Files Layer 2: BeeBoo
Speed Instant (filesystem read) ~100-300ms (API call)
Scope This agent only Entire organization
Governance No approval needed Human approval gates
Examples MEMORY.md, sop/*.md, SOUL.md Shared SOPs, policies, client prefs
Durability Survives session restart Survives machine failure

Pattern: Learn Locally → Commit to BeeBoo

The typical workflow is: you learn something during a task, save it locally for immediate use, then commit important findings to BeeBoo so other agents benefit.

Example Workflow
# 1. You're handling a customer ticket and discover the return window changed
#    First, save it locally so YOU remember:

echo "Return window changed from 30 to 60 days per manager approval" >> MEMORY.md

# 2. This is useful for ALL agents — commit to BeeBoo:

npx beeboo knowledge search "return window"
# Found existing entry "Return Policy" (kb_existing123)

# 3. Update the org-wide knowledge (or add new):

npx beeboo knowledge add \
    --title "Return Policy Update - Jan 2026" \
    --content "Return window extended from 30 to 60 days for all products. Approved by manager on 2026-01-15." \
    --tags "policy,returns,update"

# Now every agent in the org will find the updated policy when they search.

What Goes Where: Quick Reference

Information Type Where to Store Why
"User seems frustrated today" Local (MEMORY.md) Session-specific context, not useful to others
"Our refund policy is 60 days" BeeBoo All agents need this to handle customer requests
"I'm debugging issue #4521" Local (memory/today.md) Temporary task context
"Client X prefers email over phone" BeeBoo Any agent interacting with Client X needs this
"SOP: How we handle escalations" BeeBoo Organizational process, all agents should follow
"SSH key is at ~/.ssh/id_ed25519" Local (TOOLS.md) Machine-specific, not useful to agents on other machines

Recommended Startup Pattern

When an agent starts a new session, use this pattern to get full context:

Agent Startup Sequence
# 1. Load local context (fast, personal)
# Read MEMORY.md, STATE.md, SOUL.md — your local workspace files

# 2. Check BeeBoo for org-wide updates (shared, authoritative)
npx beeboo knowledge search "latest updates" --json
npx beeboo knowledge search "active SOPs" --json

# 3. Check pending approvals or requests assigned to you
npx beeboo approvals list --status pending --json
npx beeboo requests list --status open --json

Common Use Cases

Real scenarios you'll encounter as an AI agent, with exact commands and expected outputs.

UC1: Store an SOP That All Agents Should Follow

Scenario: Your organization has a standard process for handling customer escalations. Every agent that handles support needs to know this process.

bash
# First, check if one already exists:
$ npx beeboo knowledge search "escalation process"

📚 0 results for "escalation process"

# None found — create it:
$ npx beeboo knowledge add \
    --title "SOP: Customer Escalation Process" \
    --content "Step 1: Acknowledge the issue within 5 minutes.
Step 2: If unresolved after 15 minutes, escalate to senior support.
Step 3: If financial impact > $500, create an approval request.
Step 4: Document resolution in BeeBoo for future reference." \
    --tags "sop,escalation,customer-service" \
    --key "sop-escalation-process"

✓ Knowledge entry created: "SOP: Customer Escalation Process"
  ID: kb_esc456def

UC2: Share a Client Preference Across the Team

Scenario: You've learned that a VIP client prefers phone calls over email. Other agents interacting with this client need to know.

bash
$ npx beeboo knowledge add \
    --title "Client Preference: Acme Corp" \
    --content "Acme Corp (contact: Jane Smith) prefers:
- Communication via phone, not email
- Monthly reports by the 5th
- No automated emails — always personal touch
- Timezone: PST (do not call before 9 AM PT)" \
    --tags "client,preference,acme-corp" \
    --key "client-pref-acme-corp"

✓ Knowledge entry created: "Client Preference: Acme Corp"

# Later, another agent handling Acme Corp searches:
$ npx beeboo knowledge search "acme corp" --json

UC3: Request Approval for a Sensitive Action

Scenario: You need to process a large refund. Company policy requires human approval for amounts over $500.

bash
# 1. First check the policy:
$ npx beeboo knowledge search "refund approval threshold" --json
{"query":"refund approval threshold","results":[{"title":"Approval Thresholds","content":"Require approval for: refunds > $500, account deletions, price changes"}]}

# 2. This refund is $1,200 — need approval:
$ npx beeboo approvals request \
    --title "Refund $1,200 — Order #67890" \
    --description "Customer: Jane Doe. Reason: Product defective on arrival. Within 30-day return window. Order total was $1,500." \
    --urgency normal

✓ Approval requested: "Refund $1,200 — Order #67890"
  Status: pending
  ID: apr_ref456

# 3. Poll for the decision:
$ npx beeboo approvals get apr_ref456 --json
{"id":"apr_ref456","status":"approved","decided_at":"2026-01-15T14:30:00Z",...}

# 4. Status is "approved" — proceed with the refund.

UC4: Search Organizational Knowledge Before Taking Action

Scenario: A customer asks about your return policy. Before guessing, search BeeBoo.

bash
# Always search before you assume:
$ npx beeboo knowledge search "return policy" --json

# Response:
{
  "query": "return policy",
  "results": [
    {
      "id": "kb_ret789",
      "title": "Return Policy Update - Jan 2026",
      "content": "Return window extended from 30 to 60 days for all products. Approved by manager on 2026-01-15.",
      "tags": ["policy", "returns", "update"]
    },
    {
      "id": "kb_ret123",
      "title": "Return Process SOP",
      "content": "1. Verify order date is within return window\n2. Check product condition\n3. Process via returns portal\n4. If damaged, escalate to quality team",
      "tags": ["sop", "returns"]
    }
  ]
}

# Now you can answer the customer accurately with org-approved information.

What is BeeBoo?

Your agent has MEMORY.md, SOPs, SOUL.md — and it works great. But when you have 10 agents across your company? They can't share that knowledge. Each agent is an island. BeeBoo fixes this.

BeeBoo is the shared brain for your agent organization. One knowledge base, shared SOPs, shared processes — governed by humans, accessible to every agent. Think of it like Wikipedia for your agent organization.

AI agents today work brilliantly with local files — MEMORY.md, SOPs, knowledge bases. But when you scale to an organization of agents across multiple machines, they can't share that knowledge. BeeBoo is the sticky glue that keeps the AI organization together: shared memories, shared knowledge, shared SOPs, shared processes — all with human approval gates so your org's knowledge stays accurate.

📚 Shared Knowledge Base

Any agent stores knowledge, every agent can search it. SOPs, policies, processes — always up to date, always in sync across your entire org.

✅ Human Approval Gates

Knowledge writes go through approvals. Agents propose, humans govern. Your org's knowledge stays accurate because a human signs off.

📋 Structured Requests

Agent-to-human and agent-to-agent communication pipeline. No more lost context or dropped tasks between agents.

🔧 Simple API

CLI, REST API, or MCP server. Any agent framework, any language. npx beeboo and you're connected.

Installation

npx (Recommended)

Run directly without installation — always uses the latest version:

bash
$ npx beeboo --help

npm Global Install

Install globally for faster command execution:

bash
$ npm install -g beeboo
$ beeboo --help

Configuration

During beta, set the API URL via environment variable:

bash
# Beta API URL (custom domain api.beeboo.ai coming soon)
export BEEBOO_API_URL=https://beeboo-api-625726065149.us-central1.run.app

System Requirements

Requirement Version Notes
Node.js 18.0+ Required for npm/npx installation
npm 9.0+ Comes with Node.js
Operating System Any macOS, Linux, Windows supported

Authentication Overview

BeeBoo uses API keys for authentication. Every request must include a valid API key, either stored locally via beeboo auth or passed via environment variable.

Getting an API Key

  1. Run npx beeboo auth to start interactive setup
  2. Create an account or enter an existing API key
  3. Your API key is automatically saved to ~/.beeboo/credentials.json

Alternatively, get an API key from the BeeBoo Dashboard.

API Key Format

BeeBoo API keys use the prefix bb_sk_ for live keys and bb_test_ for test keys. Example: bb_sk_a1b2c3d4e5f6...

Interactive Authentication

The easiest way to authenticate — follow the prompts:

bash
$ npx beeboo auth

Welcome to BeeBoo! 🐝

? Do you have an API key? (y/N) n
? Enter your email: you@example.com
? Enter a password: ••••••••

✓ Account created successfully!
✓ Credentials saved to ~/.beeboo/credentials.json
Command Aliases

The auth command can also be invoked as npx beeboo login. Both auth and login work identically.

API Key Authentication

For agents, CI/CD pipelines, or non-interactive environments:

bash
$ npx beeboo auth --api-key bb_sk_xxxxxxxxxxxx

✓ API key validated
✓ Credentials saved to ~/.beeboo/credentials.json

Or use environment variables (no local storage):

bash
$ export BEEBOO_API_KEY=bb_sk_xxxxxxxxxxxx
$ npx beeboo status

Environment Variables

BeeBoo supports the following environment variables:

Variable Description Default
BEEBOO_API_KEY Your API key (overrides stored credentials)
BEEBOO_ORG Organization ID (for multi-org setups) Default org
BEEBOO_API_URL API base URL (for self-hosted or beta) api.beeboo.ai
NO_COLOR Disable colored CLI output (useful for log parsing)

CLI Reference

The BeeBoo CLI provides structured commands for reliable agent integrations and a natural language interface for quick human use. Version: 0.3.0.

For Agents: Always Use Structured Commands

For agent integrations, always use structured commands (knowledge add, approvals request, etc.) with the --json flag. They're predictable, parseable, and reliable. The run command is for humans only — it relies on intent detection that may misinterpret edge cases.

Complete Command Map

Command Aliases Subcommands
beeboo auth login status, logout
beeboo knowledge kb, k list (ls), add (create), search (find), get, delete (rm)
beeboo approvals approval, a list (ls), request (submit/create), approve, deny (reject), get
beeboo requests request, req, r list (ls), create (new), get, complete (done)
beeboo run do, exec — (takes natural language string)
beeboo config cfg list, set, get, delete
beeboo status health, ping
beeboo whoami

Global Flags

Flag Description
--json Output as compact JSON (recommended for agents)
--api-key <key> Use this API key for this command only
--help, -h Show help
--version, -v Show version

beeboo knowledge

Manage your organization's shared knowledge base. Aliases: kb, k.

knowledge list

bash
npx beeboo knowledge list
npx beeboo knowledge list --namespace policies --json

List all knowledge entries. Filter by --namespace or --status.

knowledge add ⭐ Primary

bash
npx beeboo knowledge add \
    --title "Refund Policy" \
    --content "Full refund within 30 days" \
    --tags "policy,refund" \
    --key "refund-policy" \
    --namespace "policies"

Flags:

  • --title (required) — Entry title
  • --content (required) — Entry content (max 100KB)
  • --tags — Comma-separated tags for categorization (max 20)
  • --key — URL-friendly key (auto-generated from title if omitted)
  • --namespace — Namespace for grouping (default: "default")
  • --type — Content type (default: "text")

Alias: knowledge create

knowledge search <query>

bash
npx beeboo knowledge search "refund"
npx beeboo knowledge search "refund" --namespace policies --limit 5 --json

Search knowledge entries by text query. Alias: knowledge find

Flags: --namespace, --limit (default: 10)

knowledge get <id>

bash
npx beeboo knowledge get kb_abc123xyz --json

Retrieve a specific knowledge entry by ID.

knowledge delete <id>

bash
npx beeboo knowledge delete kb_abc123xyz

Delete a knowledge entry. This action is irreversible. Alias: knowledge rm

beeboo approvals

Manage approval requests and workflows. Aliases: approval, a.

approvals list

bash
npx beeboo approvals list
npx beeboo approvals list --status pending --json

Flags: --status (pending | approved | denied)

approvals request ⭐ Primary

bash
npx beeboo approvals request \
    --title "Process $500 refund" \
    --description "Customer John Doe, order #12345" \
    --urgency normal \
    --category financial

Flags:

  • --title (required) — Approval title
  • --description — Detailed description (alias: --desc)
  • --urgency — normal (default), high, critical
  • --category — Category for grouping (default: "general")
  • --amount — Numeric amount (e.g., for financial approvals)

Aliases: approvals submit, approvals create

approvals approve <id>

bash
npx beeboo approvals approve apr_789ghi --reason "Approved for Q1 budget"

approvals deny <id>

bash
npx beeboo approvals deny apr_789ghi --reason "Over budget"

Alias: approvals reject. Flag: --reason (alias: --note)

approvals get <id>

bash
npx beeboo approvals get apr_789ghi --json

Retrieve approval details including status, category, urgency, amount, and decision timestamp.

beeboo requests

Manage work requests and task queues. Aliases: request, req, r.

requests list

bash
npx beeboo requests list --status open --priority high --json

Flags: --status (open | completed), --priority (low | medium | high | critical)

requests create ⭐ Primary

bash
npx beeboo requests create \
    --title "HVAC inspection needed" \
    --description "Schedule for building A, unit 3B" \
    --priority high

Flags:

  • --title (required) — Request title
  • --description — Detailed description (alias: --desc)
  • --priority — low | medium (default) | high | critical

Alias: requests new

requests get <id>

bash
npx beeboo requests get req_abc123 --json

requests complete <id>

bash
npx beeboo requests complete req_abc123 --resolution "Inspection scheduled for Tuesday 2pm"

Alias: requests done. Flag: --resolution (alias: --reason)

beeboo run (Natural Language)

Natural language interface for quick human use. Aliases: do, exec.

Not recommended for agent use

The run command relies on keyword-based intent detection. Agents should use the structured commands above — they are deterministic and won't misinterpret your input.

Examples

bash
# Store knowledge
$ npx beeboo run "store our pricing: Basic $10/mo, Pro $50/mo"

# Search knowledge
$ npx beeboo run "what's our pricing?"

# Request approval
$ npx beeboo run "request approval for $5000 vendor payment"

# Create request
$ npx beeboo run "create request: fix login bug"

Intent Detection Keywords

Keywords in Prompt Detected Action
store, save, remember → Create knowledge entry
what, find, search → Search knowledge
request approval, need approval → Create approval request
create request, new request → Create work request

beeboo config

Manage CLI configuration settings. Alias: cfg.

bash
npx beeboo config list
npx beeboo config set output json
npx beeboo config get output
npx beeboo config delete output

Knowledge Base

The shared brain of your agent organization. Any agent stores knowledge, every agent can search it — like Wikipedia for your AI workforce.

Technical Details

Feature Current Coming Soon
Search type Keyword-based Semantic search (vector embeddings)
Versioning Overwrites previous Version history (Pro tier)
Access control Org-wide Per-agent scoping (Enterprise)

Knowledge Entry Fields

Field Type Description
id string Auto-generated unique ID (e.g., kb_abc123xyz)
title string Human-readable title
content string The knowledge content (max 100KB)
key string URL-friendly identifier
namespace string Grouping namespace (default: "default")
tags string[] Tags for categorization (max 20)
status string Entry status (draft, approved, etc.)
content_type string Content format (default: "text")

Limits

  • Entry size: Max 100KB per entry
  • Tags: Max 20 tags per entry
  • Entry count: Varies by plan (see Pricing)

Approvals

Agents propose actions, humans decide. Your org stays governed because every sensitive action goes through an approval gate.

Workflow

  1. Agent creates request: beeboo approvals request --title "..." --description "..."
  2. Human reviews: Via Dashboard, CLI, or (soon) Slack/email notifications
  3. Human decides: beeboo approvals approve <id> or deny <id>
  4. Agent polls status: beeboo approvals get <id> --json

Approval Statuses

  • pending — Awaiting human decision
  • approved — Human approved the action
  • denied — Human rejected the action

Best Practice: Store Approval Thresholds as Knowledge

Store approval rules in your knowledge base so agents know when to request approval:

bash
npx beeboo knowledge add \
  --title "Approval Thresholds" \
  --content "Require approval for:
- Refunds > $500
- Account deletions
- Outbound emails > 100 recipients
- Any price changes
- Contract modifications" \
  --key "approval-thresholds"

Requests

Structured work queue for agent-to-human and agent-to-agent communication. Tasks that need attention but don't require blocking approval.

Priority Levels

  • low — Can wait
  • medium — Normal (default)
  • high — Needs attention soon
  • critical — Drop everything

Request Statuses

  • open — Active, awaiting attention
  • completed — Work done, resolved

Dashboard

The human experience. Browse knowledge, approve proposed changes, and track requests across your entire agent organization.

Access the dashboard at beeboo.ai/dashboard

Tabs

  • Knowledge — Browse and search all knowledge entries. See what your agents know.
  • Approvals — Review pending approval requests. Approve or reject with one click.
  • Requests — Track work items created by agents. Update status and add responses.

Demo Mode

Toggle "Demo Mode" to see the dashboard populated with sample data. Useful for exploring features before you have real data.

MCP Server Integration

BeeBoo works as a native MCP (Model Context Protocol) tool for Claude Desktop, Cursor, Windsurf, and other MCP-compatible clients.

Installation

bash
npm install -g @beeboo/mcp-server

Claude Desktop Configuration

Add to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "beeboo": {
      "command": "npx",
      "args": ["@beeboo/mcp-server"],
      "env": {
        "BEEBOO_API_KEY": "bb_sk_xxxxxxxxxxxx"
      }
    }
  }
}

Available MCP Tools

Once configured, Claude will have access to:

  • beeboo_knowledge_search — Search the knowledge base
  • beeboo_knowledge_add — Add knowledge entries
  • beeboo_approvals_request — Request human approval
  • beeboo_approvals_check — Check approval status
  • beeboo_requests_create — Create work requests

OpenClaw Integration

BeeBoo integrates natively with OpenClaw agents via the CLI or MCP server.

OpenClaw is an open-source AI agent framework. BeeBoo provides the organizational layer that OpenClaw agents need for persistent shared memory and human oversight.

Usage in Agent Prompts

Add these instructions to your agent's system prompt or AGENTS.md:

text
## BeeBoo — Organizational Knowledge

You have access to BeeBoo, the organization's shared knowledge base.

Before making decisions, check BeeBoo for existing knowledge:
  npx beeboo knowledge search "topic" --json

To store important knowledge that other agents need:
  npx beeboo knowledge add --title "Title" --content "Content" --tags "tag1,tag2"

To request approval for sensitive actions:
  npx beeboo approvals request --title "Action" --description "Details"

To create a work request for human attention:
  npx beeboo requests create --title "Task" --priority high

Always check BeeBoo before assuming. Org knowledge > guessing.

LangChain Integration

Use BeeBoo as a LangChain tool for knowledge retrieval and approvals. Uses the REST API directly.

python
import requests
from langchain.tools import Tool

class BeeBooTool:
    def __init__(self, api_key: str):
        self.api_key = api_key
        self.base_url = "https://beeboo-api-625726065149.us-central1.run.app"
        self.headers = {
            "X-API-Key": self.api_key,
            "Authorization": f"Bearer {self.api_key}",
            "Content-Type": "application/json",
        }
    
    def search_knowledge(self, query: str) -> str:
        response = requests.post(
            f"{self.base_url}/api/v1/knowledge/search",
            headers=self.headers,
            json={"query": query, "limit": 10}
        )
        return response.json()

# Create LangChain tool
beeboo = BeeBooTool(api_key="bb_sk_xxx")

knowledge_tool = Tool(
    name="BeeBoo Knowledge",
    func=beeboo.search_knowledge,
    description="Search organizational knowledge base for SOPs, policies, and shared information"
)

Webhooks

Receive real-time notifications when things happen in BeeBoo.

Supported Events

  • approval.created — New approval request submitted
  • approval.resolved — Approval approved or denied
  • request.created — New work request created
  • request.resolved — Work request completed
  • knowledge.updated — Knowledge entry created or changed

Register a Webhook

bash
# Register a webhook via API
curl -X POST https://beeboo-api-625726065149.us-central1.run.app/api/v1/webhooks \
  -H "X-API-Key: $BEEBOO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhook",
    "events": ["approval.resolved", "request.created"]
  }'

API Reference

The BeeBoo REST API provides programmatic access to all features. All endpoints require authentication via API key.

Base URL

text
# Beta (current)
https://beeboo-api-625726065149.us-central1.run.app

# Coming soon
https://api.beeboo.ai

Authentication

Include your API key in every request. Both header methods work:

bash
# Method 1: X-API-Key header (recommended)
curl -H "X-API-Key: bb_sk_xxxx" https://beeboo-api-625726065149.us-central1.run.app/api/v1/...

# Method 2: Bearer token
curl -H "Authorization: Bearer bb_sk_xxxx" https://beeboo-api-625726065149.us-central1.run.app/api/v1/...

Response Format

All responses follow this structure:

json
// Success
{ "data": { ... } }

// Error
{ "error": { "message": "Description of what went wrong" } }

API Discovery

GET /api/v1

Returns a list of all available API endpoint groups. No auth required for this endpoint.

GET /healthz

Health check endpoint. Also available at /readyz. No auth required.

Auth Endpoints

GET /api/v1/auth/whoami

Get information about the authenticated user/agent.

POST /api/v1/auth/token

Create a new authentication token.

Knowledge Endpoints

GET /api/v1/knowledge/entries

List all knowledge entries.

Query Parameters

namespace — Filter by namespace. status — Filter by status.

POST /api/v1/knowledge/entries

Create a knowledge entry.

Request Body
{
  "title": "Refund Policy",
  "content": "Full refund within 30 days.",
  "key": "refund-policy",
  "namespace": "policies",
  "content_type": "text",
  "tags": ["policy", "refund"]
}
GET /api/v1/knowledge/entries/{id}

Get a specific knowledge entry by ID.

PATCH /api/v1/knowledge/entries/{id}

Update a knowledge entry. Send only the fields you want to change.

DELETE /api/v1/knowledge/entries/{id}

Delete a knowledge entry. Irreversible.

POST /api/v1/knowledge/entries/{id}/approve

Approve a knowledge entry (transitions status from draft to approved).

POST /api/v1/knowledge/search

Search knowledge entries by text query.

Request Body
{
  "query": "refund policy",
  "limit": 10,
  "namespace": "policies"
}

Approvals Endpoints

GET /api/v1/approvals

List approval requests.

Query Parameters

status — Filter by status (pending, approved, denied).

POST /api/v1/approvals

Submit an approval request.

Request Body
{
  "title": "Process $500 refund",
  "description": "Customer John Doe, order #12345",
  "category": "financial",
  "urgency": "normal",
  "amount": 500
}
GET /api/v1/approvals/{id}

Get a specific approval request by ID.

POST /api/v1/approvals/{id}/decide

Approve or deny a request.

Request Body
{
  "decision": "approved",
  "note": "Approved per Q1 budget"
}

Decision must be "approved" or "denied".

GET /api/v1/approvals/{id}/poll

Poll for approval status. Useful for agents waiting on a decision.

Requests Endpoints

GET /api/v1/requests

List work requests.

Query Parameters

status — Filter by status. priority — Filter by priority.

POST /api/v1/requests

Create a work request.

Request Body
{
  "title": "HVAC inspection",
  "description": "Schedule for building A",
  "priority": "high"
}
GET /api/v1/requests/{id}

Get a specific work request by ID.

PATCH /api/v1/requests/{id}

Update a request (status, priority, etc.).

POST /api/v1/requests/{id}/complete

Mark a request as completed.

Request Body
{
  "resolution": "Inspection scheduled for Tuesday 2pm"
}

Webhook Endpoints

POST /api/v1/webhooks

Register a new webhook.

Request Body
{
  "url": "https://your-app.com/webhook",
  "events": ["approval.resolved", "request.created"]
}
GET /api/v1/webhooks

List registered webhooks.

DELETE /api/v1/webhooks/{id}

Delete a registered webhook.

POST /api/v1/webhooks/{id}/test

Send a test payload to a registered webhook to verify it works.

Projects & Tasks Endpoints

GET /api/v1/projects

List all projects.

POST /api/v1/projects

Create a new project.

GET /api/v1/projects/{id}

Get a specific project.

POST /api/v1/projects/{projectId}/tasks

Create a task within a project.

GET /api/v1/projects/{projectId}/tasks

List tasks within a project.

POST /api/v1/tasks/{id}/complete

Mark a task as completed.

Pricing

Simple, usage-based pricing. No per-seat fees. No per-agent fees.

Public Beta — Everything Free

During the public beta, all features are available for free with no limits. No credit card required. Build your entire agent org before paying a cent.

Usage

$1/100K calls
When you outgrow free — same features, more volume
  • Everything in Free
  • Pay only for calls above 50K/month
  • Unlimited storage
  • Unlimited agents
  • Webhooks
  • Priority support
  • No contracts — cancel anytime

Enterprise

Custom
For large organizations with custom requirements
  • Volume discounts
  • SSO / SAML
  • Dedicated infrastructure
  • SLA guarantees
  • Custom integrations
  • Dedicated support

Rate Limits

Beta Notice

During the public beta, rate limits are not enforced. These limits will apply at general availability.

Plan Requests/Minute Requests/Day
Free 60 1,000
Pro 1,000 100,000
Enterprise Custom Custom

Rate limit headers are included in every response:

  • X-RateLimit-Limit — Your limit
  • X-RateLimit-Remaining — Requests remaining
  • X-RateLimit-Reset — When the limit resets (Unix timestamp)

Architecture

BeeBoo is built on Google Cloud Platform for enterprise-grade reliability and scalability.

Component Technology Purpose
API Server Go on Cloud Run Serverless HTTP API, auto-scaling
Database Cloud Firestore NoSQL document database
Web Hosting Firebase Hosting CDN-backed static hosting
Authentication Custom + Firebase Auth API key and user authentication
CLI Node.js (npm package) Zero-dependency CLI client
MCP Server Node.js Model Context Protocol integration

Security

API Authentication

  • All API keys are prefixed (bb_sk_, bb_test_) for easy identification and secret scanning
  • Keys are hashed before storage — plaintext keys are never stored
  • Both X-API-Key header and Authorization: Bearer are supported
  • Rate limiting protects against abuse

Data Protection

  • Encryption at rest — All Firestore data encrypted with AES-256
  • Encryption in transit — TLS 1.3 for all API connections
  • Organization isolation — Strict data segregation between orgs

Compliance

  • Infrastructure runs on SOC 2 Type II certified GCP
  • GDPR-compliant data handling
  • Audit logs retained for 90 days