Create Web Page · Example Payload
Create Web Page Mcp Tools List
CompanyArtificial IntelligenceWebsite BuilderLink-in-bioDigital Business CardMCPNo-Code
Create Web Page Mcp Tools List is an example object payload from Create Web Page, with 3 top-level fields. It illustrates the shape of data this provider's APIs accept or return.
Top-level fields
jsonrpcidresult
Example Payload
{"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"account_whoami","title":"Current Account","description":"Return the current Create Web Page account context. Use this to check whether the user is authenticated or using an anonymous expiring demo.","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Current Account","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"outputSchema":{"type":"object","properties":{"accountId":{"type":"string"},"authMode":{"type":"string","enum":["internal","oauth","demo"]},"role":{"type":"string","enum":["owner","demo"]},"service":{"type":"string"},"demoExpiresAt":{"type":["string","null"]}},"required":["accountId","authMode","role","service","demoExpiresAt"],"additionalProperties":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"_meta":{"securitySchemes":[{"type":"noauth"}]}},{"name":"page_intake_start","title":"Start Landing Page Intake","description":"Optional first step for a vague page request (e.g. 'make me a website for my barbershop'). Returns at most one round of questions to ask together: the name, the main visitor action AND where it goes (WhatsApp number with country code, booking/order link, phone or address), and must-have facts. Skip it when the request already has a name and the main action's destination — call page_create_from_brief directly. Call at most once per request; if the user gave a public link, read it yourself or use source_import instead. Does not create a page.","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Start Landing Page Intake","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"mode":{"type":"string","enum":["intake"]},"title":{"type":"string"},"promptToUser":{"type":"string"},"canCreateNow":{"type":"boolean"},"recommendedNextTool":{"type":"string"},"missingFields":{"type":"array","items":{"type":"string"}},"questions":{"type":"array","items":{"type":"string"}},"sourceGuidance":{"type":"string"},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["provide_source","answer_questions","use_placeholders","create_from_brief"]},"label":{"type":"string"},"prompt":{"type":"string"},"recommendedTool":{"type":"string"}},"required":["id","label","prompt"],"additionalProperties":false}}},"required":["ok","mode","title","promptToUser","canCreateNow","recommendedNextTool","missingFields","questions","sourceGuidance","actions"],"additionalProperties":false},"inputSchema":{"type":"object","properties":{"originalRequest":{"type":"string","maxLength":12000,"description":"The user's original page-creation request, copied verbatim when available."},"businessName":{"type":"string","description":"Only include if the user already provided the business or project name."},"businessType":{"type":"string","description":"Business category inferred from the user's words, such as hamburger restaurant or dental clinic."},"sourceUrl":{"type":"string","description":"Public HTTP/HTTPS source URL provided by the user, such as a business website or link-in-bio page. Protected platforms (social networks, maps, paywalls) require client-side browsing or pasted details instead."},"sourceHandle":{"type":"string","description":"Public social handle provided by the user."},"primaryGoal":{"type":"string","description":"The main visitor action if known, such as book, call, WhatsApp, buy, or leave a lead."},"locale":{"type":"string","description":"Preferred content locale if obvious from the conversation."}},"additionalProperties":false},"_meta":{"securitySchemes":[{"type":"noauth"}],"openai/toolInvocation/invoking":"Preparing the page brief...","openai/toolInvocation/invoked":"Page brief ready."}},{"name":"page_onboarding_start","title":"Start Guided Page Onboarding","description":"Guided visual setup (category, layout, palette, primary action) that does NOT create a page. Use it ONLY when the user explicitly wants to choose the style/layout step by step; for normal requests call page_create_from_brief (asking at most one round of questions first). IMPORTANT: this flow is STATELESS — page_onboarding_update does not remember earlier calls, so each update must resend the FULL set of selections + knownFields gathered so far. As soon as you have a business name and a primary action, stop and call page_create_from_brief (you do not need to reach a 'ready' step).","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Start Guided Page Onboarding","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"mode":{"type":"string","enum":["onboarding"]},"locale":{"type":"string","enum":["en","es"]},"stepId":{"type":"string"},"canContinue":{"type":"boolean"},"selected":{"type":"object","additionalProperties":true},"invalidSelection":{"type":"array","items":{"type":"string"}},"missingFields":{"type":"array","items":{"type":"string"}},"choices":{"type":"array","items":{"type":"object","additionalProperties":true}},"layoutChoices":{"type":"array","items":{"type":"object","additionalProperties":true}},"paletteChoices":{"type":"array","items":{"type":"object","additionalProperties":true}},"primaryActions":{"type":"array","items":{"type":"object","additionalProperties":true}},"recommendedLinks":{"type":"array","items":{"type":"object","additionalProperties":true}},"recommendedBlocks":{"type":"array","items":{"type":"object","additionalProperties":true}},"profileCopy":{"type":"object","additionalProperties":true},"slugGuidance":{"type":"object","additionalProperties":true},"qualityChecklist":{"type":"array","items":{"type":"object","additionalProperties":true}},"recommendedMissingFields":{"type":"array","items":{"type":"string"}},"layoutGuidance":{"type":"object","additionalProperties":true},"imageGuidance":{"type":"object","additionalProperties":true},"readyToCreate":{"type":"boolean"},"uiHtml":{"type":"string"},"nextPrompt":{"type":"string"},"createFromBriefHints":{"type":"object","additionalProperties":true}},"required":["ok","mode","locale","stepId","canContinue","selected","invalidSelection","missingFields","choices","layoutChoices","paletteChoices","primaryActions","recommendedLinks","recommendedBlocks","profileCopy","slugGuidance","qualityChecklist","recommendedMissingFields","layoutGuidance","imageGuidance","readyToCreate","uiHtml","nextPrompt","createFromBriefHints"],"additionalProperties":false},"inputSchema":{"type":"object","properties":{"originalRequest":{"type":"string","maxLength":12000},"locale":{"type":"string","description":"Preferred UI locale: en or es. If omitted, Spanish is used only when originalRequest is clearly Spanish; otherwise English. The result echoes the resolved locale — pass it on every page_onboarding_update call."},"suggestedSelection":{"type":"object","properties":{"mainCategory":{"type":"string","description":"Normalized id from the AI client, for example physical-business or online-business. The app does not infer this from raw text."},"subCategory":{"type":"string","description":"Normalized subcategory id valid for the selected mainCategory, for example health."},"source":{"type":"string","enum":["user_agent_inference","user_selected","imported_source"]},"confidence":{"type":"string","enum":["low","medium","high"]}},"additionalProperties":false}},"additionalProperties":false},"_meta":{"securitySchemes":[{"type":"noauth"}],"openai/toolInvocation/invoking":"Preparing guided setup...","openai/toolInvocation/invoked":"Guided setup ready."}},{"name":"page_onboarding_update","title":"Update Guided Page Onboarding","description":"Validate onboarding selections and return the remaining checklist. STATELESS: it does not remember previous calls, so every call must include the FULL accumulated selection (mainCategory, subCategory, layout, palette, primaryAction) plus all knownFields (name, description, action destination, etc.) gathered so far — not just the latest answer, or earlier choices will look 'missing'. You do not need to loop to a 'ready' state: once you have a name and a primary action, call page_create_from_brief with those values.","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Update Guided Page Onboarding","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false,"idempotentHint":true},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"mode":{"type":"string","enum":["onboarding"]},"locale":{"type":"string","enum":["en","es"]},"stepId":{"type":"string"},"canContinue":{"type":"boolean"},"selected":{"type":"object","additionalProperties":true},"invalidSelection":{"type":"array","items":{"type":"string"}},"missingFields":{"type":"array","items":{"type":"string"}},"choices":{"type":"array","items":{"type":"object","additionalProperties":true}},"layoutChoices":{"type":"array","items":{"type":"object","additionalProperties":true}},"paletteChoices":{"type":"array","items":{"type":"object","additionalProperties":true}},"primaryActions":{"type":"array","items":{"type":"object","additionalProperties":true}},"recommendedLinks":{"type":"array","items":{"type":"object","additionalProperties":true}},"recommendedBlocks":{"type":"array","items":{"type":"object","additionalProperties":true}},"profileCopy":{"type":"object","additionalProperties":true},"slugGuidance":{"type":"object","additionalProperties":true},"qualityChecklist":{"type":"array","items":{"type":"object","additionalProperties":true}},"recommendedMissingFields":{"type":"array","items":{"type":"string"}},"layoutGuidance":{"type":"object","additionalProperties":true},"imageGuidance":{"type":"object","additionalProperties":true},"readyToCreate":{"type":"boolean"},"uiHtml":{"type":"string"},"nextPrompt":{"type":"string"},"createFromBriefHints":{"type":"object","additionalProperties":true}},"required":["ok","mode","locale","stepId","canContinue","selected","invalidSelection","missingFields","choices","layoutChoices","paletteChoices","primaryActions","recommendedLinks","recommendedBlocks","profileCopy","slugGuidance","qualityChecklist","recommendedMissingFields","layoutGuidance","imageGuidance","readyToCreate","uiHtml","nextPrompt","createFromBriefHints"],"additionalProperties":false},"inputSchema":{"type":"object","properties":{"stepId":{"type":"string","enum":["category","layout","profile","primary-action","ready"]},"locale":{"type":"string","description":"en or es — resend the locale returned by page_onboarding_start (this tool is stateless). Defaults to English unless knownFields.description is clearly Spanish."},"selection":{"type":"object","properties":{"mainCategory":{"type":"string"},"subCategory":{"type":"string"},"layout":{"type":"string","enum":["background_color","full","background_image"]},"palette":{"type":"string","description":"Palette id returned by paletteChoices, for example atom_dark_plum or atom_black."},"primaryAction":{"type":"string","enum":["appointment","whatsapp","phone","maps","buy","lead","subscribe","follow"]},"recommendedBlock":{"type":"string","enum":["image","product","contact_form","text"]},"desiredPath":{"type":"string","description":"User's desired URL path. The server normalizes to letters, numbers, and hyphens."}},"additionalProperties":false},"knownFields":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"hasImage":{"type":"boolean"},"primaryActionDestination":{"type":"string","description":"A real destination explicitly supplied by the user or imported public source. Do not invent booking/order URLs."},"supportingLinks":{"type":"boolean","description":"True when the user has provided the initial phone/WhatsApp/location/social/site links they want on the page."},"supportingContent":{"type":"boolean","description":"True when the user has provided enough extra page content, such as services, products, location, hours, FAQs, reviews, or key notes."}},"additionalProperties":false}},"additionalProperties":false},"_meta":{"securitySchemes":[{"type":"noauth"}],"openai/toolInvocation/invoking":"Updating guided setup...","openai/toolInvocation/invoked":"Guided setup updated."}},{"name":"source_import","title":"Import Public Source","description":"Fetch a public website URL and extract a structured brief with business name, description, contact links, and suggested page blocks. Only works with public HTTP/HTTPS pages. Does not bypass login, CAPTCHA, or paywalls. Returns extracted fields and suggestedBlocks for use with page_create_from_brief.","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Import Public Source","readOnlyHint":true,"openWorldHint":true,"destructiveHint":false,"idempotentHint":true},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"sourceUrl":{"type":"string"},"finalUrl":{"type":"string"},"fetchMode":{"type":"string","enum":["public_http","public_http_browser_compatible"]},"confidence":{"type":"number"},"warnings":{"type":"array","items":{"type":"string"}},"brief":{"type":"object","properties":{"businessName":{"type":"string"},"sourceUrl":{"type":"string"},"primaryGoal":{"type":"string"},"audience":{"type":"string"},"offer":{"type":"string"},"location":{"type":"string"},"publicWhatsapp":{"type":"string"},"publicPhone":{"type":"string"},"publicBusinessEmail":{"type":"string"},"mustInclude":{"type":"array","items":{"type":"string"}},"locale":{"type":"string"}},"required":["businessName","sourceUrl"],"additionalProperties":false},"extracted":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"siteName":{"type":"string"},"structuredTypes":{"type":"array","items":{"type":"string"}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}},"required":["text","url"],"additionalProperties":false}},"images":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"alt":{"type":"string"}},"required":["url"],"additionalProperties":false}},"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"whatsapp":{"type":"array","items":{"type":"string"}}},"required":["structuredTypes","links","images","emails","phones","whatsapp"],"additionalProperties":false},"suggested_blocks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["link","social_row","whatsapp","phone_call","email_contact","image","gallery","video_embed","text","map_embed","product_card","lead_form","reviews","save_contact"]},"props":{"type":"object","additionalProperties":true},"source":{"type":"string"}},"required":["id","type","props","source"],"additionalProperties":false}}},"required":["ok","sourceUrl","finalUrl","fetchMode","confidence","warnings","brief","extracted","suggested_blocks"],"additionalProperties":false},"inputSchema":{"type":"object","properties":{"sourceUrl":{"type":"string","format":"uri","description":"Public http/https source URL to import."},"locale":{"type":"string","description":"Preferred output locale if obvious from the conversation, such as es or en."}},"required":["sourceUrl"],"additionalProperties":false},"_meta":{"securitySchemes":[{"type":"noauth"}],"openai/toolInvocation/invoking":"Importing the public source...","openai/toolInvocation/invoked":"Source imported."}},{"name":"page_create","title":"Create Landing Page","description":"Low-level/legacy: create a blank link-in-bio scaffold from a style preset (title, displayName, preset or 'auto'). Not for normal page requests — use page_create_from_brief, which builds the page from the user's details. The scaffold starts with empty placeholder blocks to fill via block_update — do not invent content. This tool intentionally creates a draft only and does not return a publish action. After calling it, stop and show the preview URL. Do not call page_publish in the same turn unless the user's current message explicitly asks to publish, make the page live, or get a public share link. Anonymous demo pages expire unless claimed.","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Create Landing Page","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false,"idempotentHint":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"pageId":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["draft","published"]},"isPublished":{"type":"boolean"},"previewUrl":{"type":"string"},"publishedUrl":{"type":["string","null"]},"claimUrl":{"type":["string","null"]},"editToken":{"type":["string","null"]},"expiresAt":{"type":["string","null"]},"isClaimed":{"type":"boolean"},"canPublish":{"type":"boolean"},"liveUpdateRequired":{"type":"boolean","description":"True after an edit to an already-published page when the public live page still needs page_publish to reflect the latest revision."},"liveUpdateMessage":{"type":["string","null"],"description":"Plain-language instruction explaining that an edit to an already-published page is draft-only and must not be published until a later explicit user request."},"publishPolicy":{"type":["string","null"],"description":"For edit tools on already-published pages, this is wait_for_separate_user_request to prevent same-turn publishing."},"missingFields":{"type":"array","items":{"type":"string"}},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["preview","publish","keep_editing","claim"]},"type":{"type":"string","enum":["link","tool","chat"]},"label":{"type":"string"},"url":{"type":"string"},"tool":{"type":"string"},"arguments":{"type":"object","additionalProperties":true},"prompt":{"type":"string"}},"required":["id","type","label"],"additionalProperties":false}},"content":{"type":"object","additionalProperties":true},"nextSteps":{"type":"array","description":"Improvement hints. Only 'required' items block publishing (they mirror the publish guard); 'recommended' and 'optional' are suggestions to offer after the user has seen the preview, never prerequisites.","items":{"type":"object","properties":{"id":{"type":"string"},"priority":{"type":"string","enum":["required","recommended","optional"]},"message":{"type":"string"},"tool":{"type":"string"}},"required":["id","priority","message"],"additionalProperties":false}}},"required":["ok","pageId","slug","title","status","isPublished","previewUrl","publishedUrl","claimUrl","editToken","expiresAt","isClaimed","canPublish","actions"],"additionalProperties":true},"inputSchema":{"type":"object","properties":{"title":{"type":"string","description":"Internal page title and default header display_name."},"displayName":{"type":"string","description":"Visible header display name. Defaults to title."},"bio":{"type":"string","maxLength":280,"description":"Optional short bio for the header."},"businessType":{"type":"string","description":"Used by preset:auto inference. Examples: musician, restaurant, designer."},"slug":{"type":"string","description":"Preferred public URL slug."},"layout":{"type":"string","enum":["link_in_bio"],"description":"Layout id. Defaults to 'link_in_bio'."},"preset":{"type":"string","enum":["classic_dark","sunset_gradient","editorial_serif","minimalist_light","local_business","bold_pop","zen_neutral","midnight_blue","card_warm_terracotta","card_navy_serif","card_editorial_dark","card_bold_realestate","auto"],"description":"Style preset id, or 'auto' to infer deterministically from businessType/style."},"style":{"type":"string","description":"Free-form style hint used by preset:auto inference."},"initialPrompt":{"type":"string","maxLength":12000}},"required":["title","preset"],"additionalProperties":false},"_meta":{"securitySchemes":[{"type":"noauth"}],"openai/toolInvocation/invoking":"Creating the landing page...","openai/toolInvocation/invoked":"Landing page ready."}},{"name":"page_create_from_brief","title":"Create Landing Page From Brief","description":"The main tool for creating a page. Call it directly when the request already has the business/page name and the main visitor action with its real destination (WhatsApp number with country code, booking/order link, phone, address or email); if the request is vague, ask at most one round of questions first (page_intake_start lists them). Creates a private draft and returns previewUrl, pageId, editToken (anonymous pages), claimUrl and expiresAt. Planning fields (audience, offer, primaryGoal, location, businessType, style, mustInclude) are context only and are not rendered as public body copy. Draft previews are customer-facing: do not pass owner instructions, section-planning labels, or placeholder copy as public content. Keep sparse briefs sparse: use only facts supplied by the user or imported public sources, plus light wording polish; never invent menus, services, hours, facilities, locations, testimonials, guarantees, staff details, prices, or operational claims. If a requested action lacks its real destination, ask for it, or use fallbackLeadForm with destinationEmail (ask the user which email should receive enquiries — without it the form cannot deliver anything and cannot be the page's only action at publish). Personal, gift or event pages (birthday, invitation, tribute, a poem) need no contact form and no action at all: a page with real text (bio + publicSections) can be published as is; add a link (primaryActionUrl, e.g. RSVP, gift list or playlist) only if the user has one, never primaryActionId 'lead'. After calling it, show the preview URL and stop; call page_publish only when the user explicitly asks to publish, make it live, or get a public link. Anonymous pages are deleted after expiresAt unless the user claims them via claimUrl. Passing onboardingMainCategory picks the matching template. The draft also seeds the preset's starter blocks (empty placeholder links, social row, save-contact) — they never block publishing and are pruned if left empty. Use the returned previewUrl directly (no need for page_preview). nextSteps marked recommended/optional (bio, photo, social links) are improvements to offer after the user has seen the preview; only 'required' ones block publishing.","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Create Landing Page From Brief","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false,"idempotentHint":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"pageId":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["draft","published"]},"isPublished":{"type":"boolean"},"previewUrl":{"type":"string"},"publishedUrl":{"type":["string","null"]},"claimUrl":{"type":["string","null"]},"editToken":{"type":["string","null"]},"expiresAt":{"type":["string","null"]},"isClaimed":{"type":"boolean"},"canPublish":{"type":"boolean"},"liveUpdateRequired":{"type":"boolean","description":"True after an edit to an already-published page when the public live page still needs page_publish to reflect the latest revision."},"liveUpdateMessage":{"type":["string","null"],"description":"Plain-language instruction explaining that an edit to an already-published page is draft-only and must not be published until a later explicit user request."},"publishPolicy":{"type":["string","null"],"description":"For edit tools on already-published pages, this is wait_for_separate_user_request to prevent same-turn publishing."},"missingFields":{"type":"array","items":{"type":"string"}},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["preview","publish","keep_editing","claim"]},"type":{"type":"string","enum":["link","tool","chat"]},"label":{"type":"string"},"url":{"type":"string"},"tool":{"type":"string"},"arguments":{"type":"object","additionalProperties":true},"prompt":{"type":"string"}},"required":["id","type","label"],"additionalProperties":false}},"content":{"type":"object","additionalProperties":true},"nextSteps":{"type":"array","description":"Improvement hints. Only 'required' items block publishing (they mirror the publish guard); 'recommended' and 'optional' are suggestions to offer after the user has seen the preview, never prerequisites.","items":{"type":"object","properties":{"id":{"type":"string"},"priority":{"type":"string","enum":["required","recommended","optional"]},"message":{"type":"string"},"tool":{"type":"string"}},"required":["id","priority","message"],"additionalProperties":false}}},"required":["ok","pageId","slug","title","status","isPublished","previewUrl","publishedUrl","claimUrl","editToken","expiresAt","isClaimed","canPublish","actions"],"additionalProperties":true},"inputSchema":{"type":"object","properties":{"businessName":{"type":"string"},"bio":{"type":"string","maxLength":280,"description":"Optional short bio for the header."},"businessType":{"type":"string","description":"Planning context only. Not rendered directly as public page copy."},"preferredSlug":{"type":"string","description":"Desired URL path. Ask the user for it near the end of onboarding. Use normal letters, numbers, and hyphens; the server normalizes and makes it unique."},"layout":{"type":"string","enum":["link_in_bio"],"description":"Defaults to 'link_in_bio'."},"preset":{"type":"string","enum":["classic_dark","sunset_gradient","editorial_serif","minimalist_light","local_business","bold_pop","zen_neutral","midnight_blue","card_warm_terracotta","card_navy_serif","card_editorial_dark","card_bold_realestate","auto"],"description":"Style preset id, or 'auto' to infer deterministically. Defaults to 'auto'."},"sourceUrl":{"type":"string","description":"Provenance reference only."},"sourceHandle":{"type":"string"},"primaryGoal":{"type":"string","description":"Planning context only. Not rendered directly as public page copy."},"audience":{"type":"string","description":"Planning context only. Not rendered directly as public page copy."},"offer":{"type":"string","description":"Planning context only. Not rendered directly as public page copy; use bio and publicSections for final-audience copy."},"location":{"type":"string","description":"Public business address or service area intended for map/address actions, not direct body copy and not the user's private/current location."},"publicWhatsapp":{"type":"string","description":"Public WhatsApp phone number explicitly supplied by the user or a public source. Do not use the user's account phone or invent placeholder numbers."},"publicPhone":{"type":"string","description":"Public business phone number explicitly supplied by the user or a public source. Do not use the user's private/account phone."},"publicBusinessEmail":{"type":"string","description":"Public business contact email explicitly supplied by the user or a public source. Do not use the user's ChatGPT/account email."},"style":{"type":"string","description":"Planning context only. Not rendered directly as public page copy."},"mustInclude":{"type":"array","maxItems":12,"items":{"type":"string"},"description":"Planning checklist only. Do not put section names, CTA labels, owner instructions, or private notes here; not rendered directly."},"publicSections":{"type":"array","maxItems":100,"items":{"type":"object","description":"Final-audience page copy. Use the page's target language and correct spelling/accents. Do not put planning notes, owner instructions, or section labels here.","properties":{"heading":{"type":"string","maxLength":160},"body":{"type":"string","maxLength":2000},"items":{"type":"array","maxItems":12,"items":{"type":"string","maxLength":280}},"alignment":{"type":"string","enum":["left","center"]}},"additionalProperties":false},"description":"Final-audience text sections to render on the public page. Write in the target language with correct spelling/accents. Only include facts the user supplied or that came from an imported public source; for sparse prompts, keep this short and avoid invented service lists, hours, benefits, testimonials, prices, or operational details."},"initialPrompt":{"type":"string","maxLength":12000},"locale":{"type":"string"},"onboardingMainCategory":{"type":"string","description":"Validated category id from page_onboarding_*, for example physical-business or online-business."},"onboardingSubCategory":{"type":"string","description":"Validated subcategory id from page_onboarding_*, for example health."},"onboardingLayout":{"type":"string","enum":["background_color","full","background_image"],"description":"Layout style: background_color (minimalist), full (featured photo), or background_image (full image background)."},"onboardingPalette":{"type":"string","description":"Palette id returned by page_onboarding_* paletteChoices, for example atom_dark_plum."},"primaryActionId":{"type":"string","enum":["appointment","whatsapp","phone","maps","buy","lead","subscribe","follow"]},"primaryActionLabel":{"type":"string","maxLength":120,"description":"Public label for the primary action in the page's target language."},"fallbackLeadForm":{"type":"object","description":"Public fallback contact/interest form to use when the requested primary action lacks a real destination. All copy must be final-audience copy in the page's target language.","properties":{"mode":{"type":"string","enum":["contact","booking_interest"]},"title":{"type":"string","maxLength":160},"description":{"type":"string","maxLength":280},"fields":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"string","enum":["name","email","phone","message","company"]}},"submitLabel":{"type":"string","maxLength":120},"fieldLabels":{"type":"object","description":"Field labels/placeholders, for example name/email/message in the page's target language.","additionalProperties":{"type":"string","maxLength":120}},"successMessage":{"type":"string","maxLength":280},"consentText":{"type":"string","maxLength":400},"destinationEmail":{"type":"string","format":"email","description":"Private email that receives the form's enquiries (never shown on the page). Ask the user which email should receive them; without it the form cannot deliver anything and cannot be the page's only action at publish."}},"required":["title","submitLabel"],"additionalProperties":false},"primaryActionUrl":{"type":"string","description":"Real destination URL for the primary action when explicitly supplied by the user or imported public source, such as a booking link. Do not invent booking/order URLs; if missing, ask for it or use fallbackLeadForm."},"heroImageUrl":{"type":"string","description":"Explicit user-provided image URL for featured-photo or full-image styles."}},"required":["businessName"],"additionalProperties":false},"_meta":{"securitySchemes":[{"type":"noauth"}],"openai/toolInvocation/invoking":"Creating the landing page...","openai/toolInvocation/invoked":"Landing page ready."}},{"name":"block_add","title":"Add Content Block","description":"Append a new content block to a link-in-bio page. The block must match one of the 14 allowed types (link, social_row, whatsapp, phone_call, email_contact, image, gallery, video_embed, text, map_embed, product_card, lead_form, reviews, save_contact) with that type's strict props. The server generates the block id and returns it in the response. For already-published pages, this saves an unpublished latest revision only. Do not call page_publish in the same assistant turn after this edit. Stop and tell the user the draft/preview was updated, then wait for a separate user message that explicitly asks to update the live link, publish, or make the changes public before calling page_publish. Do NOT call page_unpublish either — the live page should stay public; only unpublish when the user explicitly asks to take it down. The response includes nextSteps: after adding a block, share these hints with the user so they know what else would make the page more complete.","securitySchemes":[{"type":"noauth"}],"annotations":{"title":"Add Content Block","readOnlyHint":false,"openWorldHint":false,"destructiveHint":false,"idempotentHint":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"pageId":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["draft","published"]},"isPublished":{"type":"boolean"},"previewUrl":{"type":"string"},"publishedUrl":{"type":["string","null"]},"claimUrl":{"type":["string","null"]},"editToken":{"type":["string","null"]},"expiresAt":{"type":["string","null"]},"isClaimed":{"type":"boolean"},"canPublish":{"type":"boolean"},"liveUpdateRequired":{"type":"boolean"
# --- truncated at 32 KB (118 KB total) ---
# Full source: https://artifacts.apis.io/create-web-page-com/examples/create-web-page-com-mcp-tools-list.json
Work with this as data
Every example here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for examples
4 MCP tools reach this
find_examplesBrowse and filter every example in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This example
curl "https://apis.io/api/v1/examples/create-web-page-com-mcp-tools-list"
All examples
curl "https://apis.io/api/v1/examples?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.