https://api.instantdeploy.site/openapi.json, and a plain-text integration guide lives at instantdeploy.site/llms.txt.https://<slug>.instantdeploy.site/ (for example, rapid-neon-otter.instantdeploy.site). Deploys are anonymous by default and expire after 24 hours — each one returns a 6-character claim code that converts it to permanent ownership via the CLI, the API, or the web at https://instantdeploy.site/claim?code=ABC123.1curl -fsSL https://instantdeploy.site/install.sh | bash -s -- . # install + deploy .
.zip, .tar.gz, .tgz, .gz)instantdeploy command. Pass a directory to install and deploy in one line:12curl -fsSL https://instantdeploy.site/install.sh | bash # install only curl -fsSL https://instantdeploy.site/install.sh | bash -s -- . # install + deploy .
12instantdeploy . # deploy the current directory instantdeploy ship <dir> # deploy a specific directory
https://rapid-neon-otter.instantdeploy.site — live in under 2 seconds. Anonymous deploys also return a 6-character claim code.1instantdeploy claim <code> # needs an API key (see next step)
https://instantdeploy.site/claim?code=ABC123, or via POST /v1/dashboard/claim — see the API reference.123instantdeploy login <api-key> # saves the key to ~/.instantdeploy/credentials instantdeploy whoami # verify the key (prints account email) instantdeploy list # list your deployments
POST /v1/auth/signup then GET /v1/auth/me (see Accounts and API keys). The CLI also honors the INSTANTDEPLOY_API_KEY and INSTANTDEPLOY_API_URL environment variables.1instantdeploy ship --unlisted .
url, the slug, and the claim link to the user.https://api.instantdeploy.site, the machine-readable spec is at https://api.instantdeploy.site/openapi.json, and interactive docs live at https://api.instantdeploy.site/docs.Authorization header. Deploys expire in 24 hours and return a claim_code.Authorization: Bearer <API_KEY>. Deploys are permanent and appear in your dashboard. The Bearer key works on /v1/ship, /v1/auth/me, and all /v1/dashboard/* endpoints.multipart/form-data with a file field (.zip, .tar.gz, .tgz, .gz — max 100 MB). Add the Bearer header to claim it immediately.123curl -X POST https://api.instantdeploy.site/v1/ship \ -H "Authorization: Bearer $INSTANTDEPLOY_API_KEY" \ -F "file=@site.zip"
url, the slug, and created_at:12345{ "url": "https://rapid-neon-otter.instantdeploy.site", "slug": "rapid-neon-otter", "created_at": "2026-02-27T12:00:00+00:00" }
429 RateLimitExceeded response carries a Retry-After header. Oversized archives return 413 FileSizeExceeded; malformed ones return 400 (InvalidFormat, ExtractionFailed)./v1/ship where the archive uploads straight to storage:POST /v1/publish with JSON { "filename": "site.zip", "file_size_bytes": 12345, "visibility": "public" } — returns a slug, an upload_url (expires in 30 minutes), and a publish_token.PUT the zip to upload_url with the header x-ms-blob-type: BlockBlob.POST /v1/publish/{slug}/finalize with JSON { "publish_token": "..." } — add Authorization: Bearer <key> to claim it. Returns the live url.GET /v1/deployments — list recent deployments (powers the homepage feed).GET /v1/remix/{slug} — fetch all files of a deployment (path, content, size) so an agent can remix it.public and appear in the homepage live feed:-F "visibility=unlisted" to POST /v1/ship (CLI: instantdeploy ship --unlisted .). Anyone with the link can view, but the site is excluded from the feed and its HTML gets a robots-noindex tag.PATCH /v1/dashboard/sites/{slug}/visibility with { "visibility": "public" | "unlisted" } (owner only).POST /v1/auth/signup with { "email": "user@example.com", "password": "min8chars" } — send credentials: include to receive the session cookie.GET /v1/auth/me with that cookie — the response includes api_key.POST /v1/ship with Authorization: Bearer <api_key>.POST /v1/auth/login and POST /v1/auth/sign-out.POST /v1/dashboard/api-keys and { "name": "claude-code" } — the full key is returned once. List previews with GET /v1/dashboard/api-keys; revoke with DELETE /v1/dashboard/api-keys/{id} (immediate, other keys unaffected). Up to 50 active keys per account.POST /v1/dashboard/set-api-key with { "api_key": "your-24-64-char-key" } (url-safe: A-Za-z0-9_-).POST /v1/dashboard/regenerate-api-key.claim_code. Make one permanent via any of:instantdeploy claim <code> (needs an API key)POST /v1/dashboard/claim with { "claim_code": "ABC123" } and Bearer authhttps://instantdeploy.site/claim?code=ABC123POST /v1/dashboard/domains with { "domain": "example.com", "slug": "your-slug" } (Bearer auth; you must own the deployment). The response includes two DNS records: a TXT record for ownership proof and an A record pointing at InstantDeploy.POST /v1/dashboard/domains/{id}/verify.GET /v1/dashboard/domains and DELETE /v1/dashboard/domains/{id}.url and slug to the user; for anonymous publishes, mention the 24-hour expiry and give the claim link; prefer Bearer-key deploys so sites show up in the dashboard. And remember — every deployed HTML page gets a small Remix button.{ "error": { "code": "...", "message": "...", "details": {...} } }.agent / CLI browser | ^ | POST /v1/ship (zip) | <slug>.instantdeploy.site v | +-------------------+ stream files +-------------------------------+ | FastAPI (api) |----------------->| Azure Blob Storage (CDN) | | validate + slug | +-------------------------------+ +----+---------+----+ ^ | | | delete expired blobs v v | +----------+ +-------------+ +---------------+---------------+ |PostgreSQL| | Redis | | Azure Function (hourly GC) | | metadata | | rate limits | | prunes expired deploy records | +----------+ +-------------+ +-------------------------------+
apps/api). Built with FastAPI for maximum performance. It handles zip-based binary uploads, validates content, and streams data directly to Azure Blob Storage. It implements a multi-tenant slug system (e.g. rapid-neon-otter) and manages the anonymous-to-permanent claim flow.apps/web). A premium, dark-mode landing page. Its notable pieces are a real-time live feed of active anonymous deployments (skeleton states plus micro-animations), a Markdown blog engine using gray-matter for frontmatter, and a copy-to-clipboard system — a customized renderer that injects copy icons into all CLI commands and code snippets.apps/cli). A frictionless shell script that detects the local environment and provides a one-line setup for AI agents — it turns any local directory into a live URL with a single command.1234567891011121314151617181920212223242526272829303132333435363738394041424344# InstantDeploy — agent integration instructions Publish static sites to live URLs with InstantDeploy (https://instantdeploy.site). Follow these rules exactly: 1. Install the CLI (optionally deploying in the same command): curl -fsSL https://instantdeploy.site/install.sh | bash # install curl -fsSL https://instantdeploy.site/install.sh | bash -s -- . # + deploy 2. Deploy with `instantdeploy .` or `instantdeploy ship <dir>` — the live URL prints to stdout; capture it. Or skip the CLI entirely: POST https://api.instantdeploy.site/v1/ship as multipart/form-data with a `file` field (.zip/.tar.gz/.tgz/.gz, max 100 MB, static files only). 3. Anonymous deploys (no Authorization header) EXPIRE IN 24 HOURS and return a 6-character claim_code. Always report the url, the slug, the expiry, and the claim link (https://instantdeploy.site/claim?code=<code>) to the user. 4. Prefer authenticated deploys: send Authorization: Bearer <API_KEY> so deploys are permanent from the start. The CLI honors INSTANTDEPLOY_API_KEY; `instantdeploy login <key>` saves it, and `instantdeploy whoami` / `instantdeploy list` verify and list. 5. To get a key programmatically: POST /v1/auth/signup with {email, password (min 8 chars)}, then GET /v1/auth/me with the session cookie — the response includes api_key. Create named keys (one per agent) with POST /v1/dashboard/api-keys {name} — the key is returned once. Max 50 active keys per account. 6. Claim an anonymous deploy with `instantdeploy claim <code>` or POST /v1/dashboard/claim {claim_code} with Bearer auth. 7. For large sites use the presigned flow: POST /v1/publish {filename, file_size_bytes, visibility} -> PUT the zip to upload_url with header x-ms-blob-type: BlockBlob (URL expires in 30 min) -> POST /v1/publish/{slug}/finalize {publish_token}. 8. Deploys are public by default and appear in the homepage live feed; pass `--unlisted` (CLI) or visibility=unlisted (API) for link-only sites, or toggle later via PATCH /v1/dashboard/sites/{slug}/visibility. 9. Custom domains: POST /v1/dashboard/domains {domain, slug}, set the returned TXT and A records, then POST /v1/dashboard/domains/{id}/verify. SSL is automatic on first request. Max 20 domains per account. 10. Handle errors via the envelope {error: {code, message, details}} — 429 RateLimitExceeded (per-IP, honor Retry-After), 413 FileSizeExceeded, 400 InvalidFormat/ExtractionFailed. Machine-readable spec: https://api.instantdeploy.site/openapi.json Docs: https://docs.aliarain.com/instantdeploy
llms.txt index.