Developers

Configure My AI for developers

Configure My AI turns one saved configuration — provider, model, system prompt, rules and context — into an HTTP endpoint you can call from anywhere. This page lists every developer resource: the REST API and its OpenAPI specification, endpoint tokens and their scopes, the cma-agent command-line tool, the embeddable widgets, and the files an AI agent reads to work all of this out for itself.

Call the Configure My AI API

Build a configuration in the app, attach an endpoint to it, then generate a token for that endpoint. The configuration holds the provider, the model, the system prompt and the rules, so a request body is only the conversation.

curl -X POST https://configuremyai.com/api/v1/{workspace}/{endpoint} \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer cmai_your_token" \
  -d '{"messages":[{"role":"user","content":"Summarise this quarter."}]}'

The call blocks until the answer is ready, up to 300 seconds. Past that you get 504 with a poll_url; the work is still running and the status operation collects it.

Full API reference Endpoint tokens Endpoints

Machine-readable files

Fixed addresses, all generated from the running app rather than checked in, so none of them can describe a version of the API that no longer exists.

  • /openapi.json OpenAPI 3.1. Every operation has a unique operationId, typed parameters, response schemas and a description, so it converts straight into LLM function definitions. Also served as YAML at /openapi.yaml.
  • /llms.txt The llmstxt.org index: what this service is, when to reach for it, when not to, and where everything else lives. The long form is at /llms-full.txt.
  • /.well-known/oauth-protected-resource RFC 9728 protected-resource metadata: the named scopes a credential can carry, how a token is presented, and where the docs are.
  • /api/public/v1 The public catalogue. No credential: which providers and models exist, what the plans cost, and whether the service is up.
  • /sitemap.xml Every indexable URL with a lastmod date.

Every public page also answers Accept: text/markdown with a markdown representation of itself, and sets Vary: Accept so a cache cannot hand you the wrong one.

Authentication and scopes

Endpoint tokens are generated by the account holder in the app — no sales step, no approval queue. One token is scoped to one endpoint and carries its own rate limit and expiry. Send it as Authorization: Bearer cmai_…, or as X-API-Key where you cannot set that header.

The named permissions a credential can hold are published as scopes_supported in the protected-resource metadata, and on every operation in the OpenAPI document:

Scope What it allows
endpoints:invoke Send messages to an AI endpoint you hold a token for, and read the result.
endpoints:read Read the status of a request you previously submitted to an endpoint.
bots:read List the bots in the workspace the token belongs to, and read a bot run's status and transcript.
bots:run Start a bot run: open a conversation, post an instruction, and queue the agentic loop.
bots:steer Interject into a bot run already in flight, so it changes course mid-turn.
configurations:read List the AI configurations in the signed-in workspace.
chats:read List conversations in the signed-in workspace.
chats:write Start a conversation and post messages to it.
profile:read Read the signed-in account and its active workspace.
devices:read Read what the server believes about a paired machine.
devices:write Heartbeat, verify, and report installed runtimes for a paired machine.
jobs:claim Claim the next unit of work queued for a paired machine.
jobs:write Report progress and post the result of a claimed job.
repos:write Drive git and open pull requests through the connected GitHub account.
web:read Fetch, browse, and search the web through the server on a run behalf.
billing:read Read the workspace billing summary. Read-only; nothing here can spend.
notifications:read Read unread notification counts for the signed-in account.
notifications:write Mark notifications read and register a push token.
public:read Read the public service catalogue. Requires no credential.

Endpoint tokens — docs Protected-resource metadata

The cma-agent command-line tool

cma-agent is the official CLI. It pairs a machine you own to your account, then runs Configure My AI work through a coding CLI already installed and signed in there — Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, CodeWhale or Ollama — so a configuration can spend a subscription you already pay for instead of an API key.

brew install 9thdesigns/tap/cma-agent
cma-agent pair
cma-agent status

Not on Homebrew? npm install -g https://github.com/9thdesigns/cma-agent installs the same thing; it needs Node 20 or newer.

About cma-agent Source Local machine — docs

Embedding and integrations

  • Chat widgets A configured assistant on your own site, with a loader script and its own token.
  • Embed widgets Embeddable forms and shareable mini apps that run off the same configuration as the API.
  • Bots and the gateway Scheduled and event-driven work, and the gateway that stops a bot that has misunderstood its job.

Documentation