Skip to main content
Glama

HTML/CSS to Image API

Update an OG Configuration

update_og_config
DestructiveIdempotent

Replaces an existing Open Graph image configuration and returns the saved configuration in item. Call get_og_config first to inspect settings that should be preserved; omitted optional settings are cleared or reset to defaults. Supply the complete configuration for the chosen config_type. Changes affect subsequent image requests using this configuration. After a plan downgrade, only disabling is accepted and other changes are ignored.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesExisting configuration ID returned by create_og_config or list_og_configs.
contentYesComplete replacement configuration, including name, base_url, config_type, and settings to preserve. The response field enabled maps to the inverse request field disabled. For templated configurations, include template_id and any mappings to retain.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemNoOperation result. Check success before using this value.
errorNoError details when the operation failed; null on success.
successNoWhether the operation succeeded. If false, inspect error before retrying.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / content / anyOf
      Previous value: -[
      -  {
      -    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "name",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version to use. Omit or set to null to use the latest version.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "name",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version to use. Omit or set to null to use the latest version.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "name",
      +      "base_url"
      +    ]
      +  }
      +]
    • changedOutput schema / properties / item / anyOf
      Previous value: -[
      -  {
      -    "description": "An Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "created_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Extracted image options override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "domain_id": {
      -        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      -        "type": "string"
      -      },
      -      "enabled": {
      -        "description": "Whether the configuration is enabled to serve Open Graph images.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether image options are extracted from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for different social platforms.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "type": "integer"
      -      },
      -      "updated_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "domain_id",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "An Open Graph configuration that renders a template using extracted page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers, in the format scheme://host[:port] without a path.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "created_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "description": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "domain_id": {
      -        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      -        "type": "string"
      -      },
      -      "enabled": {
      -        "description": "Whether the configuration is enabled to serve Open Graph images.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "Custom HTTP headers sent on top-level page navigations to the source website's origin and any additional_header_origins.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for different social platforms.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Mappings from page metadata to template fields. Each mapping uses either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version used to render images. Null means the latest version is used.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "updated_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "id",
      -      "domain_id",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "An Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "created_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Extracted image options override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Set explicitly to false to inject Twemoji into the captured URL page. Omitted, null, or true leaves the page's emoji handling unchanged and does not disable the website's own emoji scripts.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "domain_id": {
      +        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      +        "type": "string"
      +      },
      +      "enabled": {
      +        "description": "Whether the configuration is enabled to serve Open Graph images.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether image options are extracted from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for different social platforms.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "type": "integer"
      +      },
      +      "updated_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "domain_id",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "An Open Graph configuration that renders a template using extracted page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers, in the format scheme://host[:port] without a path.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "created_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "description": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "domain_id": {
      +        "description": "Domain identifier used in this configuration's Open Graph image URLs.",
      +        "type": "string"
      +      },
      +      "enabled": {
      +        "description": "Whether the configuration is enabled to serve Open Graph images.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "Custom HTTP headers sent on top-level page navigations to the source website's origin and any additional_header_origins.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for different social platforms.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Mappings from page metadata to template fields. Each mapping uses either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version used to render images. Null means the latest version is used.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "updated_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "id",
      +      "domain_id",
      +      "base_url"
      +    ]
      +  }
      +]
  2. Changed6 schema fields changed
    • changedInput schema / properties / content / anyOf
      Previous value: -[
      -  {
      -    "description": "Creates or updates an Open Graph configuration that renders page HTML/CSS.",
      -    "properties": {
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "html_css"
      -      },
      -      "default_options": {
      -        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      -        "properties": {
      -          "additional_header_origins": {
      -            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": [
      -              "array",
      -              "null"
      -            ]
      -          },
      -          "block_consent_banners": {
      -            "description": "Attempt to block cookie/consent banners from displaying.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "color_scheme": {
      -            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      -            "enum": [
      -              "light",
      -              "dark",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "css": {
      -            "description": "CSS injected into the loaded page to override its styles.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "device_scale": {
      -            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      -            "maximum": 3,
      -            "minimum": 0.1,
      -            "type": [
      -              "number",
      -              "null"
      -            ]
      -          },
      -          "disable_twemoji": {
      -            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "headers": {
      -            "additionalProperties": {
      -              "type": "string"
      -            },
      -            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "identify_as_hcti": {
      -            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "include_headers_on_subrequests": {
      -            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "max_wait_ms": {
      -            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      -            "maximum": 10000,
      -            "minimum": 500,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "media_type": {
      -            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      -            "enum": [
      -              "print",
      -              "screen",
      -              null
      -            ],
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "ms_delay": {
      -            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      -            "maximum": 10000,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "proxy_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "render_when_ready": {
      -            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "selector": {
      -            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "storage_destination_id": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "timezone": {
      -            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "transparent_background": {
      -            "description": "Specifies whether the image is rendered with a transparent background.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_height": {
      -            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "viewport_landscape": {
      -            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_mobile": {
      -            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_touch": {
      -            "description": "Specifies whether the emulated viewport supports touch events.",
      -            "type": [
      -              "boolean",
      -              "null"
      -            ]
      -          },
      -          "viewport_width": {
      -            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      -            "maximum": 6000,
      -            "minimum": 1,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          }
      -        },
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "extract_values": {
      -        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      -        "type": "boolean"
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "name",
      -      "base_url"
      -    ]
      -  },
      -  {
      -    "description": "Creates or updates an Open Graph configuration that renders a template using values extracted from page metadata.",
      -    "properties": {
      -      "additional_header_origins": {
      -        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "base_url": {
      -        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      -        "maxLength": 2048,
      -        "type": "string"
      -      },
      -      "config_type": {
      -        "const": "templated"
      -      },
      -      "description": {
      -        "description": "Optional description of the configuration, up to 1023 characters.",
      -        "maxLength": 1023,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "disabled": {
      -        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      -        "type": "boolean"
      -      },
      -      "headers": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "name": {
      -        "description": "Display name for the configuration, up to 255 characters.",
      -        "maxLength": 255,
      -        "type": "string"
      -      },
      -      "optimization_mode": {
      -        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      -        "enum": [
      -          "no_optimization",
      -          "post_process",
      -          "set_viewport"
      -        ],
      -        "type": "string"
      -      },
      -      "refresh_interval_s": {
      -        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      -        "maximum": 31536000,
      -        "minimum": 1800,
      -        "type": "integer"
      -      },
      -      "template_id": {
      -        "description": "ID of the template used to render images.",
      -        "type": "string"
      -      },
      -      "template_values_mapping": {
      -        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      -        "items": {
      -          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      -          "properties": {
      -            "fallback": {
      -              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      -              "enum": [
      -                "titles",
      -                "descriptions",
      -                null
      -              ],
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "meta_key": {
      -              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      -              "maxLength": 136,
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "template_key": {
      -              "description": "Template field path to populate, up to 128 characters.",
      -              "maxLength": 128,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "template_key"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 32,
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "template_version": {
      -        "description": "Template version to use. Omit or set to null to use the latest version.",
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "template_id",
      -      "name",
      -      "base_url"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "description": "Settings for an Open Graph configuration that renders page HTML/CSS.",
      +    "properties": {
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "html_css"
      +      },
      +      "default_options": {
      +        "description": "Default image rendering options for pages served by this configuration. Any extracted values will override these defaults.",
      +        "properties": {
      +          "additional_header_origins": {
      +            "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored. For GET and form-encoded requests, repeat this parameter for each origin.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "block_consent_banners": {
      +            "description": "Attempt to block cookie/consent banners from displaying.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "color_scheme": {
      +            "description": "Sets Chrome's preferred color scheme. Valid values: light or dark.",
      +            "enum": [
      +              "light",
      +              "dark",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "css": {
      +            "description": "CSS injected into the loaded page to override its styles.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "device_scale": {
      +            "description": "Adjusts the pixel ratio used for the screenshot. Minimum: 0.1. Maximum: 3. HTML and template renders default to 2; URL renders default to 1.",
      +            "maximum": 3,
      +            "minimum": 0.1,
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "disable_twemoji": {
      +            "description": "Disables the Twemoji fallback and renders emoji using native fonts instead.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "headers": {
      +            "additionalProperties": {
      +              "type": "string"
      +            },
      +            "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes. For GET and form-encoded requests, repeat this parameter using the format `headers=name:value`.",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "identify_as_hcti": {
      +            "description": "Identify the top-level page navigation as an HCTI screenshot request using the X-HCTI-SCREENSHOT header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "include_headers_on_subrequests": {
      +            "description": "Include custom headers on subrequests to the requested URL's origin and any additional_header_origins. Defaults to false. Requires at least one header.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "max_wait_ms": {
      +            "description": "Sets a limit on how long to wait before taking the screenshot when the page continues loading irrelevant content. Minimum: 500. Maximum: 10000 and subject to the account plan limit.",
      +            "maximum": 10000,
      +            "minimum": 500,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "media_type": {
      +            "description": "Sets the CSS media type used while rendering the page. Valid values: print or screen.",
      +            "enum": [
      +              "print",
      +              "screen",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ms_delay": {
      +            "description": "Adds extra time in milliseconds before taking the screenshot so JavaScript can execute. Minimum: 0. Maximum: 10000.",
      +            "maximum": 10000,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "proxy_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "render_when_ready": {
      +            "description": "Waits until the page signals that the screenshot is ready. The image fails if the readiness signal is never sent.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "selector": {
      +            "description": "A CSS selector for an element in the HTML. We’ll crop the image to this specific element.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "storage_destination_id": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "timezone": {
      +            "description": "Sets the IANA timezone used by Chrome while rendering. Must be a recognized IANA timezone identifier.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "transparent_background": {
      +            "description": "Specifies whether the image is rendered with a transparent background.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_height": {
      +            "description": "Sets the height of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "viewport_landscape": {
      +            "description": "Specifies whether the emulated viewport is in landscape orientation.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_mobile": {
      +            "description": "Specifies whether the page uses mobile viewport behavior, including its viewport meta tag.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_touch": {
      +            "description": "Specifies whether the emulated viewport supports touch events.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "viewport_width": {
      +            "description": "Sets the width of Chrome's viewport and disables automatic cropping. Minimum: 1. Maximum: 6000. Both viewport dimensions must be supplied together.",
      +            "maximum": 6000,
      +            "minimum": 1,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "extract_values": {
      +        "description": "Whether to extract image options from page metadata. When disabled, only the configured defaults are used.",
      +        "type": "boolean"
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "base_url"
      +    ]
      +  },
      +  {
      +    "description": "Settings for an Open Graph configuration that renders a template using values extracted from page metadata.",
      +    "properties": {
      +      "additional_header_origins": {
      +        "description": "Additional exact HTTP or HTTPS origins allowed to receive custom headers. Supports up to 20 unique origins of up to 512 UTF-8 bytes each. Origins must use the format scheme://host[:port] without a path; duplicates are ignored.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "base_url": {
      +        "description": "HTTPS origin of the source website, such as https://example.com. Do not include a path, query string, fragment, or credentials.",
      +        "maxLength": 2048,
      +        "type": "string"
      +      },
      +      "config_type": {
      +        "const": "templated"
      +      },
      +      "description": {
      +        "description": "Optional description of the configuration, up to 1023 characters.",
      +        "maxLength": 1023,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "disabled": {
      +        "description": "Whether this configuration is disabled from serving Open Graph images. Defaults to false.",
      +        "type": "boolean"
      +      },
      +      "headers": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "HTTP headers to include on top-level page navigations to the requested URL's origin and any additional_header_origins. Supports up to 20 headers with names up to 512 ASCII characters and values up to 8192 UTF-8 bytes.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "Display name for the configuration, up to 255 characters.",
      +        "maxLength": 255,
      +        "type": "string"
      +      },
      +      "optimization_mode": {
      +        "description": "How images are sized for social platforms: keep their original dimensions, adapt them after rendering, or set the viewport before rendering. Defaults to post_process.",
      +        "enum": [
      +          "no_optimization",
      +          "post_process",
      +          "set_viewport"
      +        ],
      +        "type": "string"
      +      },
      +      "refresh_interval_s": {
      +        "description": "Interval in seconds before cached images are eligible for refresh. The minimum depends on your plan; the maximum is one year.",
      +        "maximum": 31536000,
      +        "minimum": 1800,
      +        "type": "integer"
      +      },
      +      "template_id": {
      +        "description": "ID of the template used to render images.",
      +        "type": "string"
      +      },
      +      "template_values_mapping": {
      +        "description": "Up to 32 mappings from page metadata to template fields. Each mapping supplies either a meta_key or a fallback.",
      +        "items": {
      +          "description": "Maps page metadata to a template field. Supply exactly one of meta_key or fallback.",
      +          "properties": {
      +            "fallback": {
      +              "description": "Use the page's available title or description metadata. Supply this or meta_key, not both.",
      +              "enum": [
      +                "titles",
      +                "descriptions",
      +                null
      +              ],
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "meta_key": {
      +              "description": "Meta tag name or property, such as og:title or twitter:description. Supply this or fallback, not both.",
      +              "maxLength": 136,
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "template_key": {
      +              "description": "Template field path to populate, up to 128 characters.",
      +              "maxLength": 128,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "template_key"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 32,
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "template_version": {
      +        "description": "Template version to use. Omit or set to null to use the latest version.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "template_id",
      +      "name",
      +      "base_url"
      +    ]
      +  }
      +]
    • changedInput schema / properties / content / description
      Previous value: -"Complete OG configuration. Set config_type to html_css or templated and supply the fields for that type."New value: +"Complete replacement configuration, including name, base_url, config_type, and settings to preserve. The response field enabled maps to the inverse request field disabled. For templated configurations, include template_id and any mappings to retain."
    • changedInput schema / properties / id / description
      Previous value: -"ID of the OG configuration."New value: +"Existing configuration ID returned by create_og_config or list_og_configs."
    • addedOutput schema / properties / error / description
      Added value: +"Error details when the operation failed; null on success."
    • changedOutput schema / properties / item / description
      Previous value: -"An Open Graph image configuration."New value: +"Operation result. Check success before using this value."
    • addedOutput schema / properties / success / description
      Added value: +"Whether the operation succeeded. If false, inspect error before retrying."
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations' destructiveHint and readOnlyHint, the description discloses that omitted optional settings are cleared or reset to defaults, changes affect subsequent image requests, and after a plan downgrade only disabling is accepted. These are important non-obvious behaviors that materially affect how an agent should invoke the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences, each earning its place: replacement behavior, return value, preservation workflow, clearing semantics, effect timing, and plan-downgrade exception. The most important information is front-loaded, and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex update tool with nested content, the description covers the essential operational context: read before updating, full replacement semantics, clearing behavior, propagation to image requests, and the downgrade edge case. The output schema and annotations cover the remaining details, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters thoroughly. The description adds meaningful operational guidance beyond the schema: inspect get_og_config first, omitted optional settings are cleared, and the full configuration must be supplied. This goes beyond the baseline but mostly reinforces and clarifies what the schema already implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Replaces an existing Open Graph image configuration,' which is specific about the verb and resource. It clearly distinguishes this from sibling tools like create_og_config by emphasizing 'existing' and replacement semantics, and it adds the return behavior ('returns the saved configuration in item').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete procedural guidance: call get_og_config first, preserve settings, and supply the complete configuration. It also warns about the plan-downgrade restriction. It does not explicitly name create_og_config as the alternative for new configurations, but the 'existing' framing makes the intended context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources