API Endpoints

Comprehensive reference for all Webui API routes, authentication flows, request/response formats, and error handling.

Base URL

https://api.webui.io/v2

Authentication Required

Bearer Token Authentication
All API requests require a valid Bearer token in the `Authorization` header. Generate tokens in your Webui Dashboard under Settings → API Keys. Tokens expire after 24 hours unless rotated manually.
Header Example
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

List Projects

GET /projects

Retrieve a paginated list of all projects accessible by the authenticated user.

ParameterTypeDescription
pageintegerPage number for pagination (default: 1)
limitintegerItems per page (default: 20, max: 100)
statusstringFilter by status: active, archived, draft
Response 200
{ "data": [ { "id": "prj_8x9a2b", "name": "Marketing Site", "status": "active", "created_at": "2024-12-01T10:00:00Z" } ], "meta": { "total": 12, "page": 1, "limit": 20 } }

Create Project

POST /projects

Create a new Webui project. Initializes a fresh workspace with default configuration.

ParameterTypeDescription
name requiredstringProject display name
frameworkstringTarget framework: react, vue, svelte, html
templatestringStarting template ID or "blank"
Request Body
{ "name": "SaaS Dashboard", "framework": "react", "template": "blank" }

List Components

GET /components

Browse the available component library or fetch project-specific components.

ParameterTypeDescription
categorystringFilter by category: forms, layout, navigation
searchstringKeyword search across component names

Trigger Deployment

POST /projects/{id}/deploy

Initiate a new deployment for a specific project. Returns immediately with deployment ID; use webhooks or polling for status.

ParameterTypeDescription
id requiredstringProject identifier
envstringTarget environment: production, staging, preview
Response 202
{ "deployment_id": "dep_9k2m4n", "status": "queued", "url": "https://app.webui.io/deployments/dep_9k2m4n" }