Build with Smoo AI
Integrate AI-powered customer support, configuration management, knowledge bases, and testing infrastructure into your applications with our comprehensive REST API.
API Reference
Interactive API documentation with Try It support
Documentation
Guides for authentication, SDKs, config, and testing
Open Source
Production-ready packages for TypeScript, Python, Rust, and Go
SDKs & Libraries
Client libraries to accelerate your integration
Smooth (th)
The technical deep-dive on the open-source operator engine and CLI
LLM Gateway
OpenAI-compatible gateway — models, pricing, and API reference
Observability
Auto-instrumented agent metrics, dashboards, and ingest API
Audit Logs
Tamper-evident compliance logging with a hash-chained event API
Get Started in Minutes
Three steps to your first API call.
Create an account
Sign up for Smoo AI and create an organization from the dashboard.
Generate API credentials
Create an OAuth 2.0 client from Settings > API Keys, or run `smoo api keys create --type m2m`, to get your client ID and secret.
Make your first request
Authenticate with `smoo auth login --m2m` (or the token endpoint) and start calling the API to manage agents, config, knowledge, and more.
Authenticate & make your first call
// 1. Exchange client credentials for an access token
const tokenRes = await fetch("https://auth.smoo.ai/token", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
grant_type: "client_credentials",
provider: "client_credentials",
client_id: process.env.SMOO_CLIENT_ID!,
client_secret: process.env.SMOO_CLIENT_SECRET!,
}),
});
const { access_token } = await tokenRes.json();
// 2. Call the API with the bearer token
const orgs = await fetch("https://api.smoo.ai/organizations", {
headers: { Authorization: `Bearer ${access_token}` },
}).then((r) => r.json());
console.log(orgs);Create a CRM contact
Same request in every language. org_id comes from the organizations list above.
const res = await fetch("https://api.smoo.ai/organizations/{org_id}/crm/contacts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SMOO_ACCESS_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"firstName": "Ada",
"lastName": "Lovelace",
"email": "ada@example.com",
"phone": "+15555550100"
}),
});
const data = await res.json();
console.log(data);Drive Smoo AI from your coding agent
th is a single ~10MB static binary that speaks to the same API — auth, CRM, knowledge, config, jobs, and observability. Because every command is scriptable and returns JSON, an agent like Claude Code can act on your org directly: read state, make a change, verify the result.
you ▸ add ada@example.com to the CRM and show me how many contacts we have
agent ▸ smoo api crm contacts create ./ada.json
{ "id": "cnt_9f3a...", "email": "ada@example.com", "createdAt": "2026-07-03T..." }
agent ▸ smoo api crm contacts list --json | jq 'length'
128
agent ◂ Done — Ada Lovelace is contact cnt_9f3a. Your org now has 128 contacts.Install once
brew install SmooAI/tools/th or the curl installer. Then smoo auth login --m2m.
Claude Code plugin
Install the smooth plugin marketplace, then /plugin install smooth-agent@smooth to teach your agent the commands.
Open source
Built on smooth-operator, our Rust agent framework. Extend it or self-host.