Available
API
Best for autonomous agents and direct integrations.
For AI-native teams
Drop in your git URL and Nyxory takes it from there. Nyxory analyzes it, deploys it, and returns a live public URL in seconds - without dashboards, YAML, or DevOps handoffs.
Available now: API and CLI. Coming soon: MCP, Claude Code plugin, and Cursor plugin.
A human-friendly overview first, then one-shot technical paths your agent can consume immediately.
Available
Best for autonomous agents and direct integrations.
Available
Best for builders and fast local-to-live workflows.
Coming soon
Tool-native channel for connected agent ecosystems.
Coming soon
Direct deploy flow from Claude Code context.
Coming soon
Ship from Cursor without leaving your coding loop.
`POST /v1/apps` creates and deploys in one shot. You get a live URL and an anon_key that your agent can reuse as identity on follow-up calls.
curl -X POST https://api.nyxory.live/v1/apps \
-H "Content-Type: application/json" \
-d '{"vcs_url":"https://github.com/acme/hello-world","ref":"main"}'
# -> {
# "app_id": "app_x9f2",
# "url": "https://x9f2.nyxory.live",
# "anon_key": "nyx_anon_...", // save this: it is your identity
# "expires_at": "2026-04-27T11:19:00Z",
# "status": "live"
# }Start with CLI for speed, then use curl or SDK in autonomous flows. Snippets stay one-shot parseable.
curl -fsSL https://get.nyxory.live | sh
nyx create https://github.com/acme/hello-world --ref main
nyx status app_x9f2
# signed-up path
nyx login
nyx create https://github.com/acme/hello-world --ref main# 1) create + deploy from git
CREATE_JSON=$(curl -sS -X POST https://api.nyxory.live/v1/apps \
-H "Content-Type: application/json" \
-d '{"vcs_url":"https://github.com/acme/hello-world","ref":"main"}')
# 2) persist anon key locally (agent identity)
echo "$CREATE_JSON" | jq -r '.anon_key' > .nyxory_anon_key
echo "$CREATE_JSON" | jq -r '.app_id' > .nyxory_app_id
# 3) reuse key for every follow-up call
curl -sS https://api.nyxory.live/v1/apps/$(cat .nyxory_app_id) \
-H "Authorization: Bearer $(cat .nyxory_anon_key)"import { Nyxory } from "@nyxory/agent";
const nyx = new Nyxory(); // auto-loads key, or mints anon key on first create
const app = await nyx.apps.create({
vcs_url: "https://github.com/acme/hello-world",
ref: "main",
});
console.log(app.url, app.anon_key);Already signed up? Generate a pro_key, set NYX_KEY in your agent environment, and every deployment is owned by your account from the start.
Get accessFull schema and enums: /openapi.json
`claim` lets you adopt into your account (free or paid) while keeping URL and app identity stable.
POST /v1/apps
Auth: none (mints anon key) OR Bearer <pro_key>
Body: { "vcs_url": "https://github.com/acme/hello-world", "ref": "main", "env": { "FOO": "bar" } }
Response: { "app_id": "app_x9f2", "url": "https://x9f2.nyxory.live", "anon_key": "nyx_anon_...", "status": "live" }GET /v1/apps/:id
Auth: Bearer <anon_key | pro_key>
Response: { "app_id": "app_x9f2", "url": "https://x9f2.nyxory.live", "status": "live", "expires_at": "..." }POST /v1/apps/:id/redeploy
Auth: Bearer <anon_key | pro_key>
Body: { "ref": "main" }
Response: { "deployment_id": "dep_4451", "status": "building" }POST /v1/apps/:id/claim
Auth: Bearer <anon_key | pro_key>
Body: { "pro_key": "nyx_pro_...", "tier": "pro", "budget": { "currency": "USD", "monthly": 50 } }
Response: { "app_id": "app_x9f2", "tier": "pro", "claimed": true, "url": "https://x9f2.nyxory.live" }DELETE /v1/apps/:id
Auth: Bearer <anon_key | pro_key>
Response: { "deleted": true }Canonical auth rule: after create, send Authorization: Bearer <anon_key> on every call. The anon_key is the app identity.
{
"error": {
"code": "RATE_LIMITED",
"message": "Requests per minute exceeded",
"retryable": true
}
}Agent receives pro_key from the operator and claims directly. URL stays the same.
curl -X POST https://api.nyxory.live/v1/apps/app_x9f2/claim \
-H "Authorization: Bearer nyx_anon_x9f2..." \
-H "Content-Type: application/json" \
-d '{"pro_key":"nyx_pro_operator_...","tier":"pro","budget":{"currency":"USD","monthly":50}}'Agent hands over anon_key and URL. User adopts in account with tier and budget.
# agent returns this to user:
# app_url=https://x9f2.nyxory.live
# anon_key=nyx_anon_x9f2...
#
# user claims in account UI (same backend endpoint):
POST /v1/apps/app_x9f2/claim { "tier": "pro", "budget": { "currency": "USD", "monthly": 50 } }Humans: see an interactive mock
Your coding agent already builds faster than any infra team can react. Nyxory keeps deployment at that same speed with a live URL, a persistent identity, and a clean path from free prototype to owned production.
Free tier with signup. Keep your apps forever, skip the Anon expiry, and grab a pro_key your agents can use directly.