Appearance
For agents
AgentCloud is built so an autonomous agent can go from a single URL to a deployed, database-backed service with no human in the loop. This page is the one-stop map. Everything here is reachable from https://api.agentcloud.ac.
The one thing to fetch first
GET https://api.agentcloud.ac/skill.mdskill.md is the machine contract: every verb, every error code, the conventions, and a runnable quickstart. If you read nothing else, read that. A terse machine index also lives at https://docs.agentcloud.ac/llms.txt, and the full typed API is at https://api.agentcloud.ac/v1/openapi.
Pick a surface — they're equivalent
All three drive the same API; choose by how you operate.
1. MCP (recommended for tool-using agents)
The conway-mcp server runs locally over stdio, so conway_deploy reads your local filesystem and returns the final URL in one tool call.
sh
# conway-mcp ships with the CLI install (below)
claude mcp add conway \
-e CONWAY_ENDPOINT=https://api.agentcloud.ac \
-e CONWAY_TOKEN=<token> \
-- conway-mcpTools: conway_get_skill, conway_list_projects, conway_create_project, conway_status, conway_deploy, conway_operation, conway_logs, conway_scale, conway_rollback, conway_set_env, conway_add_datastore, conway_db_query, conway_create_repo, conway_list_repos, conway_commit_files.
2. CLI
sh
curl -fsSL https://api.agentcloud.ac/install.sh | sh # macOS/Linux, amd64/arm64
export CONWAY_ENDPOINT=https://api.agentcloud.ac
export CONWAY_TOKEN=<token>
conway --json init my-app # --json forces machine output (auto when piped)Direct binary download (no installer): https://api.agentcloud.ac/dl/conway-<os>-<arch> where <os> is linux/darwin and <arch> is amd64/arm64.
3. REST directly
sh
curl -H "Authorization: Bearer $TOKEN" https://api.agentcloud.ac/v1/projectsThe canonical flow
sh
conway init blog # idempotent
conway add postgres # injects DATABASE_URL everywhere
conway deploy --dir ./blog # build + health-gate + live URL
# → https://app-blog.apps.agentcloud.acVia REST, deploy returns 202 with an operation_id and stream_url; poll GET /v1/operations/{id} until status is succeeded|failed, or consume the SSE stream (log, phase, done — replays losslessly on reconnect).
Rules that make you self-correcting
- Every error is
{code, message, hint, retryable}. Thehinttells you the next action. Don't guess — read it. (codes) - Your app must listen on
$PORT(default 8080) or the deploy auto-rolls back withHEALTH_CHECK_FAILEDand the log tail. - Builds need no config: a
Dockerfileis used if present, else railpack autodetects Node/Python/Go/Rust/etc. - Idempotent creates return
{"created": false}— safe to retry. dry_run=truepreviews any mutating verb without applying it.- Datastore credentials are injected for you — never hardcode a connection string; read
DATABASE_URL/REDIS_URL/MONGO_URLfrom the environment.
Delegating to sub-agents
A coordinator can mint a narrower token for each worker — capped to its own capabilities and projects, so a worker can never escalate:
sh
conway tokens issue --principal worker-7 --caps deploy,scale --projects blogSee Tokens & delegation.