Agentic Website Builder
Self-Hosted Integration Guide for Hosting Providers
FULLY WHITE LABELEDThree ways to sell it
One technical integration unlocks three distinct revenue plays. Decide how you want to sell the agentic website builder — each option comes with its own natural funnel and integration approach.
Bundle in core hosting plans
Include the agentic website builder as a built-in feature on every hosting plan.
Offer as a paid add-on
Sell the agentic website builder as an optional upgrade on your existing hosting plans.
Launch as a standalone product
A separate agentic website builder — its own landing page, pricing, and audience.
Before you start
Configure your 10Web workspace once.
Set up branding
Upload your logo, colors, and product name. Customers see 10Web fully white-labeled.
my.10web.io/builder-api/branding →Create an API key
Workspace-level master key. You’ll use it for website management and usage limits.
my.10web.io/builder-api/key →Download the 10Web license plugin
You’ll install this on every WordPress site you prepare.
my.10web.io/builder-api/setup-guide →Review the API documentation
One gateway API + one WordPress REST API. That’s it.
apidocs.10web.io/self-hosted/ →Integration overview
Regardless of how you sell it, every integration is built from the same core components. The order changes depending on your funnel.
- AI Editing — prompt-based edits powered by the agentic engine
- Visual Editor — drag-and-drop
- Code Editor — React and Tailwind
- WordPress admin — full WP dashboard
Integration flows
Each approach rearranges the same building blocks into a different funnel shape.
I will capture the prompt in my UI
Prompt timing is flexible: capture before signup (landing page) or after (dashboard) — same integration, different funnel placement.
I will redirect users to the website generation workflow
I am using a hosting panel with WordPress management
Detailed integration guides
Expand each approach for full step-by-step integration instructions, API calls, and code samples.
You own the prompt experience — on a landing page (before signup) or inside your customer dashboard (after signup). Either way, your code collects the prompt and calls the generation API.
Prompt timing is flexible: capture before signup (landing page — persist the prompt through the auth redirect) or after (dashboard — no persistence needed, user is already authenticated).
- You call
/wvc/v1/createexplicitly with the user’s prompt - Full control over prompt UX — styling, validation, suggestions
- If capturing before signup, persist
user_promptin session/local storage - If capturing after signup, gate by entitlement — only paying/trial users see the prompt
- Pre-provision a warm pool of WordPress sites for instant response
- POST
wp-json/wp/v2/plugins— install license plugin - PUT
wp-json/wp/v2/plugins/slug— activate plugin - POST
/?rest_route=/wvc/v1/create— trigger generation - Gateway API calls for lifecycle management
Prepare WordPress sites (warm pool)
Pre-provision WordPress instances with the license plugin installed and activated. Use the WP REST API Plugins endpoint to upload and install the plugin. Authenticate with Application Passwords (Basic Auth over HTTPS).
POST https://your-site.com/wp-json/wp/v2/plugins
Content-Disposition: attachment; filename="tenweb-license-plugin.zip"
Content-Type: application/zip
// Binary file bodyActivate the plugin
Once uploaded, activate the license plugin. It will auto-install all required components (theme, builder plugins) and then delete itself.
PUT https://your-site.com/wp-json/wp/v2/plugins/tenweb-license-plugin
{
"status": "active"
}Create API user + Application Password
Create a dedicated WordPress user with administrator privileges and generate an Application Password for API authentication. Use this for all subsequent REST API calls. Learn more →
Capture the prompt
Present a prompt input on your landing page or inside your customer dashboard. The prompt is a single user_prompt string — a free-text description of the website the user wants (e.g. “A modern photography portfolio with gallery and contact page”). If capturing before signup, persist it in the session so it survives the auth redirect.
{ "user_prompt": "string — free-text website description" }Assign WP site & trigger generation
After signup/payment (or immediately if the user is already authenticated), assign a prepared WordPress site from your warm pool. Then call the generation endpoint with the prompt.
POST https://your-site.com/?rest_route=/wvc/v1/create
{
"user_prompt": "A modern photography portfolio..."
}website_id returned in the response. You need it for limits, usage tracking, and lifecycle management.Redirect with one-time login token
Generate a one-time login token and redirect the user into the WordPress editor. They land directly in the builder — no WP login screen. Implement using wp_set_auth_cookie() or a token-based autologin mechanism.
https://your-site.com/wp-login.php?token={one_time_token}&redirect_to=/wp-admin/admin.php?page=wvc-editorMinimal code on your side. Provision WordPress, redirect the user — the white-labeled editor captures the prompt and triggers generation automatically.
- No custom prompt UI needed — the editor handles it
- No
/wvc/v1/createcall — the editor triggers generation - Install via REST API (or auto-installer as alternative)
- Minimal code on your side
- POST
wp-json/wp/v2/plugins— install license plugin - PUT
wp-json/wp/v2/plugins/slug— activate plugin - GET
/wp-json/wvc/v1/website-id— fetch website_id after generation - Gateway API calls for lifecycle management
User signs up or starts trial
Standard signup flow. The user creates an account and selects a hosting plan.
Provision WP + license plugin
Install WordPress and the license plugin via the WP REST API Plugins endpoint. Authenticate with Application Passwords. Alternatively, use your panel’s auto-installer (WordPress Toolkit, Softaculous, etc.) if available.
POST https://your-site.com/wp-json/wp/v2/plugins
// Upload tenweb-license-plugin.zip
PUT https://your-site.com/wp-json/wp/v2/plugins/tenweb-license-plugin
{ "status": "active" }Redirect to WP onboarding with one-time login token
Generate a one-time login token and redirect the user to the onboarding URL. Implement using wp_set_auth_cookie() or a token-based autologin mechanism. The white-labeled editor will capture the prompt and trigger generation automatically.
https://your-site.com/wp-login.php?token={one_time_token}
&redirect_to=/wp-admin/admin.php?page=wvc-editor&from_dashboard=1&onboarding=1Fetch website_id after generation
Retrieve the website_id via the Get website ID endpoint once the user completes generation.
GET https://your-site.com/wp-json/wvc/v1/website-idwebsite_id in your database for lifecycle management.For hosting panels with built-in WordPress management (cPanel, Plesk, DirectAdmin, CyberPanel, or similar). The plugin is bundled automatically when users install WordPress through the panel’s auto-installer — no REST API provisioning needed. This also applies if you are a reseller using WHM to provision cPanel accounts.
- No custom prompt UI needed — the editor handles it
- No
/wvc/v1/createcall — the editor triggers generation - No custom autologin needed — the panel’s built-in “Log in to WordPress” handles SSO
- Auto-installer (WordPress Toolkit, Softaculous, Installatron) is the primary install method — no REST API provisioning
- Least code of all three approaches
- Auto-installer plugin/theme set (WordPress Toolkit, Softaculous, or similar) — install license plugin (docs)
- GET
/wp-json/wvc/v1/website-id— fetch website_id after generation - Gateway API calls for lifecycle management
Configure your auto-installer
Add the 10Web license plugin to your auto-installer’s plugin/theme set — WordPress Toolkit (Plesk), Softaculous (cPanel), Installatron, or your panel’s equivalent. When users install WordPress, the license plugin is included automatically.
User signs up — WordPress is ready
After signup and WordPress provisioning through the panel, the site is ready with the license plugin already active. No REST API calls needed for setup.
User logs into WordPress via the panel
The hosting panel’s built-in “Log in to WordPress” button handles authentication — no custom autologin needed. Configure the panel’s redirect target to land on the editor onboarding page if your panel supports custom redirect URLs.
/wp-admin/admin.php?page=wvc-editor&from_dashboard=1&onboarding=1Fetch website_id after generation
Since you don’t call /wvc/v1/create yourself, retrieve the website_id via the Get website ID endpoint after the user completes generation.
GET https://your-site.com/wp-json/wvc/v1/website-idwebsite_id in your database for lifecycle management.API reference
Two API surfaces. The WordPress REST API runs on each site. The 10Web gateway manages all sites from one place.
Generate a website View in API docs →
Trigger AI website generation from a user prompt. Used in Approach 1 where you control the prompt capture.
POST https://your-site.com/?rest_route=/wvc/v1/create
{
"user_prompt": "A modern photography portfolio with gallery and contact page"
}{
"success": true,
"website_id": "ws_abc123def456",
"status": "generating"
}website_id in your database — you need it for limits, usage tracking, and lifecycle management.Autologin (one-time token)
Redirect users directly into the editor without a WordPress login screen. Used in Approaches 1 and 2. In Approach 3, the hosting panel’s built-in SSO handles login.
https://your-site.com/wp-login.php?token={one_time_token}
&redirect_to=/wp-admin/admin.php?page=wvc-editorhttps://your-site.com/wp-login.php?token={one_time_token}
&redirect_to=/wp-admin/admin.php?page=wvc-editor&from_dashboard=1&onboarding=1Retrieve website ID View in API docs →
For Approaches 2 and 3 (where the editor captures the prompt), fetch the website_id after the user completes generation.
GET https://your-site.com/wp-json/wvc/v1/website-id
// Response
{
"website_id": "ws_abc123def456"
}Site management gateway View in API docs →
Base URL: https://api.ai-website-builder.net
Authentication: x-api-key: {your_master_api_key}
| Method | Endpoint | Description |
|---|---|---|
| GET | /wvc/websites/custom-limitations |
Get current generation limits for a website |
| PUT | /wvc/websites/custom-limitations |
Set custom generation limits for a website |
| PUT | /wvc/generation-configs/default-website-limit/ |
Set default generation limit for all new websites |
| GET | /wvc/websites/usage |
Get generation usage for a website |
| POST | /wvc/websites/reset-usage |
Reset usage counters for a website |
| DELETE | /wvc/websites/delete |
Delete a website and free resources |
Frequently asked questions
Common integration questions from hosting providers.
/wvc/websites/custom-limitations) and a default limit for all new websites (/wvc/generation-configs/default-website-limit/). Track usage with the usage endpoint and reset counters when billing cycles renew. This lets you enforce tiered plans where higher-paying users get more generations./wvc/websites/usage) to query generation counts per website. Store the website_id for each customer in your database and poll usage periodically, or query on demand for billing reconciliation./wvc/websites/delete) to remove it entirely. The WordPress site itself remains a standard site on your servers regardless — the gateway API only manages the AI builder layer.wp_set_auth_cookie() to authenticate the user, and redirects to the editor URL. Generate a unique token on your backend, store it with a short expiry, and pass it as a query parameter in the redirect URL. The token should be single-use and time-limited for security. For Approach 3, you typically don’t need custom autologin — the hosting panel’s built-in “Log in to WordPress” button handles authentication natively.