block.update
ActiveTool of Create Web Page
Patch one content block by stable blockId. Provide a props patch (merged into existing props) and/or a new type. Block types and props are validated against the strict per-type schema. 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.
Parameters schema
{
"type": "object",
"oneOf": [
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"link"
],
"type": "string",
"description": "Use this variant only for a link block."
},
"props": {
"type": "object",
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"description": "Destination URL using http, https, mailto, tel, or sms."
},
"icon": {
"type": "string",
"maxLength": 64
},
"label": {
"type": "string",
"maxLength": 120
},
"highlight": {
"type": "boolean"
},
"thumbnail": {
"type": "object",
"required": [
"src"
],
"properties": {
"alt": {
"type": "string",
"description": "Alt text for accessibility."
},
"src": {
"type": "string",
"description": "Image URL or stored media URL."
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"variants": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"mediaAssetId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as link. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"social_row"
],
"type": "string",
"description": "Use this variant only for a social_row block."
},
"props": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"platform",
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public http(s) social/profile URL."
},
"label": {
"type": "string",
"maxLength": 64
},
"platform": {
"enum": [
"instagram",
"tiktok",
"youtube",
"x",
"facebook",
"linkedin",
"spotify",
"apple_music",
"soundcloud",
"github",
"pinterest",
"threads",
"twitch",
"discord",
"telegram",
"snapchat",
"vimeo",
"behance",
"dribbble",
"medium",
"substack",
"website",
"other"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 16
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as social_row. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"whatsapp"
],
"type": "string",
"description": "Use this variant only for a whatsapp block."
},
"props": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 120
},
"number": {
"type": "string",
"maxLength": 32,
"description": "Public WhatsApp phone number."
},
"message": {
"type": "string",
"maxLength": 500,
"description": "Optional prefilled message."
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as whatsapp. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"phone_call"
],
"type": "string",
"description": "Use this variant only for a phone_call block."
},
"props": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 120
},
"number": {
"type": "string",
"maxLength": 32,
"description": "Public phone number."
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as phone_call. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"email_contact"
],
"type": "string",
"description": "Use this variant only for a email_contact block."
},
"props": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Public business email address."
},
"label": {
"type": "string",
"maxLength": 120
},
"subject": {
"type": "string",
"maxLength": 160
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as email_contact. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"image"
],
"type": "string",
"description": "Use this variant only for a image block."
},
"props": {
"type": "object",
"properties": {
"image": {
"type": "object",
"required": [
"src"
],
"properties": {
"alt": {
"type": "string",
"description": "Alt text for accessibility."
},
"src": {
"type": "string",
"description": "Image URL or stored media URL."
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"variants": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"mediaAssetId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
},
"layout": {
"enum": [
"classic",
"wide",
"background"
],
"type": "string"
},
"caption": {
"type": "string",
"maxLength": 280
},
"link_url": {
"type": "string",
"maxLength": 2048
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as image. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"gallery"
],
"type": "string",
"description": "Use this variant only for a gallery block."
},
"props": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"src"
],
"properties": {
"alt": {
"type": "string",
"description": "Alt text for accessibility."
},
"src": {
"type": "string",
"description": "Image URL or stored media URL."
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"variants": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"mediaAssetId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
},
"maxItems": 24
},
"display": {
"enum": [
"grid",
"carousel"
],
"type": "string"
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as gallery. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"video_embed"
],
"type": "string",
"description": "Use this variant only for a video_embed block."
},
"props": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"provider": {
"enum": [
"youtube",
"vimeo",
"mp4"
],
"type": "string"
},
"video_id": {
"type": "string",
"maxLength": 2048,
"description": "Video id or URL, depending on provider."
},
"thumbnail": {
"type": "object",
"required": [
"src"
],
"properties": {
"alt": {
"type": "string",
"description": "Alt text for accessibility."
},
"src": {
"type": "string",
"description": "Image URL or stored media URL."
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"variants": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"mediaAssetId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as video_embed. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"text"
],
"type": "string",
"description": "Use this variant only for a text block."
},
"props": {
"type": "object",
"properties": {
"body": {
"type": "string",
"maxLength": 2000
},
"items": {
"type": "array",
"items": {
"type": "string",
"maxLength": 280
},
"maxItems": 12
},
"heading": {
"type": "string",
"maxLength": 160
},
"alignment": {
"enum": [
"left",
"center"
],
"type": "string"
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as text. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"map_embed"
],
"type": "string",
"description": "Use this variant only for a map_embed block."
},
"props": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"zoom": {
"type": "number",
"maximum": 20,
"minimum": 1
},
"label": {
"type": "string",
"maxLength": 160
},
"address": {
"type": "string",
"maxLength": 400,
"description": "Public business address or service-area text."
},
"place_id": {
"type": "string",
"maxLength": 160
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as map_embed. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"product_card"
],
"type": "string",
"description": "Use this variant only for a product_card block."
},
"props": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 160
},
"image": {
"type": "object",
"required": [
"src"
],
"properties": {
"alt": {
"type": "string",
"description": "Alt text for accessibility."
},
"src": {
"type": "string",
"description": "Image URL or stored media URL."
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"variants": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"mediaAssetId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
},
"buy_url": {
"type": "string",
"description": "Public http(s) purchase URL."
},
"cta_label": {
"type": "string",
"maxLength": 120
},
"price_text": {
"type": "string",
"maxLength": 40
},
"description": {
"type": "string",
"maxLength": 280
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as product_card. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"lead_form"
],
"type": "string",
"description": "Use this variant only for a lead_form block."
},
"props": {
"type": "object",
"properties": {
"mode": {
"enum": [
"contact",
"newsletter",
"booking_interest"
],
"type": "string"
},
"title": {
"type": "string",
"maxLength": 160
},
"fields": {
"type": "array",
"items": {
"enum": [
"name",
"email",
"phone",
"message",
"company"
],
"type": "string"
},
"maxItems": 5,
"minItems": 1
},
"description": {
"type": "string",
"maxLength": 280
},
"consent_text": {
"type": "string",
"maxLength": 400
},
"field_labels": {
"type": "object",
"description": "Public labels/placeholders for form fields in the page's target language.",
"additionalProperties": {
"type": "string",
"maxLength": 120
}
},
"submit_label": {
"type": "string",
"maxLength": 120
},
"success_message": {
"type": "string",
"maxLength": 280
},
"destination_email": {
"type": "string",
"description": "Public/business lead recipient email."
},
"destination_webhook": {
"type": "string",
"description": "Public http(s) webhook URL."
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as lead_form. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"pageId",
"blockId",
"type",
"props"
],
"properties": {
"type": {
"enum": [
"reviews"
],
"type": "string",
"description": "Use this variant only for a reviews block."
},
"props": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"author",
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 280
},
"role": {
"type": "string",
"maxLength": 120
},
"author": {
"type": "string",
"maxLength": 64
},
"avatar": {
"type": "object",
"required": [
"src"
],
"properties": {
"alt": {
"type": "string",
"description": "Alt text for accessibility."
},
"src": {
"type": "string",
"description": "Image URL or stored media URL."
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"variants": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"mediaAssetId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
},
"rating": {
"type": "number",
"maximum": 5,
"minimum": 1
}
},
"additionalProperties": false
},
"maxItems": 12
},
"display": {
"enum": [
"carousel",
"stack"
],
"type": "string"
}
},
"description": "Partial props patch for this block type. Include only fields you want to change.",
"additionalProperties": false
},
"pageId": {
"type": "string",
"format": "uuid"
},
"blockId": {
"type": "string",
"description": "The block id returned by block.add or page.get. Stable across reorders."
},
"editToken": {
"type": "string"
}
},
"description": "Patch an existing block as reviews. Provide the block's current type unless intentionally changing it.",
"additionalProperties": false
}
],
"description": "Patch one block. Choose the oneOf variant whose type matches the existing block, unless intentionally changing the block type."
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
Create Web Page
https://github.com/daniel-lopez-puig/landings
1/7 registries