Built for AI Teams

Let your AI agent set up, configure, and test your chatbot. Our Management API gives Claude Code, ChatGPT, and other AI tools full control over every feature — the same power as the dashboard, accessible programmatically.

Get Started

How It Works

1
Sign up at ez-bot.ai and go to the Developer tab in your dashboard
2
Generate your API key and copy the AI prompt
3
Paste the prompt into Claude Code, ChatGPT, or any AI agent
4
Your AI reads GET /schema, discovers all capabilities, and builds your bot
5
It uploads your content, configures design, tests answers, and confirms everything works
6
Add the embed code to your website — your chatbot is live

Authentication

All requests require a Bearer token in the Authorization header.

# Every request needs this header Authorization: Bearer cbp_your_api_key_here

Generate your API key from the Developer tab in the dashboard. Rate limit: 120 requests/minute.

Quick Start (Python)

# Full bot setup in Python — or let your AI agent run these calls import requests API = "https://chat.ez-bot.ai/api/v2" HEADERS = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"} # 1. Check what's available schema = requests.get(f"{API}/schema", headers=HEADERS).json() # 2. Configure the bot requests.patch(f"{API}/config", headers=HEADERS, json={ "bot_name": "Acme Support", "primary_color": "#2563eb", "welcome_message": "Hi! How can I help you today?", "allowed_domain": "acme.com", "system_prompt": "You are a helpful support agent for Acme Corp.", "starter_questions": ["What do you sell?", "Return policy?", "Contact support"], }) # 3. Upload knowledge base content requests.post(f"{API}/knowledge/documents", headers=HEADERS, json={ "filename": "faq.md", "content": "# FAQ\n\n## Return Policy\nWe offer 30-day returns on all items...", }) # 4. Add custom responses for instant answers requests.post(f"{API}/knowledge/responses/bulk", headers=HEADERS, json={ "responses": [ {"trigger_phrases": "return policy, refund", "response": "We offer 30-day returns. Visit acme.com/returns"}, {"trigger_phrases": "pricing, cost, price", "response": "Plans start at $19/mo. See acme.com/pricing"}, ] }) # 5. Test the bot result = requests.post(f"{API}/test/batch", headers=HEADERS, json={ "tests": [ {"question": "What is your return policy?", "expected_keywords": ["30", "return"]}, {"question": "How much does it cost?", "expected_keywords": ["$19"]}, ] }).json() print(f"Tests: {result['passed']}/{result['total']} passed") # 6. Confirm ready health = requests.get(f"{API}/health", headers=HEADERS).json() print(f"Status: {health['status']}") # "ready"

Endpoint Reference

Discovery & Health

MethodEndpointDescription
GET/schemaFull API schema — AI agents call this first
GET/healthBot readiness (LLM up, KB chunks, config status)

Account

MethodEndpointDescription
GET/accountAccount info, plan, limits, usage stats
PATCH/accountUpdate company name or email
PUT/account/passwordChange password

Widget Configuration

MethodEndpointDescription
GET/configRead current widget configuration
PATCH/configPartial update — only send fields to change
PUT/configReplace entire configuration

Knowledge Base

MethodEndpointDescription
GET/knowledge/documentsList documents with chunk counts
POST/knowledge/documentsUpload file or raw text content
DELETE/knowledge/documents/<id>Delete document + embeddings
GET/knowledge/responsesList custom keyword responses
POST/knowledge/responsesCreate single response
POST/knowledge/responses/bulkBulk create/replace responses
PUT/knowledge/responses/<id>Update response
DELETE/knowledge/responses/<id>Delete response
POST/knowledge/crawlCrawl a website for KB
GET/knowledge/crawl/statusPoll crawl progress
GET/knowledge/sync/<doc_id>Get auto-sync config
PUT/knowledge/sync/<doc_id>Update sync config

Testing

MethodEndpointDescription
POST/test/chatTest message with debug info (no usage tracking)
POST/test/batchBatch test with expected keywords — pass/fail
POST/test/webhookTest webhook URL
POST/test/smtpTest SMTP config

Analytics & Conversations

MethodEndpointDescription
GET/analyticsFull dashboard analytics
GET/analytics/conversationsConversation list (paginated)
GET/analytics/conversations/<id>Conversation messages
GET/analytics/leadsLead list (paginated)
GET/analytics/handoffsHandoff requests
POST/analytics/handoffs/<id>/resolveResolve handoff

Live Chat Inbox

MethodEndpointDescription
GET/inboxList inbox sessions
GET/inbox/<session_id>/messagesGet session messages
POST/inbox/<session_id>/replySend operator reply

Integrations & Actions (Pro/Business)

MethodEndpointDescription
GET/connectorsAvailable connectors (Shopify, Stripe, Lemon Squeezy, etc.)
GET/integrationsList integrations
POST/integrationsCreate integration (manual or connector)
PUT/integrations/<id>Update integration
DELETE/integrations/<id>Delete integration
GET/integrations/<id>/actionsList actions
POST/integrations/<id>/actionsCreate action with slots
PUT/actions/<id>Update action
DELETE/actions/<id>Delete action
POST/actions/toggleEnable/disable action bot

Quality Assurance

MethodEndpointDescription
POST/quality/runStart automated QA test
GET/quality/runsList QA runs
GET/quality/runs/<id>QA run results

Key Concepts

Knowledge Base Upload

Two ways to add knowledge:

Raw text (recommended for AI agents): Send JSON with content and filename fields. Great for AI-generated content.

File upload: Send multipart/form-data with a file field. Accepts .txt, .pdf, .md, .csv.

Custom Responses

Keyword-triggered instant responses bypass the AI entirely. Perfect for FAQ answers with direct links.

trigger_phrases: comma-separated keyword groups. All words in a group must appear in the visitor's message. Most specific match wins.

Batch Testing

The /test/batch endpoint lets your AI verify the bot works correctly. Send questions with expected keywords — get a pass/fail for each.

Test results don't count toward usage limits. Run as many tests as you need.

Pre-Built Connectors

Connect Shopify, Stripe, Zendesk, and more with just API credentials. Call GET /connectors to see available types and required fields, then POST /integrations with the credentials.

Ready to let your AI build your chatbot?

Sign up, generate an API key, and paste the prompt into your AI agent.

Get Started