update_seo_settings
Patch existing platform SEO settings; omitted keys remain unchanged.
Read get_seo_settings first and send only changed editable_fields. Use this for requested or necessary site SEO/schema updates instead of duplicating Grigora's Person/Organization/LocalBusiness/WebSite JSON-LD in source.
Args: project_id: Current project's ID. settings: Object keyed by data.editable_fields from get_seo_settings. Identity: local_seo_enabled, local_seo_type (person/organization), local_seo_person_org_name, local_seo_website_name, local_seo_website_alternate_name, local_seo_url, local_seo_email, local_seo_logo. Address: local_seo_address_street/locality/region/ postal_code/country/format (each with the local_seo_address_ prefix), local_seo_geo_coordinates. Business: local_seo_business_type, local_seo_price_range, local_seo_opening_hours_format, local_seo_opening_hours ([{day,open,close}], HH:mm), local_seo_phone_numbers ([{type,number}]), local_seo_phone. Global: sitemap_frequency, sitemap_priority (0..1), robots_txt, bing_indexnow_api. Classic projects expose their own editable fields. Empty strings clear text; false disables a toggle; [] clears a list. Arrays replace the whole list. Never send raw JSON-LD or null. ai_mutation_version: Version from get_seo_settings, required when requires_version is true. On version conflict, reread and reconcile. idempotency_key: Unique key for this change, required when requires_version is true. Reuse the same key, settings and version after a timeout or retryable failure. Use a new key for a changed/reconciled request.
Returns saved settings and publish_required. Saving does not publish the site.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| settings | Yes | ||
| project_id | Yes | ||
| idempotency_key | No | ||
| ai_mutation_version | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |