For AI-native teams

Ship from your agent, wherever you work.

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.

API nowCLI nowMCP coming soonClaude Code plugin coming soonCursor plugin coming soon

What this page gives you

A human-friendly overview first, then one-shot technical paths your agent can consume immediately.

  • - How agent deployment works in one minute
  • - Exact quickstarts for API, CLI, and SDK
  • - Ownership path from free prototype to paid production

Deployment channels

Available

API

Best for autonomous agents and direct integrations.

Available

CLI

Best for builders and fast local-to-live workflows.

Coming soon

MCP

Tool-native channel for connected agent ecosystems.

Coming soon

Claude Code plugin

Direct deploy flow from Claude Code context.

Coming soon

Cursor plugin

Ship from Cursor without leaving your coding loop.

How it works in one call

`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.

bash
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"
# }

Plans and ownership path

Free (anonymous)

  • - Instant start on Nyxory subdomain
  • - Hosted-by badge and 7-day rolling uptime

Free account

  • - Persistent apps and personal dashboard
  • - pro_key so your agent deploys directly into your account

Builder / Pro

  • - Custom domains, no branding, higher limits
  • - Flat monthly pricing with explicit add-ons

Implementation quickstart (CLI, curl, SDK)

Start with CLI for speed, then use curl or SDK in autonomous flows. Snippets stay one-shot parseable.

bash
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
bash
# 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)"
javascript
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);

Own it from call one

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 access

Deep API reference

Full schema and enums: /openapi.json

`claim` lets you adopt into your account (free or paid) while keeping URL and app identity stable.

http
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" }
http
GET /v1/apps/:id
Auth: Bearer <anon_key | pro_key>
Response: { "app_id": "app_x9f2", "url": "https://x9f2.nyxory.live", "status": "live", "expires_at": "..." }
http
POST /v1/apps/:id/redeploy
Auth: Bearer <anon_key | pro_key>
Body: { "ref": "main" }
Response: { "deployment_id": "dep_4451", "status": "building" }
http
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" }
http
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.

json
{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Requests per minute exceeded",
    "retryable": true
  }
}

Adopt into your account

Operator-led adoption

Agent receives pro_key from the operator and claims directly. URL stays the same.

bash
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}}'

User-led adoption

Agent hands over anon_key and URL. User adopts in account with tier and budget.

text
# 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 } }
  • - Removes "Hosted by Nyxory" branding
  • - Enables custom domains and higher quotas
  • - Keeps URL and app id stable across claim

Machine-readable docs

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.

Get access

Free tier with signup. Keep your apps forever, skip the Anon expiry, and grab a pro_key your agents can use directly.