Built for AI agents. Friendly to humans too.
Drop our MCP server into any MCP-compatible client. Paste our OpenAPI URL into any tool-calling agent builder. Or just curl. Your agent gets documented ABN capabilities in seconds - on a single credit balance.
Customers embed ABN services. Use your key to power product features: chat, coding, images, voice, transcription, agents, jobs, and credits. For platform rules, see the Acceptable Use Policy .
/api/v1/images, /api/v1/chat, /api/v1/app-agents/chat, /api/v1/voice/synthesize, and /api/v1/code/chat with intent fields. Your app says what it needs; ABN handles the execution behind the scenes. If a field is not documented for an ABN endpoint, do not send it.https://automatebusinessnow.com/api/v1. If your code sets ABN_BASE_URL=https://automatebusinessnow.com/api, append /v1/.... If it sets the root domain, append /api/v1/.... The root-domain /v1/... path is not mounted.Building an agent? Point it at /llms.txt for a 60-second self-onboarding manifest, or /llms-full.txt for the full reference.
Pick your path.
MCP server
Drop the snippet into any MCP-compatible client. Restart, and your assistant has the full ABN tool catalog.
Get config->Path 2 - agenticOpenAPI Action
Paste our OpenAPI URL into any tool-calling agent builder. The schema teaches it every endpoint.
Get spec->Path 3 - classicDirect HTTPS
Plain JSON over HTTPS. Any HTTP client. Bring your own SDK or call us with curl.
See examples->Any MCP-compatible client
Open your client's mcp.json config and paste this. Restart the client. Your assistant now has tools to call text employees, generate images and voice through ABN, transcribe audio, check balance, poll jobs, and invoke agents your account owns.
{
"mcpServers": {
"abn": {
"url": "https://automatebusinessnow.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer abn_YOUR_KEY_HERE"
}
}
}
}On first call the assistant uses your bearer key. The server is stateless JSON-response Streamable HTTP, no local install required.
OpenAPI Action for any agent framework
Our full API surface is published as an OpenAPI 3.1 document. Point your agent builder at it; it auto-generates tools.
https://automatebusinessnow.com/api/v1/openapiMost agent builders: Configure -> Actions -> Import URL-> paste the link above. Set the auth as API Key, Bearer, paste your abn_... token.
Just curl (or any HTTP client)
No SDK lock-in. Plain JSON, plain HTTPS. Replace abn_YOUR_KEY_HERE with a key from /app/api-keys.
curl https://automatebusinessnow.com/api/v1/employees \
-H "Authorization: Bearer abn_YOUR_KEY_HERE"curl https://automatebusinessnow.com/api/v1/chat \
-H "Authorization: Bearer abn_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-H "X-Request-ID: req_your_trace_id_123" \
-d '{
"employeeSlug": "copywriter",
"prompt": "Visitor asks whether Detroit Auto Parts has brake pads in stock",
"latencyProfile": "website_chat",
"responseFormat": "plain_text",
"stream": true
}'Use latencyProfile: "website_chat" plus responseFormat: "plain_text" for website chat widgets. This keeps replies short and optimized for live storefront response time. Every chat response includes requestId, latencyMs, and the X-ABN-Request-ID header for support debugging. Set stream: true or send Accept: text/event-stream to receive start, text, done, or error SSE events.
curl https://automatebusinessnow.com/api/v1/app-agents/chat \
-H "Authorization: Bearer abn_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-H "X-ABN-End-User-ID: visitor_hash_123" \
-H "X-Request-ID: req_payroll_george_001" \
-d '{
"agent": {
"name": "George",
"instructions": "You are the payroll app assistant. Use payroll tools for payroll facts. Never invent pay numbers."
},
"messages": [
{ "role": "user", "content": "Why is Maria's net pay lower this run?" }
],
"tools": [
{
"name": "get_employee_paycheck",
"description": "Fetch paycheck details for an employee in a pay run.",
"input_schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"employee_id": { "type": "string" },
"payrun_id": { "type": "string" }
},
"required": ["employee_id", "payrun_id"]
}
}
],
"context": {
"tenant_id": "company_123",
"screen": "payrun_detail",
"payrun_id": "run_456"
}
}'Use /api/v1/app-agents/chat when the assistant belongs to your product, not to ABN. Your backend sends messages and tool schemas. ABN returns requires_action with tool calls when data is needed. Your backend executes the tool, appends a tool_result block, then calls ABN again for the final answer.
curl https://automatebusinessnow.com/api/v1/images \
-H "Authorization: Bearer abn_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A pixel-art mushroom on cream paper",
"aspectRatio": "1:1",
"quality": "high",
"style": "illustration"
}'Pass prompt, aspectRatio, quality, and style; ABN selects the right model internally. The API is capability-native, not model-native - that's the whole point.
curl https://automatebusinessnow.com/api/v1/voice/synthesize \
-H "Authorization: Bearer abn_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-o spoken.mp3 \
-d '{
"text": "Hi there, thanks for calling Hearth Coffee.",
"voice": "warm-female",
"format": "mp3",
"model": "fast"
}'Catalog voices: warm-female, deep-male, energetic-female, british-male, young-female, podcast-host. Stream returns audio/mpeg or audio/L16 (PCM 16kHz) for voice-agent pipelines. Billed at 1 credit per 50 characters (model: "fast") or 1 credit per 25 characters (model: "quality"). Use the ABN catalog voice keys shown here.
curl https://automatebusinessnow.com/api/v1/voice/transcribe \
-H "Authorization: Bearer abn_YOUR_KEY_HERE" \
-F "audio=@recording.mp3" \
-F "language=en"Returns text + word-level timestamps. Accepts mp3, wav, m4a, ogg, webm up to 25 MB. Add -F "diarize=true" for speaker labels. Billed at 1 credit per 2 seconds of audio.
Full endpoint reference at /docs.
One key. Your whole app.
A single abn_live_* key on a verified-org account unlocks the ABN capabilities your account is approved to use - text employees, workflows, agents, MCP. ABN handles model orchestration inside each service and bills against one credit balance.
App agents with custom tools
AvailablePower assistants inside your own product. Send messages and tool schemas, execute tool calls in your backend, then let ABN return the final answer with request ids, credits, and receipts.
app-agents:chatAI employees (text)
Availablecopywriter, business-consultant, product-manager, financial-analyst, customer-success, web-researcher, automation-architect, vibe-coder - discover the current roster at /employees.
employee:*Image generation
Verified-org requiredIntent fields (prompt / quality / aspectRatio / style). Your app calls /v1/images; ABN returns the image artifact and credit receipt.
image:generateVideo generation
Verified-org requiredShort-form clip generation through the ABN video service when enabled on your account.
video:generateImage upscale
Verified-org requiredUpgrade any image (your upload or one returned from /images) to a higher-resolution artifact.
image:upscaleAudio generation
Verified-org requiredText-to-music / SFX through ABN intent fields when enabled on your account.
audio:generateVoice synthesize + transcribe
Verified-org requiredSix ABN catalog voices (warm-female, deep-male, energetic-female, british-male, young-female, podcast-host). Streaming TTS + word-timestamp transcription.
voice:synthesize, voice:transcribeAutonomous agents
AvailableInvoke any agent you've configured at /app/agents from your customer's flow.
agents:invokeABN Coder
AvailableThe same first-principles agent that powers /coder + Studio, callable directly via /v1/code/chat.
coder:chatAI Employee Local Bridge
AvailableA signed-in ABN Coder / Studio acts as a permissioned bridge so your ABN employees can read local files through it — under your access mode + granted roots, secrets scrubbed. Endpoints: /v1/code/bridge/poll + /respond.
coder:chatFiles, assets, projects, webhooks
AvailableCustomer-side artifact storage for code/design/website/voice flows that produce things you hold onto across requests.
files:read, files:write, assets:*, projects:*, webhooks:writeJobs + credits
AvailablePoll async jobs, read the credit ledger, attribute spend to a specific end-user-id.
jobs:read, credits:readStandard rule: if an endpoint field is documented here, use it. If it is not documented, do not send it. Your app integrates with ABN services, and ABN keeps the internal model/runtime details behind the service boundary.
Ship to browser + mobile without embedding your root key
Root abn_live_*keys are backend-only. To call ABN from your customer's browser or mobile app, mint a short-lived abnct_*client token from YOUR backend and hand it to the frontend. The token is origin-locked, scoped to a subset of the parent's capabilities, and bound to a stable opaque end-user id so spend + abuse are scoped per end-user.
# YOUR BACKEND (never the browser)
curl https://automatebusinessnow.com/api/v1/tokens/mint \
-H "Authorization: Bearer abn_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"end_user_id": "your-stable-user-id-1234",
"scopes": ["employee:copywriter", "image:generate", "voice:synthesize"],
"allowed_origins": ["https://app.yourcompany.com"],
"ttl_seconds": 900
}'
# Response: { "token": "abnct_<64-hex>", "expires_at": "...", ... }
# Send the abnct_ token to your frontend. Your frontend then calls
# /api/v1/* with Authorization: Bearer abnct_... - origin-locked,
# short-lived, scoped narrower than the parent root key.- Default TTL: 15 minutes. Max: 24 hours. Rotate frequently.
- Origin-bound: the browser request's
Originheader must match one of the token'sallowed_origins. Missing or non-matching Origin returns 401. - Scope subset: the token can only hold scopes the parent root key already holds. Tokens never escalate.
- End-user attribution:
end_user_idis required at mint time. ABN attributes every credit burn under this token to that id so you can suspend a single abusive end-user without rotating your root key. - Revoke any time:
POST /api/v1/tokens/revokewith the parent bearer and thetoken_id. List withGET /api/v1/tokens/list.
Drop-in system prompt for your agent
Copy-paste this into your agent's system message so it knows exactly how to call us. Works in any agent runtime that accepts a system prompt.
You can call the automatebusinessnow API at https://automatebusinessnow.com/api/v1.
Auth: pass `Authorization: Bearer abn_YOUR_KEY_HERE` on every request.
Available endpoints (ABN capabilities):
POST /chat - text employees (copywriter, business-consultant, customer-service, etc.)
POST /app-agents/chat - app-native assistants with developer-defined tools
GET /employees - valid employee slugs + scope/access metadata
POST /code/chat - ABN Coder (same first-principles agent as /coder + Studio)
POST /code/bridge/poll - AI Employee Local Bridge: a signed-in ABN Coder/Studio polls for local tool requests
POST /code/bridge/respond - return a bridged tool result (file read/search) the employee asked for
POST /images - generate an image (intent fields: prompt, aspectRatio, quality, style)
POST /voice/synthesize - text-to-speech (streaming, voice-agent ready)
POST /voice/transcribe - speech-to-text (mp3/wav/m4a, word timestamps)
POST /agents/{id}/invoke - run an autonomous agent
POST /tokens/mint - mint a short-lived abnct_* client token (browser/mobile-safe)
POST /tokens/revoke - revoke a client token by id
GET /tokens/list - list active client tokens
GET /credits - current credit balance
GET /status - public health check (no auth)
Customers call ABN services. Partner keys pass documented intent fields
(prompt, aspectRatio, quality, style, voice from the ABN catalog), and ABN
handles execution behind the scenes. Do not send modelId, provider, or
vendorApiKey fields; those are
not part of the standard app API.
Every response is JSON shaped { "ok": true/false, "creditsUsed": ..., "balance": ... }.
For /chat website widgets, use latencyProfile="website_chat", responseFormat="plain_text", and stream=true.
Streaming returns text/event-stream events: start, text, stage/image when available, done, or error.
Responses include requestId and latencyMs; send X-Request-ID to make ABN echo your own trace id.
Failed jobs auto-refund. Per-key rate limits return 429.
Full reference: https://automatebusinessnow.com/docsHow billing works
- One credit balance for everything - web app, autonomous agents, API. View at /app/credits.
- Failed jobs auto-refund. Every successful response includes
creditsUsedand the newbalance. - Top-ups never expire. Plan credits refresh monthly. Free signup tier: 200 credits, no card.
- Per-key safety.A single key burning > 100,000 credits in 60 seconds ($1,000/min sustained) is auto-revoked. That ceiling sits comfortably above the most expensive single call (a Veo 3 video is ~1,800 credits) - it's a runaway-loop circuit, not a per-call cap. Read more.
Questions? Reply to hello@automatebusinessnow.com. Real human, one business day max.