Create site
create_siteCreate a professional website — Mondovo generates the design (do NOT write HTML/React yourself). ONE call produces THREE competing homepage designs (D1/D2/D3) for the user to choose between: see them with list_variations, select one with switch_variation, then add inner pages with add_page/add_pages and publish only when requested with publish_site. Output quality scales with how RICH and OPINIONATED your brief is about the BUSINESS, so do not send a thin brief: business name (required), industry, location, services/offerings, target_audience, unique_selling_points, business.tone_of_voice (put the voice spec here, not in the description — it drives the copy voice directly); and a goal — the site's primary conversion objective ("free trial signups from agencies", "book a consultation") which drives the conversion narrative, section flow, and CTAs. All of that helps all three designs equally. The DESIGN inputs are a deliberate TRADEOFF, because they bind all three lanes to the same look: a stated design.color_palette fixes the colors for every design, a heavily-specified mood/creative direction fixes the whole aesthetic, and content you supply (headline, tagline, per-section copy) is used as written in all three — so the three come back differing only in layout and typography. Send them when the user wants ONE look executed well; leave color_palette and mood open, and omit sections/pages/per-section content, when the user wants genuinely different alternatives to compare (Mondovo's strategist then plans the section arc and page architecture around your goal, and each design picks its own palette and voice). Whatever you do send should be concrete, never generic placeholder text — reference real design styles if the user has a taste (e.g. "editorial serif, warm cream + terracotta, generous whitespace, Aesop-like"). To CLONE or closely reference a live site, set design.source_url to its HTTPS URL — Mondovo scrapes the page (screenshot + structure) and adopts its visual design (use design.source_copy: "preserve" to also keep its wording, default "rewrite"); this is stronger than describing it in design.references text. When source_url is set, do NOT send design.color_palette — the scraped design drives the colors and an explicit palette is ignored. To recreate from a design SCREENSHOT you already have (not a live URL), pass its HTTPS image URL(s) in design.reference_images and set design.reference_fidelity: "replicate" reproduces the reference faithfully (its section structure/order and imagery), "inspire" (default) honors its palette/typography/mood while adapting the structure to your business. Returns a site_id; poll get_site every 10s — it reports "generating" for the whole round (typically 3-15 min) and "ready" only when every design has landed. Then call list_variations to see the three homepage designs. (For a design YOU author end-to-end, use create_site_from_design instead.) To set up a READY-MADE BUSINESS rather than generate a site — a directory, for instance, that arrives with its listings, its submission and claim flows and its pages already working — call list_packs, then pass that pack's pack_slug here with its questions answered in pack_intake. That path COPIES a curated design instead of generating one, so it costs no generation credits, finishes in about two minutes, and ignores business/design/content/pages/goal entirely.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | ||
| name | Yes | ||
| pages | No | ||
| design | No | ||
| content | No | ||
| brand_id | No | Optional existing Brand Studio brand to link explicitly. The brand must belong to the API organization. Omit it to create the normal unlinked website; this never creates a brand or applies one implicitly. | |
| business | No | ||
| pack_slug | No | Slug of a ready-made business to set up instead of generating a site from scratch (see list_packs). The design is COPIED, not generated, so this returns a finished, working site in about two minutes and costs no generation credits — and `business`, `design`, `content`, `pages` and `goal` are all ignored. Pair it with `pack_intake`. | |
| user_goal | No | Optional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details. | |
| pack_intake | No | Answers to the questions the chosen pack asks, keyed by question id (list_packs returns them, with which are required). Ignored unless pack_slug is set. | |
| idempotency_key | No | Optional stable key for this creation attempt. If you retry a create_site call that timed out, send the SAME value and you get back the site the first attempt created instead of a duplicate site and a second generation. Use a fresh value (e.g. a UUID) for each genuinely new site; omit it and every call creates a new site. | |
| assistant_intake | No | ||
| platform_gallery_use | No | Explicit permission to use real Mondovo template-gallery captures. Omit or set declined to keep gallery sourcing off. |