Translate seo_title, seo_description, social_title, and social_description for an enabled language other than the store's source language. Images and robots settings are shared across languages. Supply strings; an empty string clears a translation. Omitted fields remain unchanged.
Save source text before adding its translation. Source edits mark translations outdated but keep serving them until replaced or removed. A missing translation falls back to the source field. Reads and writes require the corresponding resource and translation scopes shown on each endpoint.
Get Blog List SEO translation
Get translated SEO for the public blog index.
The locale must be enabled and cannot be the store default.
Path parameters
| Name | Type | Description |
|---|---|---|
locale
required
|
string |
Enabled non-default store locale. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
-
400STORE_API_INVALID_REQUEST_BODYThe body has an invalid shape. Translation values must be strings.
-
400PAGE_SEO_PAGE_TYPE_INVALIDThe requested list page type is not supported.
-
400TRANSLATION_LOCALE_REQUIREDA locale is required.
-
400TRANSLATION_LOCALE_NOT_ENABLEDThe locale is not enabled for this store.
-
400TRANSLATION_DEFAULT_LOCALE_FORBIDDENThe source language cannot be a translation target.
-
400TRANSLATION_FIELD_NOT_TRANSLATABLEOnly the four SEO and social text fields can be translated.
-
400TRANSLATION_FIELDS_REQUIREDProvide at least one field.
-
400TRANSLATION_NO_SOURCE_TEXTSave source text before adding its translation.
-
404TRANSLATION_RESOURCE_NOT_FOUNDSave source SEO before writing translations for this page.
-
409TRANSLATION_MUTATION_CONFLICTThe idempotency key was already used for another translation change.
-
400PAGE_SEO_META_TITLE_INVALID_CHARSA translated title contains unsupported characters.
-
400PAGE_SEO_META_TITLE_TOO_LONGA translated title exceeds its limit.
-
400PAGE_SEO_META_DESCRIPTION_INVALID_CHARSA translated description contains unsupported characters.
-
400PAGE_SEO_META_DESCRIPTION_TOO_LONGA translated description exceeds its limit.
Set Blog List SEO translation
Set or clear translated SEO fields for the public blog index.
Empty values clear only that locale's field. The write is atomic.
Path parameters
| Name | Type | Description |
|---|---|---|
locale
required
|
string |
Enabled non-default store locale. |
Headers
| Name | Type | Description |
|---|---|---|
Authorization
required
|
string |
Bearer Store API token. |
Idempotency-Key
|
string |
Optional key for this translation write. Reuse it only with the same payload when repeating the request. |
Body parameters
| Name | Type | Description |
|---|---|---|
translations
required
|
object |
Field-keyed translations. |
Errors
-
401UNAUTHORIZEDAuthorization header missing, malformed, or token invalid/expired.
-
402SUBSCRIPTION_REQUIREDThe store does not have an active or trialing subscription.
-
403STORE_API_SCOPE_REQUIREDToken is valid but lacks the required scope for this call.
-
429RATE_LIMITEDThe token's request allowance is exhausted. Retry after the Retry-After header.
-
400STORE_API_INVALID_REQUEST_BODYThe body has an invalid shape. Translation values must be strings.
-
400PAGE_SEO_PAGE_TYPE_INVALIDThe requested list page type is not supported.
-
400TRANSLATION_LOCALE_REQUIREDA locale is required.
-
400TRANSLATION_LOCALE_NOT_ENABLEDThe locale is not enabled for this store.
-
400TRANSLATION_DEFAULT_LOCALE_FORBIDDENThe source language cannot be a translation target.
-
400TRANSLATION_FIELD_NOT_TRANSLATABLEOnly the four SEO and social text fields can be translated.
-
400TRANSLATION_FIELDS_REQUIREDProvide at least one field.
-
400TRANSLATION_NO_SOURCE_TEXTSave source text before adding its translation.
-
404TRANSLATION_RESOURCE_NOT_FOUNDSave source SEO before writing translations for this page.
-
409TRANSLATION_MUTATION_CONFLICTThe idempotency key was already used for another translation change.
-
400PAGE_SEO_META_TITLE_INVALID_CHARSA translated title contains unsupported characters.
-
400PAGE_SEO_META_TITLE_TOO_LONGA translated title exceeds its limit.
-
400PAGE_SEO_META_DESCRIPTION_INVALID_CHARSA translated description contains unsupported characters.
-
400PAGE_SEO_META_DESCRIPTION_TOO_LONGA translated description exceeds its limit.
Webhook events#
Subscribe to these events when your integration mirrors localized blog list seo. Update and clear events identify the locale and changed fields. One write can emit both events when it sets some fields and clears others.
Blog List SEO translations updated
Fired when translated SEO fields are added or updated for the public blog index in a locale.
Payload fields
| Field | Type | Description |
|---|---|---|
blog_list_seo.page_type |
string |
Always present
The stable public blog-index identity, blog_list. |
blog_list_seo.seo_title |
string |
Selectable in the Payload builder
The blog index SEO title in the store's default language. |
blog_list_seo.seo_description |
string |
Selectable in the Payload builder
The blog index SEO description in the store's default language. |
blog_list_seo.social_title |
string |
Selectable in the Payload builder
The default-language social sharing title override. |
blog_list_seo.social_description |
string |
Selectable in the Payload builder
The default-language social sharing description override. |
blog_list_seo.social_image_id |
string |
Selectable in the Payload builder
The assigned site-asset image id, or null when no override is assigned. |
blog_list_seo.robots_index |
boolean |
Selectable in the Payload builder
Whether search engines may index the blog index. |
blog_list_seo.robots_follow |
boolean |
Selectable in the Payload builder
Whether search engines may follow links from the blog index. |
blog_list_seo.updated_at |
string |
Selectable in the Payload builder
When the source blog-index SEO settings last changed. |
locale |
string |
Always present
The locale whose Blog List SEO translation changed. |
translation.seo_title |
string |
Selectable in the Payload builder
The translated SEO title; empty on delete means it was removed. |
translation.seo_description |
string |
Selectable in the Payload builder
The translated SEO description; empty on delete means it was removed. |
translation.social_title |
string |
Selectable in the Payload builder
The translated social title; empty on delete means it was removed. |
translation.social_description |
string |
Selectable in the Payload builder
The translated social description; empty on delete means it was removed. |
updated_at |
string |
Selectable in the Payload builder
When this locale's Blog List SEO translation changed. |
Blog List SEO translations deleted
Fired when translated SEO fields are cleared for the public blog index in a locale.
Payload fields
| Field | Type | Description |
|---|---|---|
blog_list_seo.page_type |
string |
Always present
The stable public blog-index identity, blog_list. |
blog_list_seo.seo_title |
string |
Selectable in the Payload builder
The blog index SEO title in the store's default language. |
blog_list_seo.seo_description |
string |
Selectable in the Payload builder
The blog index SEO description in the store's default language. |
blog_list_seo.social_title |
string |
Selectable in the Payload builder
The default-language social sharing title override. |
blog_list_seo.social_description |
string |
Selectable in the Payload builder
The default-language social sharing description override. |
blog_list_seo.social_image_id |
string |
Selectable in the Payload builder
The assigned site-asset image id, or null when no override is assigned. |
blog_list_seo.robots_index |
boolean |
Selectable in the Payload builder
Whether search engines may index the blog index. |
blog_list_seo.robots_follow |
boolean |
Selectable in the Payload builder
Whether search engines may follow links from the blog index. |
blog_list_seo.updated_at |
string |
Selectable in the Payload builder
When the source blog-index SEO settings last changed. |
locale |
string |
Always present
The locale whose Blog List SEO translation changed. |
translation.seo_title |
string |
Selectable in the Payload builder
The translated SEO title; empty on delete means it was removed. |
translation.seo_description |
string |
Selectable in the Payload builder
The translated SEO description; empty on delete means it was removed. |
translation.social_title |
string |
Selectable in the Payload builder
The translated social title; empty on delete means it was removed. |
translation.social_description |
string |
Selectable in the Payload builder
The translated social description; empty on delete means it was removed. |
updated_at |
string |
Selectable in the Payload builder
When this locale's Blog List SEO translation changed. |