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.
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.
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (default: 1) |
| limit | integer | Items per page (default: 20, max: 100) |
| status | string | Filter 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.
| Parameter | Type | Description |
|---|---|---|
| name required | string | Project display name |
| framework | string | Target framework: react, vue, svelte, html |
| template | string | Starting 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.
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by category: forms, layout, navigation |
| search | string | Keyword 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.
| Parameter | Type | Description |
|---|---|---|
| id required | string | Project identifier |
| env | string | Target environment: production, staging, preview |
Response 202
{
"deployment_id": "dep_9k2m4n",
"status": "queued",
"url": "https://app.webui.io/deployments/dep_9k2m4n"
}