---
title: "Create website with AI prompt"
method: POST
path: "/v1/ai/workspace/website"
tags: ["Workflows"]
---

# Create website with AI prompt

`POST /v1/ai/workspace/website`

## Request

- Base URL: `https://api.lindo.ai`
- URL: `https://api.lindo.ai/v1/ai/workspace/website`
- Auth: HTTP bearer

Starts an AI-driven website creation workflow. Returns a `workflow_id` you can poll via `GET /v1/ai/workspace/website/status/{workflow_id}`.

## Request body

- CreateWebsiteWorkflowRequest
  - `prompt` string, required: AI prompt describing the website to create. Include all business data, requirements, and goals here.
  - `link_site` WebsiteLinkSite: Optional reference site to clone, enhance, or use for inspiration.
    - `url` string, uri, required: Reference website URL to scrape and use during website creation.
    - `mode` 'clone' | 'enhance' | 'inspired' | 'google': `clone`: recreate the reference as closely as possible. `enhance`: keep the same content but improve the design. `inspired`: use the reference only for visual/style inspiration. `google`: the URL is a Google Business Profile / Google Maps listing — the build pulls the real business details (hours, phone, categories, reviews, photos) via the `google_business` tool and builds a local-business site.
  - `schedule_at` string: Optional ISO 8601 date to schedule the workflow for future execution. Must be in the future.
  - `client` object: Optional client to assign the website to. Provide either client_id (existing) or email (lookup or create).
    - `client_id` string: Existing client ID to assign the website to. If provided, the client must belong to your workspace.
    - `email` string, email: Client email. If the email matches an existing client in your workspace, the website is assigned to them. Otherwise a new client is created.
    - `name` string: Client name. Used when creating a new client (with email). Ignored if client_id is provided or client already exists.

## Response `200`

Workflow started successfully

- WorkflowResponse
  - `success` true, required: Indicates the workflow was started successfully
  - `result` object, required
    - `workflow_id` string, required: Unique identifier for this workflow. Pass it back to the matching status endpoint (GET /v1/ai/workspace/{website|page|blog}/status/{workflow_id}) to poll progress.
    - `website_id` string: Preallocated website ID. Returned by create-website so callers can reference the website while generation runs.

## Other responses

- `400`: Invalid request - validation error
- `401`: Unauthorized - invalid or missing API key
- `500`: Internal server error

---

[API](https://skmtc.dev/lindo/apis/lindo-unified-api.md) · [All operations](https://skmtc.dev/lindo/apis/lindo-unified-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lindo/apis/lindo-unified-api/revisions/2672f34525a4?raw)
