Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "download_qr", "get_analytics", "get_form" and 20 more
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":" ⟨4 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get scan analytics"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get form"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get form responses"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get landing page"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":" ⟨5 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get QR code"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Get short link"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":" ⟨5 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":" ⟨4 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List folders"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List forms"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List landing pages"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List QR codes"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List short links"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List tags"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List design templates"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"List workspaces"}
{"destructiveHint":falsetrue,"idempotentHint":true,"openWorldHint":false,"readOnlyHint" ⟨6 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint" ⟨4 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint" ⟨5 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":true,"openWorldHint":true,"readOnlyHint" ⟨5 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":true,"openWorldHint":true,"readOnlyHint" ⟨5 unchanged words⟩
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Changed the definition of "build_page", "create_form", "create_page" and 3 more
⟨208 unchanged words⟩ (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.","type":"string"},"eye_color":{ ⟨350 unchanged words⟩
⟨159 unchanged words⟩ (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.","type":"string"},"eye_color":{
Changed the definition of "build_page", "create_form", "create_page" and 4 more
⟨89 unchanged words⟩ :"object"},"type":"array"},"color_scope":{"description":"For the QR code this mints: How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.","enum":["whole","pattern_only"],"type":"string"},"description":{"description":"Optional SEO/description text.","type" ⟨250 unchanged words⟩ for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.","type":"string"},"publish":{ ⟨121 unchanged words⟩
Authorization not required, issuer https://hovercode.com
Authorization not required, issuer https://hovercode.com
Changed the definition of "build_page", "create_form", "create_page" and 7 more
⟨134 unchanged words⟩ denser).","type":"string"},"eye_color":{"description":"For the QR code this mints: Hex color for the corner eyes, if different from `primary_color` (which they follow by default).","type":"string"},"eye_style":{"description":"For the QR code this mints: Corner eyestyle.shape.","enum":["Square","Rounded"," ⟨7 unchanged words⟩ the QR code this mints: Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.","type":"string"},"frame_color":{"description":"ForOnlytheuseQRonecodeof
Changed the definition of "list_templates"
⟨107 unchanged words⟩ ,"id":{"type":"string"},"logo":{"description":"The template's logo image, if has_logo — pass as logo_url to update_qr_code/create_qr_code to carry it over.","type":["string","null"]},"pattern":{"type":["string","null" ⟨26 unchanged words⟩
Changed the definition of "build_page", "create_form" and "create_page"
⟨14 unchanged words⟩ it, and return its live URL +aits own QRcode.code (`qr_id`; style it with the QR design args here, restyle later with update_qr_code — don't create another). This is the 'make me a page for ⟨45 unchanged words⟩
{"properties":{"background_color":{"description":"For the QR code this mints: Hex background color, or 'transparent'.","type":"string"},"bg_color":{"description":"Hex page background color. ⟨85 unchanged words⟩ used).","type":"string"},"error_correction":{"description":"For the QR code this mints: QR error correction level: L, M, Q, or H (higher tolerates more damage but is denser).","type":"string"},"eye_style":{"description":"For the QR code this mints: Corner eye style.","enum":["Square","Rounded","Drop","Leaf"],"type":"string"},"frame":{"description":"For the QR code this mints: Frame slug. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above. Only use one of these if the user wants text on the code; `text` is ignored otherwise.","type":"string"},"has_border":{"description":"For the QR code this mints: Draw a border around the code.","type":"boolean"},"logo_url":{"description":"For the QR code this mints: URL of a logo image to place in the center.","type":"string"},"pattern":{"description":"For the QR code this mints: Module pattern style.","enum":["Original","Squares","Circles","Lines","Triangles","Diamonds"],"type":"string"},"primary_color":{"description":"For the QR code this mints: Hex color for the QR pattern, e.g. #111111.","type":"string"},"
Authorization not required, issuer https://hovercode.com
Changed the definition of "build_page", "create_folder", "create_form" and 33 more
before
—after
{"additionalProperties":true,"properties":{"blocks":{"description":"Number of blocks on the page.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"published":{"type":"boolean"},"qr_id":{"type":["string","null"]},"share_url":{"type":["string","null"]},"slug":{"type":["string","null"]},"workspace":{"type":"string"}},"type":"object"}before
—
{"additionalProperties":true,"properties":{"code_count":{"type":"integer"},"created":{"type":"string"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"parent":{"description":"Parent folder id, null at the top level.","type":["string","null"]},"path":{"description":"Full path, e.g. Campaigns / Spring 2026.","type":"string"},"slug":{"type":"string"}},"type":"object"}Authorization not required, issuer https://hovercode.com
Certificate recorded, valid to 2026-11-09
Authorization not required, issuer https://hovercode.com
First tool surface recorded: 36 tools (server version 1.0.0)
Showing the latest 22 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨143 unchanged words⟩ (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.","type":"string"},"eye_color":{ ⟨376 unchanged words⟩
⟨55 unchanged words⟩ doesn't make clear which one someone wants, don't guess: stop and askratherthisthanexactguessquestion,e.g.verbatim, before calling this tool — 'Should this be trackable and editable later, or fixed permanently onceprinted?'.printed?' — then wait for the answer. Dynamic codes are included free up to a ⟨61 unchanged words⟩
⟨147 unchanged words⟩ (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.","type":"string"},"eye_color":{ ⟨435 unchanged words⟩
⟨138 unchanged words⟩ (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.","type":"string"},"eye_color":{ ⟨344 unchanged words⟩
⟨66 unchanged words⟩ the result. Any combination works in one call. Only include a design field when you actually intend to change it: every one you pass is applied exactly as given, even a color identical to what you set at creation — there's no way to tell 'leave this as-is' from 'set this back to what it already was'. In particular, someone may have since edited the design directly (a widget's own Edit panel can change eye/frame color, pattern, or frame without that edit ever appearing in this conversation) — resending a color or style you remember from an earlier turn will silently overwrite it. If you're not sure the design still matches what you last set, call get_qr_code first rather than restoring from memory.
⟨120 unchanged words⟩ (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.","type":"string"},"eye_color":{ ⟨147 unchanged words⟩ ) to place in the center — usewhen`logo_url`youinsteadhavewhenever thefileimageratheristhanreachable at a URL. Producing this string means generating it yourself as text, and a single dropped or altered character anywhere in a long base64 string corrupts everything after it — the code then renders with a blank space where the logo should be, discovered only after the fact. If a call with this fails validation (e.g. 'corrupted or incomplete'), that's very likely this happening — retry by generating the string again rather than assuming the source image is bad.","type":"string"},"logo_round":{ ⟨177 unchanged words⟩
⟨107 unchanged words⟩ Publishing mints a dynamic short link and QR(requires— always dynamic, no static option, since apaidformplan).has to resolve somewhere live. Notifications are a separate, paid, verified-member setting. ⟨7 unchanged words⟩
⟨33 unchanged words⟩ button-text color.","type":"string"},"color_scope":{"description":"For the QR code this mints: How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.","enum":["whole","pattern_only"],"type":"string"},"description":{"description":"Optional description shown above the ⟨751 unchanged words⟩ for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.","type":"string"},"redirect_url":{ ⟨142 unchanged words⟩
⟨19 unchanged words⟩ background color.","type":"string"},"color_scope":{"description":"For the QR code this mints: How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.","enum":["whole","pattern_only"],"type":"string"},"description":{"description":"Optional text shown under the ⟨299 unchanged words⟩ for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.","type":"string"},"slug":{ ⟨101 unchanged words⟩
⟨45 unchanged words⟩ can later swap the PDF without reprinting thecode.codeRequires—aalwayspaiddynamic,planno static option here. Draws on the same free, per-workspace dynamic-code allowance as create_qr_code (dynamiclist_workspaces'codes`dynamic_qr_limit`).; past that limit this call fails asking for an upgrade, it isn't paid-only from the start.
⟨5 unchanged words⟩ and return its details plus a rendered PNG.Set`dynamic: true`formakesathecodedestinationwhosechangeable later and tracks scans; `dynamic: false` (the default, 'static') encodes the destination directly into the code image — it can never be retargeted or tracked, and this choice can't be changedlaterafter creation. When the request doesn't make clear which one someone wants, ask rather than guess, e.g. 'Should this be trackable andwhoseeditablescanslater, or fixed permanently once printed?'. Dynamic codes aretrackedincluded(requiresfree up to apaidper-workspaceplanlimit (list_workspaces' `dynamic_qr_used`/`dynamic_qr_limit`);static—codesnotareafreepaid-onlyandfeature;encodepastthethatdatalimitdirectly.this call fails asking for an upgrade. Supports full design control (colors, pattern, ⟨36 unchanged words⟩
⟨6 unchanged words⟩ or 'transparent'.","type":"string"},"color_scope":{"description":"How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.","enum":["whole","pattern_only"],"type":"string"},"display_name":{"description":"Internal name to find ⟨4 unchanged words⟩ string"},"dynamic":{"description":"Editable destination +trackedscandestinationtracking; can't be switched after creation. Free up to a per-plan limit, not paid-only. Default false (paidstatic: fixed forever, no tracking).DefaultAskfalse.the user if their wording doesn't make the choice clear.","type":"boolean"},"error_correction":{ ⟨214 unchanged words⟩ for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.","type":"string"},"qr_data":{ ⟨222 unchanged words⟩
⟨6 unchanged words⟩ or 'transparent'.","type":"string"},"color_scope":{"description":"How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.","enum":["whole","pattern_only"],"type":"string"},"dynamic":{"description":"Make all of them editable +trackedtracked;(paid).can't be switched after creation. Free up to a per-plan limit, not paid-only — a large batch can exceed it partway through, which shows up as per-item errors, not a whole-batch failure.","type":"boolean"},"error_correction":{ ⟨243 unchanged words⟩ for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.","type":"string"},"tags":{ ⟨102 unchanged words⟩
⟨24 unchanged words⟩ or 'transparent'.","type":"string"},"color_scope":{"description":"How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.","enum":["whole","pattern_only"],"type":"string"},"display_name":{"description":"New internal name.", ⟨263 unchanged words⟩ for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.","type":"string"},"qr_data":{ ⟨84 unchanged words⟩
⟨85 unchanged words⟩ denser).","type":"string"},"eye_color":{"description":"For the QR code this mints: Hex color for the corner eyes, if different from `primary_color` (which they follow by default).","type":"string"},"eye_style":{"description":"For the QR code this mints: Corner eyestyle.shape.","enum":["Square","Rounded"," ⟨311 unchanged words⟩ the QR code this mints: Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.","type":"string"},"frame_color":{"description":"ForOnlytheuseQRonecodeofthisthesemints:ifHex color for theuserframe,wantsiftextdifferentonfromthe`primary_color`code;(which`text`itisfollowsignoredbyotherwise.default).","type":"string"},"has_border":{ ⟨255 unchanged words⟩ Hex color for the QR pattern, e.g. #111111. Eyes and frame follow this automatically — one color request styles the whole code; only set `eye_color`/`frame_color` for a code that should use a *different* color for those, e.g. 'dark green with gold eyes'.","type":"string"},"redirect_url":{ ⟨23 unchanged words⟩ "For the QR code this mints: Captiontext;text.onlyRendersrenderedonbyanytheseframeframes:thatcard,supportscard-above,one;speech-bubbleif `frame` isn't also given (or the one given can't show text),speech-bubble-above.a frame that can is chosen automatically.","type":"string"},"text_color":{ ⟨82 unchanged words⟩
⟨69 unchanged words⟩ denser).","type":"string"},"eye_color":{"description":"For the QR code this mints: Hex color for the corner eyes, if different from `primary_color` (which they follow by default).","type":"string"},"eye_style":{"description":"For the QR code this mints: Corner eyestyle.shape.","enum":["Square","Rounded"," ⟨7 unchanged words⟩ the QR code this mints: Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.","type":"string"},"frame_color":{"description":"ForOnlytheuseQRonecodeofthisthesemints:ifHex color for theuserframe,wantsiftextdifferentonfromthe`primary_color`code;(which`text`itisfollowsignoredbyotherwise.default).","type":"string"},"has_border":{ ⟨109 unchanged words⟩ Hex color for the QR pattern, e.g. #111111. Eyes and frame follow this automatically — one color request styles the whole code; only set `eye_color`/`frame_color` for a code that should use a *different* color for those, e.g. 'dark green with gold eyes'.","type":"string"},"slug":{ ⟨11 unchanged words⟩ "For the QR code this mints: Captiontext;text.onlyRendersrenderedonbyanytheseframeframes:thatcard,supportscard-above,one;speech-bubbleif `frame` isn't also given (or the one given can't show text),speech-bubble-above.a frame that can is chosen automatically.","type":"string"},"text_color":{ ⟨53 unchanged words⟩
⟨66 unchanged words⟩ "type":["string","null"]},"eye_color":{"type":["string","null"]},"eye_style":{"type":["string","null" ⟨30 unchanged words⟩ },{"type":"null"}]},"frame":{"type":["string","null"]},"frame_color":{"type":["string","null"] ⟨201 unchanged words⟩
⟨50 unchanged words⟩ denser).","type":"string"},"eye_color":{"description":"Hex color for the corner eyes, if different from `primary_color` (which they follow by default).","type":"string"},"eye_style":{"description":"Corner eyestyle.shape.","enum":["Square","Rounded"," ⟨24 unchanged words⟩ },"frame":{"description":"Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.Only use one of","type":"string"},"frame_color":{"description":"Hexthesecoloriffor theuserframe,wantsiftextdifferentonfromthe`primary_color`code;(which`text`itisfollowsignoredbyotherwise.default).","type":"string"},"gps_tracking":{ ⟨51 unchanged words⟩ Hex color for the QR pattern, e.g. #111111. Eyes and frame follow this automatically — one color request styles the whole code; only set `eye_color`/`frame_color` for a code that should use a *different* color for those, e.g. 'dark green with gold eyes'.","type":"string"},"qr_data":{ ⟨82 unchanged words⟩ string"},"text":{"description":"Captiontext;text.onlyRendersrenderedonbyanytheseframeframes:thatcard,supportscard-above,one;speech-bubbleif `frame` isn't also given (or the one given can't show text),speech-bubble-above.a frame that can is chosen automatically.","type":"string"},"text_secondary":{ ⟨106 unchanged words⟩
⟨66 unchanged words⟩ "type":["string","null"]},"eye_color":{"type":["string","null"]},"eye_style":{"type":["string","null" ⟨30 unchanged words⟩ },{"type":"null"}]},"frame":{"type":["string","null"]},"frame_color":{"type":["string","null"] ⟨201 unchanged words⟩
⟨40 unchanged words⟩ denser).","type":"string"},"eye_color":{"description":"Hex color for the corner eyes, if different from `primary_color` (which they follow by default).","type":"string"},"eye_style":{"description":"Corner eyestyle.shape.","enum":["Square","Rounded"," ⟨4 unchanged words⟩ },"frame":{"description":"Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.Only use one of","type":"string"},"frame_color":{"description":"Hexthesecoloriffor theuserframe,wantsiftextdifferentonfromthe`primary_color`code;(which`text`itisfollowsignoredbyotherwise.default).","type":"string"},"has_border":{ ⟨100 unchanged words⟩ Hex color for the QR pattern, e.g. #111111. Eyes and frame follow this automatically — one color request styles the whole code; only set `eye_color`/`frame_color` for a code that should use a *different* color for those, e.g. 'dark green with gold eyes'.","type":"string"},"tags":{ ⟨35 unchanged words⟩ string"},"text":{"description":"Captiontext;text.onlyRendersrenderedonbyanytheseframeframes:thatcard,supportscard-above,one;speech-bubbleif `frame` isn't also given (or the one given can't show text),speech-bubble-above.a frame that can is chosen automatically.","type":"string"},"text_secondary":{ ⟨33 unchanged words⟩
⟨66 unchanged words⟩ "type":["string","null"]},"eye_color":{"type":["string","null"]},"eye_style":{"type":["string","null" ⟨30 unchanged words⟩ },{"type":"null"}]},"frame":{"type":["string","null"]},"frame_color":{"type":["string","null"] ⟨201 unchanged words⟩
⟨101 unchanged words⟩ "type":["string","null"]},"eye_color":{"type":["string","null"]},"eye_style":{"type":["string","null" ⟨30 unchanged words⟩ },{"type":"null"}]},"frame":{"type":["string","null"]},"frame_color":{"type":["string","null"] ⟨205 unchanged words⟩
⟨90 unchanged words⟩ ,"created":{"type":"string"},"eye_color":{"type":["string","null"]},"eye_style":{"type":["string","null"]},"frame":{"type":["string","null"]},"frame_color":{"type":["string","null"]},"has_border":{"type":"boolean"},"has_logo":{"type":"boolean"},"id":{"type":"string"},"is_default":{"description":"True for one of the platform's built-in designs; false for a template this workspace saved itself.","type":"boolean"},"logo":{"description":"The template's ⟨47 unchanged words⟩
⟨52 unchanged words⟩ denser).","type":"string"},"eye_color":{"description":"Hex color for the corner eyes, if different from `primary_color` (which they follow by default).","type":"string"},"eye_style":{"description":"Corner eyestyle.shape.","enum":["Square","Rounded"," ⟨23 unchanged words⟩ },"frame":{"description":"Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.Only use one of","type":"string"},"frame_color":{"description":"Hexthesecoloriffor theuserframe,wantsiftextdifferentonfromthe`primary_color`code;(which`text`itisfollowsignoredbyotherwise.default).","type":"string"},"gps_tracking":{ ⟨98 unchanged words⟩ Hex color for the QR pattern, e.g. #111111. Eyes and frame follow this automatically — one color request styles the whole code; only set `eye_color`/`frame_color` for a code that should use a *different* color for those, e.g. 'dark green with gold eyes'.","type":"string"},"qr_data":{ ⟨35 unchanged words⟩ array"},"text":{"description":"Captiontext;text.onlyRendersrenderedonbyanytheseframeframes:thatcard,supportscard-above,one;speech-bubbleif `frame` isn't also given (or the one given can't show text),speech-bubble-above.a frame that can is chosen automatically.","type":"string"},"text_secondary":{ ⟨15 unchanged words⟩
⟨66 unchanged words⟩ "type":["string","null"]},"eye_color":{"type":["string","null"]},"eye_style":{"type":["string","null" ⟨30 unchanged words⟩ },{"type":"null"}]},"frame":{"type":["string","null"]},"frame_color":{"type":["string","null"] ⟨201 unchanged words⟩
⟨58 unchanged words⟩ never call create_qr_code or create_short_link for a form'slink.link; pass QR design args (primary_color, eye_style, frame, logo_url, …) here to style that code in the same call. Supports on-brand styling (theme/colors/logo), a `redirect_url` ⟨43 unchanged words⟩
{"properties":{"background_color":{"description":"For the QR code this mints: Hex background color, or 'transparent'.","type":"string"},"bg_color":{"description":"Hex background color.", ⟨37 unchanged words⟩ used).","type":"string"},"error_correction":{"description":"For the QR code this mints: QR error correction level: L, M, Q, or H (higher tolerates more damage but is denser).","type":"string"},"eye_style":{"description":"For the QR code this mints: Corner eye style.","enum":["Square","Rounded","Drop","Leaf"],"type":"string"},"fields":{"description":"The fields to collect ⟨295 unchanged words⟩ :"object"},"type":"array"},"frame":{"description":"For the QR code this mints: Frame slug. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above. Only use one of these if the user wants text on the code; `text` is ignored otherwise.","type":"string"},"has_border":{"description":"For the QR code this mints: Draw a border around the code.","type":"boolean"},"logo_url":{"description":"URL of a logo ⟨203 unchanged words⟩ :"object"},"type":"array"},"pattern":{"description":"For the QR code this mints: Module pattern style.","enum":["Original","Squares","Circles","Lines","Triangles","Diamonds"],"type":"string"},"primary_color":{"description":"For the QR code this mints: Hex color for the QR pattern, e.g. #111111.","type":"string"},"redirect_url":{"description":"URL to send respondents ⟨12 unchanged words⟩ auto-generated).","type":"string"},"text":{"description":"For the QR code this mints: Caption text; only rendered by these frames: card, card-above, speech-bubble, speech-bubble-above.","type":"string"},"text_color":{"description":"Hex text color.","type":"string"},"text_secondary":{"description":"For the QR code this mints: Secondary caption line, where the frame supports it.","type":"string"},"thank_you_message":{ ⟨57 unchanged words⟩
⟨21 unchanged words⟩ `share_url`) + its own QR code (`qr_id`; style it with the QR design args here; don't create another). Use this for 'make ⟨28 unchanged words⟩
{"properties":{"background_color":{"description":"For the QR code this mints: Hex background color, or 'transparent'.","type":"string"},"bg_color":{"description":"Hex background color.", ⟨21 unchanged words⟩ used).","type":"string"},"error_correction":{"description":"For the QR code this mints: QR error correction level: L, M, Q, or H (higher tolerates more damage but is denser).","type":"string"},"eye_style":{"description":"For the QR code this mints: Corner eye style.","enum":["Square","Rounded","Drop","Leaf"],"type":"string"},"frame":{"description":"For the QR code this mints: Frame slug. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above. Only use one of these if the user wants text on the code; `text` is ignored otherwise.","type":"string"},"has_border":{"description":"For the QR code this mints: Draw a border around the code.","type":"boolean"},"links":{"description":"The link buttons on ⟨37 unchanged words⟩ :"object"},"type":"array"},"logo_url":{"description":"For the QR code this mints: URL of a logo image to place in the center.","type":"string"},"pattern":{"description":"For the QR code this mints: Module pattern style.","enum":["Original","Squares","Circles","Lines","Triangles","Diamonds"],"type":"string"},"primary_color":{"description":"For the QR code this mints: Hex color for the QR pattern, e.g. #111111.","type":"string"},"slug":{"description":"Custom URL slug (else auto-generated).","type":"string"},"text":{"description":"For the QR code this mints: Caption text; only rendered by these frames: card, card-above, speech-bubble, speech-bubble-above.","type":"string"},"text_color":{"description":"Hex text color.","type":"string"},"text_secondary":{"description":"For the QR code this mints: Secondary caption line, where the frame supports it.","type":"string"},"title":{ ⟨28 unchanged words⟩
⟨31 unchanged words⟩ me a link and QR to share it'. The result's `share_url` is the public link and `qr_id` is the form's own dynamic QR code (image included) — never call create_qr_code or create_short_link for a form's link. Supports on-brand styling (theme/colors/logo), a `redirect_url` after ⟨42 unchanged words⟩
before
—after
{"additionalProperties":true,"properties":{"allow_multiple_submissions":{"type":"boolean"},"bg_color":{"type":["string","null"]},"button_color":{"type":["string","null"]},"button_text_color":{"type":["string","null"]},"created":{"type":"string"},"dashboard_url":{"description":"Where the owner manages the form on hovercode.com.","type":"string"},"description":{"type":["string","null"]},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"fields":{"items":{"additionalProperties":true,"properties":{"field_type":{"type":"string"},"help_text":{"type":["string","null"]},"id":{"type":"string"},"label":{"type":"string"},"logic":{"type":["object","null"]},"max_length":{"type":["integer","null"]},"max_value":{"type":["number","null"]},"min_length":{"type":["integer","null"]},"min_value":{"type":["number","null"]},"options":{"items":{"additionalProperties":true,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},"order":{"type":"integer"},"pattern":{"type":["string","null"]},"placeholder":{"type":["string","null"]},"required":{"type":"boolean"},"settings":{"type":"object"}},"type":"object"},"type":"array"},"has_unpublished_changes":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"modified":{"type":"string"},"notification_recipients":{"type":"array"},"outcomes":{"type":"array"},"qr_code_svg":{"description":"QR code for the share URL, as SVG markup.","type":["string","null"]},"qr_id":{"description":"Id of the form's own QR code (published forms). Use with download_qr.","type":["string","null"]},"redirect_delay":{"type":["integer","null"]},"redirect_url":{"type":["string","null"]},"response_count":{"type":"integer"},"share_url":{"description":"Public URL respondents open (null until published).","type":["string","null"]},"shortlink_domain":{"type":["string","null"]},"shortlink_slug":{"type":["string","null"]},"shortlink_url":{"type":["string","null"]},"show_powered_by":{"type":"boolean"},"show_progress":{"type":"boolean"},"status":{"description":"Draft, Published, or Closed.","type":"string"},"text_color":{"type":["string","null"]},"thank_you_message":{"type":["string","null"]},"thank_you_title":{"type":["string","null"]},"title":{"type":"string"},"workspace_id":{"type":"string"}},"type":"object"}⟨14 unchanged words⟩ of links, and return its live URL (`share_url`) +aits own QRcode.code (`qr_id`; don't create another). Use this for 'make me a page with ⟨24 unchanged words⟩
before
—after
{"additionalProperties":true,"properties":{"blocks":{"description":"Block list; present for layout_version 2 pages.","items":{"additionalProperties":true,"properties":{"content":{"type":"object"},"form":{"description":"Linked form id for form/signup blocks.","type":["string","null"]},"hidden":{"type":"boolean"},"id":{"type":"string"},"type":{"type":"string"}},"type":"object"},"type":"array"},"created":{"type":"string"},"description":{"type":["string","null"]},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"layout_version":{"description":"1 = legacy links list, 2 = block builder.","type":"integer"},"links":{"items":{"additionalProperties":true,"properties":{"title":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"type":"object"},"type":"array"},"qr_id":{"description":"The page's QR code id (use with download_qr / update_qr_code).","type":["string","null"]},"share_url":{"description":"Live URL of the page.","type":["string","null"]},"slug":{"type":["string","null"]},"status":{"type":"string"},"svg":{"type":["string","null"]},"title":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"background_color":{"type":["string","null"]},"created":{"type":"string"},"display_name":{"type":["string","null"]},"dynamic":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"error_correction":{"type":["string","null"]},"eye_style":{"type":["string","null"]},"folder":{"anyOf":[{"additionalProperties":true,"description":"The folder a code sits in (null when unfiled).","properties":{"id":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"slug":{"type":"string"}},"type":"object"},{"type":"null"}]},"frame":{"type":["string","null"]},"gps_tracking":{"type":"boolean"},"has_border":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"pattern":{"type":["string","null"]},"pdf_file_url":{"type":["string","null"]},"png":{"description":"PNG URL once rendered; null until then (use download_qr).","type":["string","null"]},"primary_color":{"type":["string","null"]},"qr_data":{"description":"Encoded data: the destination URL for URL codes.","type":"string"},"qr_type":{"description":"Link, Text, vCard, or PDF.","type":"string"},"shortlink_url":{"description":"Tracked short URL a dynamic code points at; null for static codes.","type":["string","null"]},"svg":{"description":"Rendered QR as SVG markup.","type":["string","null"]},"svg_file":{"type":["string","null"]},"tags":{"items":{"additionalProperties":true,"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"},"text":{"type":["string","null"]},"text_secondary":{"type":["string","null"]},"total_scans":{"type":["integer","null"]},"unique_scans":{"type":["integer","null"]},"vcard":{"anyOf":[{"additionalProperties":true,"description":"Contact details encoded in a vCard code.","properties":{"city":{"type":["string","null"]},"company_name":{"type":["string","null"]},"country":{"type":["string","null"]},"description":{"type":["string","null"]},"email":{"type":["string","null"]},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"mobile_number":{"type":["string","null"]},"phone_number":{"type":["string","null"]},"position":{"type":["string","null"]},"post_code":{"type":["string","null"]},"state":{"type":["string","null"]},"street":{"type":["string","null"]},"website":{"type":["string","null"]}},"type":"object"},{"type":"null"}]}},"type":"object"}⟨50 unchanged words⟩ eye style, frames with captions, logo). Not for Hovercode forms, pages, or short links: those already have their own QR code (returned as `qr_id` / `id`) — use download_qr or update_qr_code with that id instead.
before
—after
{"additionalProperties":true,"properties":{"background_color":{"type":["string","null"]},"created":{"type":"string"},"display_name":{"type":["string","null"]},"dynamic":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"error_correction":{"type":["string","null"]},"eye_style":{"type":["string","null"]},"folder":{"anyOf":[{"additionalProperties":true,"description":"The folder a code sits in (null when unfiled).","properties":{"id":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"slug":{"type":"string"}},"type":"object"},{"type":"null"}]},"frame":{"type":["string","null"]},"gps_tracking":{"type":"boolean"},"has_border":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"pattern":{"type":["string","null"]},"pdf_file_url":{"type":["string","null"]},"png":{"description":"PNG URL once rendered; null until then (use download_qr).","type":["string","null"]},"primary_color":{"type":["string","null"]},"qr_data":{"description":"Encoded data: the destination URL for URL codes.","type":"string"},"qr_type":{"description":"Link, Text, vCard, or PDF.","type":"string"},"shortlink_url":{"description":"Tracked short URL a dynamic code points at; null for static codes.","type":["string","null"]},"svg":{"description":"Rendered QR as SVG markup.","type":["string","null"]},"svg_file":{"type":["string","null"]},"tags":{"items":{"additionalProperties":true,"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"},"text":{"type":["string","null"]},"text_secondary":{"type":["string","null"]},"total_scans":{"type":["integer","null"]},"unique_scans":{"type":["integer","null"]},"vcard":{"anyOf":[{"additionalProperties":true,"description":"Contact details encoded in a vCard code.","properties":{"city":{"type":["string","null"]},"company_name":{"type":["string","null"]},"country":{"type":["string","null"]},"description":{"type":["string","null"]},"email":{"type":["string","null"]},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"mobile_number":{"type":["string","null"]},"phone_number":{"type":["string","null"]},"position":{"type":["string","null"]},"post_code":{"type":["string","null"]},"state":{"type":["string","null"]},"street":{"type":["string","null"]},"website":{"type":["string","null"]}},"type":"object"},{"type":"null"}]}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"created":{"items":{"additionalProperties":true,"properties":{"display_name":{"type":["string","null"]},"id":{"type":"string"},"qr_data":{"type":"string"},"short_url":{"type":["string","null"]}},"type":"object"},"type":"array"},"created_count":{"type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"errors":{"items":{"additionalProperties":true,"properties":{"error":{"type":"string"},"index":{"type":"integer"}},"type":"object"},"type":"array"},"failed_count":{"type":"integer"}},"type":"object"}Create a tracked short link for aURLURL.(noItQRcomesneeded,withthoughitsoneownisQRreturnedcodetoo(same id; use download_qr). Supports a custom slug and a custom ⟨5 unchanged words⟩ changed later with update_short_link, and clicks are tracked. Never shorten a link that is already a Hovercode short link, form link, or page link — those are already tracked and already have a QR code.
before
—after
{"additionalProperties":true,"properties":{"created":{"type":"string"},"display_name":{"type":["string","null"]},"domain":{"type":"string"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"gps":{"type":"boolean"},"id":{"type":"string"},"link":{"description":"Destination URL.","type":"string"},"link_type":{"type":"string"},"png":{"type":["string","null"]},"short_url":{"type":"string"},"slug":{"type":"string"},"svg":{"description":"QR code for the short URL, as SVG markup.","type":["string","null"]},"total_clicks":{"type":"integer"},"unique_clicks":{"type":"integer"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"png_url":{"description":"Print-ready PNG; null if rendering failed.","type":["string","null"]},"svg_url":{"type":["string","null"]}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"end":{"type":"string"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"period_days":{"type":"integer"},"qr_code_id":{"description":"Set when the report is for a single code.","type":"string"},"scans_by_day":{"items":{"additionalProperties":true,"properties":{"date":{"type":"string"},"scans":{"type":"integer"}},"type":"object"},"type":"array"},"start":{"type":"string"},"top_browsers":{"items":{"additionalProperties":true,"properties":{"scans":{"type":"integer"},"value":{"type":["string","null"]}},"type":"object"},"type":"array"},"top_cities":{"items":{"additionalProperties":true,"properties":{"scans":{"type":"integer"},"value":{"type":["string","null"]}},"type":"object"},"type":"array"},"top_codes":{"items":{"additionalProperties":true,"properties":{"id":{"type":["string","null"]},"scans":{"type":"integer"},"value":{"type":["string","null"]}},"type":"object"},"type":"array"},"top_countries":{"items":{"additionalProperties":true,"properties":{"scans":{"type":"integer"},"value":{"type":["string","null"]}},"type":"object"},"type":"array"},"top_os":{"items":{"additionalProperties":true,"properties":{"scans":{"type":"integer"},"value":{"type":["string","null"]}},"type":"object"},"type":"array"},"total_scans":{"type":"integer"},"unique_scans":{"type":"integer"},"workspace":{"description":"Set when the report is workspace-wide.","type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"allow_multiple_submissions":{"type":"boolean"},"bg_color":{"type":["string","null"]},"button_color":{"type":["string","null"]},"button_text_color":{"type":["string","null"]},"created":{"type":"string"},"dashboard_url":{"description":"Where the owner manages the form on hovercode.com.","type":"string"},"description":{"type":["string","null"]},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"fields":{"items":{"additionalProperties":true,"properties":{"field_type":{"type":"string"},"help_text":{"type":["string","null"]},"id":{"type":"string"},"label":{"type":"string"},"logic":{"type":["object","null"]},"max_length":{"type":["integer","null"]},"max_value":{"type":["number","null"]},"min_length":{"type":["integer","null"]},"min_value":{"type":["number","null"]},"options":{"items":{"additionalProperties":true,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},"order":{"type":"integer"},"pattern":{"type":["string","null"]},"placeholder":{"type":["string","null"]},"required":{"type":"boolean"},"settings":{"type":"object"}},"type":"object"},"type":"array"},"has_unpublished_changes":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"modified":{"type":"string"},"notification_recipients":{"type":"array"},"outcomes":{"type":"array"},"qr_code_svg":{"description":"QR code for the share URL, as SVG markup.","type":["string","null"]},"qr_id":{"description":"Id of the form's own QR code (published forms). Use with download_qr.","type":["string","null"]},"redirect_delay":{"type":["integer","null"]},"redirect_url":{"type":["string","null"]},"response_count":{"type":"integer"},"share_url":{"description":"Public URL respondents open (null until published).","type":["string","null"]},"shortlink_domain":{"type":["string","null"]},"shortlink_slug":{"type":["string","null"]},"shortlink_url":{"type":["string","null"]},"show_powered_by":{"type":"boolean"},"show_progress":{"type":"boolean"},"status":{"description":"Draft, Published, or Closed.","type":"string"},"text_color":{"type":["string","null"]},"thank_you_message":{"type":["string","null"]},"thank_you_title":{"type":["string","null"]},"title":{"type":"string"},"workspace_id":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"message":{"description":"Set when there are no responses yet.","type":"string"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"completion_time_seconds":{"type":["number","null"]},"field_responses":{"description":"One entry per answered field.","type":"array"},"id":{"type":"string"},"is_complete":{"type":"boolean"},"outcome":{},"submitted_at":{"type":["string","null"]}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"blocks":{"description":"Block list; present for layout_version 2 pages.","items":{"additionalProperties":true,"properties":{"content":{"type":"object"},"form":{"description":"Linked form id for form/signup blocks.","type":["string","null"]},"hidden":{"type":"boolean"},"id":{"type":"string"},"type":{"type":"string"}},"type":"object"},"type":"array"},"created":{"type":"string"},"description":{"type":["string","null"]},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"layout_version":{"description":"1 = legacy links list, 2 = block builder.","type":"integer"},"links":{"items":{"additionalProperties":true,"properties":{"title":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"type":"object"},"type":"array"},"qr_id":{"description":"The page's QR code id (use with download_qr / update_qr_code).","type":["string","null"]},"share_url":{"description":"Live URL of the page.","type":["string","null"]},"slug":{"type":["string","null"]},"status":{"type":"string"},"svg":{"type":["string","null"]},"title":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"device":{"type":["string","null"]},"id":{"type":"string"},"location":{"type":["string","null"]},"qr_code_id":{"type":["string","null"]},"scanner_id":{"type":["string","null"]},"time_timezone_aware":{"type":["string","null"]},"time_utc":{"type":["string","null"]}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"background_color":{"type":["string","null"]},"created":{"type":"string"},"display_name":{"type":["string","null"]},"dynamic":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"error_correction":{"type":["string","null"]},"eye_style":{"type":["string","null"]},"folder":{"anyOf":[{"additionalProperties":true,"description":"The folder a code sits in (null when unfiled).","properties":{"id":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"slug":{"type":"string"}},"type":"object"},{"type":"null"}]},"frame":{"type":["string","null"]},"gps_tracking":{"type":"boolean"},"has_border":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"pattern":{"type":["string","null"]},"pdf_file_url":{"type":["string","null"]},"png":{"description":"PNG URL once rendered; null until then (use download_qr).","type":["string","null"]},"primary_color":{"type":["string","null"]},"qr_data":{"description":"Encoded data: the destination URL for URL codes.","type":"string"},"qr_type":{"description":"Link, Text, vCard, or PDF.","type":"string"},"shortlink_url":{"description":"Tracked short URL a dynamic code points at; null for static codes.","type":["string","null"]},"svg":{"description":"Rendered QR as SVG markup.","type":["string","null"]},"svg_file":{"type":["string","null"]},"tags":{"items":{"additionalProperties":true,"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"},"text":{"type":["string","null"]},"text_secondary":{"type":["string","null"]},"total_scans":{"type":["integer","null"]},"unique_scans":{"type":["integer","null"]},"vcard":{"anyOf":[{"additionalProperties":true,"description":"Contact details encoded in a vCard code.","properties":{"city":{"type":["string","null"]},"company_name":{"type":["string","null"]},"country":{"type":["string","null"]},"description":{"type":["string","null"]},"email":{"type":["string","null"]},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"mobile_number":{"type":["string","null"]},"phone_number":{"type":["string","null"]},"position":{"type":["string","null"]},"post_code":{"type":["string","null"]},"state":{"type":["string","null"]},"street":{"type":["string","null"]},"website":{"type":["string","null"]}},"type":"object"},{"type":"null"}]}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"created":{"type":"string"},"display_name":{"type":["string","null"]},"domain":{"type":"string"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"gps":{"type":"boolean"},"id":{"type":"string"},"link":{"description":"Destination URL.","type":"string"},"link_type":{"type":"string"},"png":{"type":["string","null"]},"short_url":{"type":"string"},"slug":{"type":"string"},"svg":{"description":"QR code for the short URL, as SVG markup.","type":["string","null"]},"total_clicks":{"type":"integer"},"unique_clicks":{"type":"integer"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"device":{"type":["string","null"]},"id":{"type":"string"},"location":{"type":["string","null"]},"qr_code_id":{"type":["string","null"]},"scanner_id":{"type":["string","null"]},"time_timezone_aware":{"type":["string","null"]},"time_utc":{"type":["string","null"]}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"block_types":{"items":{"additionalProperties":true,"properties":{"label":{"type":"string"},"schema":{"description":"JSON Schema for the block's `content`.","type":"object"},"type":{"type":"string"}},"type":"object"},"type":"array"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"code_count":{"type":"integer"},"created":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"parent":{"description":"Parent folder id, null at the top level.","type":["string","null"]},"path":{"description":"Full path, e.g. Campaigns / Spring 2026.","type":"string"},"slug":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"created":{"type":"string"},"id":{"type":"string"},"modified":{"type":"string"},"response_count":{"type":"integer"},"share_url":{"type":["string","null"]},"status":{"type":"string"},"title":{"type":"string"},"workspace":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"blocks":{"description":"Block list; present for layout_version 2 pages.","items":{"additionalProperties":true,"properties":{"content":{"type":"object"},"form":{"description":"Linked form id for form/signup blocks.","type":["string","null"]},"hidden":{"type":"boolean"},"id":{"type":"string"},"type":{"type":"string"}},"type":"object"},"type":"array"},"created":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string"},"layout_version":{"description":"1 = legacy links list, 2 = block builder.","type":"integer"},"links":{"items":{"additionalProperties":true,"properties":{"title":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"type":"object"},"type":"array"},"qr_id":{"description":"The page's QR code id (use with download_qr / update_qr_code).","type":["string","null"]},"share_url":{"description":"Live URL of the page.","type":["string","null"]},"slug":{"type":["string","null"]},"status":{"type":"string"},"svg":{"type":["string","null"]},"title":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"background_color":{"type":["string","null"]},"created":{"type":"string"},"display_name":{"type":["string","null"]},"dynamic":{"type":"boolean"},"error_correction":{"type":["string","null"]},"eye_style":{"type":["string","null"]},"folder":{"anyOf":[{"additionalProperties":true,"description":"The folder a code sits in (null when unfiled).","properties":{"id":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"slug":{"type":"string"}},"type":"object"},{"type":"null"}]},"frame":{"type":["string","null"]},"gps_tracking":{"type":"boolean"},"has_border":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"pattern":{"type":["string","null"]},"pdf_file_url":{"type":["string","null"]},"png":{"description":"PNG URL once rendered; null until then (use download_qr).","type":["string","null"]},"primary_color":{"type":["string","null"]},"qr_data":{"description":"Encoded data: the destination URL for URL codes.","type":"string"},"qr_type":{"description":"Link, Text, vCard, or PDF.","type":"string"},"shortlink_url":{"description":"Tracked short URL a dynamic code points at; null for static codes.","type":["string","null"]},"svg":{"description":"Rendered QR as SVG markup.","type":["string","null"]},"svg_file":{"type":["string","null"]},"tags":{"items":{"additionalProperties":true,"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"},"text":{"type":["string","null"]},"text_secondary":{"type":["string","null"]},"total_scans":{"type":["integer","null"]},"unique_scans":{"type":["integer","null"]},"vcard":{"anyOf":[{"additionalProperties":true,"description":"Contact details encoded in a vCard code.","properties":{"city":{"type":["string","null"]},"company_name":{"type":["string","null"]},"country":{"type":["string","null"]},"description":{"type":["string","null"]},"email":{"type":["string","null"]},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"mobile_number":{"type":["string","null"]},"phone_number":{"type":["string","null"]},"position":{"type":["string","null"]},"post_code":{"type":["string","null"]},"state":{"type":["string","null"]},"street":{"type":["string","null"]},"website":{"type":["string","null"]}},"type":"object"},{"type":"null"}]}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"created":{"type":"string"},"display_name":{"type":["string","null"]},"domain":{"type":"string"},"gps":{"type":"boolean"},"id":{"type":"string"},"link":{"description":"Destination URL.","type":"string"},"link_type":{"type":"string"},"png":{"type":["string","null"]},"short_url":{"type":"string"},"slug":{"type":"string"},"svg":{"description":"QR code for the short URL, as SVG markup.","type":["string","null"]},"total_clicks":{"type":"integer"},"unique_clicks":{"type":"integer"}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"count":{"description":"Total matching rows across all pages.","type":"integer"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"next":{"description":"URL of the next page, or null on the last page.","type":["string","null"]},"previous":{"type":["string","null"]},"results":{"items":{"additionalProperties":true,"properties":{"background_color":{"type":["string","null"]},"created":{"type":"string"},"eye_style":{"type":["string","null"]},"frame":{"type":["string","null"]},"has_border":{"type":"boolean"},"has_logo":{"type":"boolean"},"id":{"type":"string"},"pattern":{"type":["string","null"]},"preview":{"type":["string","null"]},"primary_color":{"type":["string","null"]},"text":{"type":["string","null"]},"text_secondary":{"type":["string","null"]},"title":{"type":["string","null"]}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"current_workspace":{"description":"Id of the workspace tools default to.","type":"string"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"workspaces":{"items":{"additionalProperties":true,"properties":{"current":{"type":"boolean"},"dynamic_qr_limit":{"type":"integer"},"dynamic_qr_used":{"type":"integer"},"has_active_subscription":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"pages_used":{"type":"integer"},"paid":{"type":"boolean"},"plan":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"current":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"code_count":{"type":"integer"},"created":{"type":"string"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"name":{"type":"string"},"parent":{"description":"Parent folder id, null at the top level.","type":["string","null"]},"path":{"description":"Full path, e.g. Campaigns / Spring 2026.","type":"string"},"slug":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"allow_multiple_submissions":{"type":"boolean"},"bg_color":{"type":["string","null"]},"button_color":{"type":["string","null"]},"button_text_color":{"type":["string","null"]},"created":{"type":"string"},"dashboard_url":{"description":"Where the owner manages the form on hovercode.com.","type":"string"},"description":{"type":["string","null"]},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"fields":{"items":{"additionalProperties":true,"properties":{"field_type":{"type":"string"},"help_text":{"type":["string","null"]},"id":{"type":"string"},"label":{"type":"string"},"logic":{"type":["object","null"]},"max_length":{"type":["integer","null"]},"max_value":{"type":["number","null"]},"min_length":{"type":["integer","null"]},"min_value":{"type":["number","null"]},"options":{"items":{"additionalProperties":true,"properties":{"label":{"type":"string"},"value":{"type":"string"}},"type":"object"},"type":"array"},"order":{"type":"integer"},"pattern":{"type":["string","null"]},"placeholder":{"type":["string","null"]},"required":{"type":"boolean"},"settings":{"type":"object"}},"type":"object"},"type":"array"},"has_unpublished_changes":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"modified":{"type":"string"},"notification_recipients":{"type":"array"},"outcomes":{"type":"array"},"qr_code_svg":{"description":"QR code for the share URL, as SVG markup.","type":["string","null"]},"qr_id":{"description":"Id of the form's own QR code (published forms). Use with download_qr.","type":["string","null"]},"redirect_delay":{"type":["integer","null"]},"redirect_url":{"type":["string","null"]},"response_count":{"type":"integer"},"share_url":{"description":"Public URL respondents open (null until published).","type":["string","null"]},"shortlink_domain":{"type":["string","null"]},"shortlink_slug":{"type":["string","null"]},"shortlink_url":{"type":["string","null"]},"show_powered_by":{"type":"boolean"},"show_progress":{"type":"boolean"},"status":{"description":"Draft, Published, or Closed.","type":"string"},"text_color":{"type":["string","null"]},"thank_you_message":{"type":["string","null"]},"thank_you_title":{"type":["string","null"]},"title":{"type":"string"},"workspace_id":{"type":"string"}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"blocks":{"items":{"additionalProperties":true,"properties":{"content":{"type":"object"},"form":{"description":"Linked form id for form/signup blocks.","type":["string","null"]},"hidden":{"type":"boolean"},"id":{"type":"string"},"type":{"type":"string"}},"type":"object"},"type":"array"},"design":{"type":"object"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"id":{"type":"string"},"layout_version":{"type":"integer"},"publish":{"additionalProperties":true,"properties":{"has_unpublished_changes":{"type":"boolean"},"is_published":{"type":"boolean"},"published_at":{"type":["string","null"]},"share_url":{"type":["string","null"]},"status":{"type":"string"},"url_locked":{"type":"boolean"}},"type":"object"}},"type":"object"}⟨139 unchanged words⟩ code id.","type":"string"},"logo_base64":{"description":"A logo image as base64 (JPEG/PNG/GIF/WebP, under 2 MB; a data: URI prefix is fine) to place in the center — use when you have the file rather than a URL.","type":"string"},"logo_round":{"description":"Force the logo into ⟨112 unchanged words⟩
before
—after
{"additionalProperties":true,"properties":{"background_color":{"type":["string","null"]},"created":{"type":"string"},"display_name":{"type":["string","null"]},"dynamic":{"type":"boolean"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"error_correction":{"type":["string","null"]},"eye_style":{"type":["string","null"]},"folder":{"anyOf":[{"additionalProperties":true,"description":"The folder a code sits in (null when unfiled).","properties":{"id":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"slug":{"type":"string"}},"type":"object"},{"type":"null"}]},"frame":{"type":["string","null"]},"gps_tracking":{"type":"boolean"},"has_border":{"type":"boolean"},"id":{"type":"string"},"logo":{"type":["string","null"]},"pattern":{"type":["string","null"]},"pdf_file_url":{"type":["string","null"]},"png":{"description":"PNG URL once rendered; null until then (use download_qr).","type":["string","null"]},"primary_color":{"type":["string","null"]},"qr_data":{"description":"Encoded data: the destination URL for URL codes.","type":"string"},"qr_type":{"description":"Link, Text, vCard, or PDF.","type":"string"},"shortlink_url":{"description":"Tracked short URL a dynamic code points at; null for static codes.","type":["string","null"]},"svg":{"description":"Rendered QR as SVG markup.","type":["string","null"]},"svg_file":{"type":["string","null"]},"tags":{"items":{"additionalProperties":true,"properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"}},"type":"object"},"type":"array"},"text":{"type":["string","null"]},"text_secondary":{"type":["string","null"]},"total_scans":{"type":["integer","null"]},"unique_scans":{"type":["integer","null"]},"vcard":{"anyOf":[{"additionalProperties":true,"description":"Contact details encoded in a vCard code.","properties":{"city":{"type":["string","null"]},"company_name":{"type":["string","null"]},"country":{"type":["string","null"]},"description":{"type":["string","null"]},"email":{"type":["string","null"]},"first_name":{"type":["string","null"]},"last_name":{"type":["string","null"]},"mobile_number":{"type":["string","null"]},"phone_number":{"type":["string","null"]},"position":{"type":["string","null"]},"post_code":{"type":["string","null"]},"state":{"type":["string","null"]},"street":{"type":["string","null"]},"website":{"type":["string","null"]}},"type":"object"},{"type":"null"}]}},"type":"object"}before
—after
{"additionalProperties":true,"properties":{"created":{"type":"string"},"display_name":{"type":["string","null"]},"domain":{"type":"string"},"error":{"additionalProperties":true,"description":"Present only when the tool failed (the result is also flagged isError).","properties":{"cause":{"description":"Machine-readable failure category: invalid_argument, not_found, forbidden, plan_limit, rate_limited, or server_error.","type":"string"},"message":{"type":"string"},"retryable":{"description":"Whether repeating the same call could succeed.","type":"boolean"}},"type":"object"},"gps":{"type":"boolean"},"id":{"type":"string"},"link":{"description":"Destination URL.","type":"string"},"link_type":{"type":"string"},"png":{"type":["string","null"]},"short_url":{"type":"string"},"slug":{"type":"string"},"svg":{"description":"QR code for the short URL, as SVG markup.","type":["string","null"]},"total_clicks":{"type":"integer"},"unique_clicks":{"type":"integer"}},"type":"object"}