Developer Hub & API v1

UIRender Developer Resources & API Documentation

Automate website cloning pipelines, integrate with AI coding agents via MCP, or download clean Next.js 15 & React codebases programmatically with predictable versioning and typed error handling.

01. UIRender API Authentication & Headers

All REST API endpoints accept standard JSON payloads and authenticate requests using Bearer tokens or active user session cookies.

Authorization: Bearer <UIRENDER_API_KEY>
Content-Type: application/json
Accept: application/json
X-API-Version: 1.0.0

02. UIRender REST API Reference (v1)

POST/v1/clones(or /api/clones)

Initiates a website cloning job for a target URL. Deducts clone credits upon queue acceptance.

Request Body (JSON)
{
  "url": "https://example.com",
  "framework": "nextjs",    // "nextjs" (App Router) | "vite" (React SPA)
  "styling": "tailwind",     // "tailwind" (v4) | "css" (Vanilla CSS)
  "mode": "single",          // "single" (1 credit) | "multi" (crawl subroutes)
  "maxRoutes": 5,            // 1 to 25 (only applicable when mode is "multi")
  "verify": true             // Run pre-packaging TypeScript syntax verification
}
Response (200 OK)
{
  "success": true,
  "cloneId": "cln_1740000000_abc123",
  "jobId": "ext_job_998877",
  "status": "processing",
  "creditCost": 1,
  "availableCredits": 2
}
GET/v1/clones/:id(or /api/clones/:id)

Returns the live status, worker progress, and download link for a clone job.

Response (200 OK)
{
  "success": true,
  "clone": {
    "id": "cln_1740000000_abc123",
    "targetUrl": "https://example.com",
    "status": "completed", // "queued" | "processing" | "completed" | "failed"
    "framework": "nextjs",
    "styling": "tailwind",
    "r2PublicUrl": "https://storage.uirender.com/downloads/cln_1740000000_abc123.tgz",
    "createdAt": "2026-08-21T20:00:00.000Z"
  }
}
GET/v1/clones/:id/download(or /api/clones/:id/download)

Streams the binary self-contained project archive (.TGZ or .ZIP) with ready-to-run package.json and tsconfig.json.

GET/v1/user/me(or /api/user/me)

Retrieves the authenticated user profile, credit balance, and subscription tier.

03. UIRender Typed Error Responses & Error Codes

All UIRender API error responses return structured JSON (RFC 9457 compatible) with machine-readable error codes, explanations, and actionable hints so AI agents and client libraries can recover without guessing.

Standard Error Response Schema

{
  "error": "Insufficient clone credits.",
  "code": "PAYMENT_REQUIRED",
  "message": "This request requires 1 credit, but you only have 0.",
  "hint": "Purchase additional credits at https://uirender.com/pricing or view your balance at /v1/user/me.",
  "status": 402,
  "docs_url": "https://uirender.com/docs"
}
HTTP StatusError CodeAgent Resolution Hint
400 Bad RequestINVALID_REQUESTProvide a complete valid URL (e.g. https://example.com)
401 UnauthorizedUNAUTHORIZEDPass Authorization: Bearer <API_KEY> header
402 Payment RequiredPAYMENT_REQUIREDRefill clone credits at https://uirender.com/pricing
404 Not FoundNOT_FOUND / ROUTE_NOT_FOUNDVerify ID or check https://uirender.com/openapi.json
502 Bad GatewayCLONE_DISPATCH_FAILEDTarget website unreachable or timed out; retry
503 Service UnavailableSERVICE_UNAVAILABLEBackend undergoing scheduled maintenance; retry shortly

04. UIRender Model Context Protocol (MCP) Server

UIRender can be registered as an autonomous tool for LLM coding agents in Cursor, Claude Desktop, Antigravity, and Windsurf.

MCP Tool Definition: uirender_clone_website

{
  "name": "uirender_clone_website",
  "description": "Clones any public website URL into clean Next.js 15 or Vite React code with Tailwind CSS and local assets.",
  "parameters": {
    "type": "object",
    "properties": {
      "url": {
        "type": "string",
        "description": "The target website URL to clone."
      },
      "framework": {
        "type": "string",
        "enum": ["nextjs", "vite"],
        "default": "nextjs"
      },
      "styling": {
        "type": "string",
        "enum": ["tailwind", "css"],
        "default": "tailwind"
      },
      "maxRoutes": {
        "type": "integer",
        "description": "Max sub-routes to crawl (1 to 25)",
        "default": 1
      }
    },
    "required": ["url"]
  }
}

05. UIRender Webhooks & Status Callbacks

Receive asynchronous event notifications when long-running multi-page clones complete or fail.

Event: clone.completed
{
  "event": "clone.completed",
  "cloneId": "cln_1740000000_abc123",
  "status": "completed",
  "downloadUrl": "https://uirender.com/v1/clones/cln_1740000000_abc123/download",
  "timestamp": "2026-08-21T20:01:15.000Z"
}

06. UIRender API Versioning & Deprecation Policy

UIRender uses strict URL-path and header-based API versioning to ensure breaking changes never disrupt production agent integrations.

  • URL Path Versioning: The current production API version is available at https://uirender.com/v1/... (with /api/... defaulting to v1).
  • Version Header: All API responses include X-API-Version: 1.0.0. Clients may send X-API-Version: 1.0.0 to lock their integration.
  • 6-Month Deprecation Guarantee: Any deprecated endpoint is guaranteed at least 6 months of active support before sunset.
  • RFC 8594 Standard Headers: Deprecated endpoints will return Deprecation: @<unix-timestamp> and Sunset: <date> HTTP headers.

07. UIRender Machine-Readable Endpoints Index

ResourceURLFormat
OpenAPI 3.1 Spechttps://uirender.com/openapi.jsonJSON / OpenAPI 3.1.0
OpenAPI v1 Spec Aliashttps://uirender.com/v1/openapi.jsonJSON
Agent Instructionshttps://uirender.com/AGENTS.mdMarkdown
Machine Pricinghttps://uirender.com/pricing.mdMarkdown
LLM Contexthttps://uirender.com/llms.txtText / Markdown
Extended Tech Contexthttps://uirender.com/llms-full.txtText / Markdown