Product filter translations

Read and write localized product filter fields through the Store API.

Translate the label of a built-in or custom product filter for an enabled non-default store locale. Reads require read_products and read_translations; writes require write_products and write_translations. Only label is translatable, with a 100-character limit. An empty string removes the translation.

Storefront listings use the translated heading when present and otherwise use the original label. Changing the original label marks its translations outdated without removing them. Filter keys, choice values, matching behavior and configuration revisions stay unchanged. Translate choice labels through their source resources. Built-in yes/no, availability and sale-state phrases use Storefront messages.

Get filter translation

GET read_products + read_translations

Read a filter's stored label translation.

The label is the only translatable field on a filter. Missing translations return an empty fields object. Storefronts fall back to the original label. Choice labels translate at their source.

Path parameters

Name Type Description
id required string

Product filter definition UUID, including a built-in filter.

Example: 4b7eac32-68d9-4d1e-a322-33ce1cb324a5
locale required string

Enabled non-default store locale.

Example: fr

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

  • 402 SUBSCRIPTION_REQUIRED

    The store does not have an active or trialing subscription.

  • 403 STORE_API_SCOPE_REQUIRED

    Token is valid but lacks the required scope for this call.

  • 429 RATE_LIMITED

    The token's request allowance is exhausted. Retry after the Retry-After header.

  • 400 TRANSLATION_LOCALE_NOT_ENABLED

    Locale is not enabled for this store.

  • 400 TRANSLATION_DEFAULT_LOCALE_FORBIDDEN

    Translations cannot target the store's default locale.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A filter ID is not a valid nonzero UUID.

  • 400 TRANSLATION_RESOURCE_ID_REQUIRED

    A filter ID is required.

  • 400 TRANSLATION_RESOURCE_ID_NOT_IN_STORE

    A filter does not exist in this store.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The batch exceeds the translation resource limit.

Set filter translation

PUT write_products + write_translations

Translate a built-in or custom filter's label.

Only supplied fields change. label accepts up to 100 characters. An empty string removes the translation. Changing the original label marks translations outdated; they remain visible until updated or removed. Translations do not change filter keys, choice values, matching behavior, or configuration revisions.

Path parameters

Name Type Description
id required string

Product filter definition UUID, including a built-in filter.

Example: 4b7eac32-68d9-4d1e-a322-33ce1cb324a5
locale required string

Enabled non-default store locale.

Example: fr

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
translations required object

Field-keyed string values. Only label is supported.

Example: {"label":"Matière"}

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

  • 402 SUBSCRIPTION_REQUIRED

    The store does not have an active or trialing subscription.

  • 403 STORE_API_SCOPE_REQUIRED

    Token is valid but lacks the required scope for this call.

  • 429 RATE_LIMITED

    The token's request allowance is exhausted. Retry after the Retry-After header.

  • 400 TRANSLATION_LOCALE_NOT_ENABLED

    Locale is not enabled for this store.

  • 400 TRANSLATION_DEFAULT_LOCALE_FORBIDDEN

    Translations cannot target the store's default locale.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A filter ID is not a valid nonzero UUID.

  • 400 TRANSLATION_RESOURCE_ID_REQUIRED

    A filter ID is required.

  • 400 TRANSLATION_RESOURCE_ID_NOT_IN_STORE

    A filter does not exist in this store.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The batch exceeds the translation resource limit.

  • 400 STORE_API_INVALID_REQUEST_BODY

    Malformed JSON, an unknown body field, or a non-string translation value.

  • 400 TRANSLATION_NO_WRITES_PROVIDED

    At least one translation row is required.

  • 400 TRANSLATION_FIELDS_REQUIRED

    Each row must contain at least one field.

  • 400 TRANSLATION_FIELD_NOT_TRANSLATABLE

    Only label is translatable.

  • 400 TRANSLATION_TOO_MANY_FIELDS

    The request exceeds the translation field limit.

  • 400 TRANSLATION_FIELD_VALUE_TOO_LONG

    A value exceeds the allowed length.

  • 400 TRANSLATION_FIELD_EXCEEDS_BYTE_LIMIT

    The label exceeds 100 characters.

  • 400 TRANSLATION_STAGING_INVALID_CONTROL_CHARS

    The label contains invalid control characters.

  • 409 TRANSLATION_MUTATION_CONFLICT

    The idempotency key was already used with a different request.

Batch get filter translations

GET read_products + read_translations

Read several filter labels in one locale.

Each resources entry is keyed by product_filter_definition:{id}. A filter with no stored translation has an empty object. Every requested filter must belong to the token's store.

Path parameters

Name Type Description
locale required string

Enabled non-default store locale.

Example: fr

Query parameters

Name Type Description
ids required string

Comma-separated filter definition UUIDs.

Example: 4b7eac32-68d9-4d1e-a322-33ce1cb324a5

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

  • 402 SUBSCRIPTION_REQUIRED

    The store does not have an active or trialing subscription.

  • 403 STORE_API_SCOPE_REQUIRED

    Token is valid but lacks the required scope for this call.

  • 429 RATE_LIMITED

    The token's request allowance is exhausted. Retry after the Retry-After header.

  • 400 TRANSLATION_LOCALE_NOT_ENABLED

    Locale is not enabled for this store.

  • 400 TRANSLATION_DEFAULT_LOCALE_FORBIDDEN

    Translations cannot target the store's default locale.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A filter ID is not a valid nonzero UUID.

  • 400 TRANSLATION_RESOURCE_ID_REQUIRED

    A filter ID is required.

  • 400 TRANSLATION_RESOURCE_ID_NOT_IN_STORE

    A filter does not exist in this store.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The batch exceeds the translation resource limit.

Batch set filter translations

PUT write_products + write_translations

Update several filter labels atomically.

Each row contains a filter UUID and fields with label. The entire request succeeds or fails together. Empty label strings remove existing translations. Omitted filters keep their translations.

Path parameters

Name Type Description
locale required string

Enabled non-default store locale.

Example: fr

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
translations required array<object>

Rows containing id (UUID) and fields. Only label is translatable.

Example: [{"id":"4b7eac32-68d9-4d1e-a322-33ce1cb324a5","fields":{"label":"Matière"}}]

Errors

  • 401 UNAUTHORIZED

    Authorization header missing, malformed, or token invalid/expired.

  • 402 SUBSCRIPTION_REQUIRED

    The store does not have an active or trialing subscription.

  • 403 STORE_API_SCOPE_REQUIRED

    Token is valid but lacks the required scope for this call.

  • 429 RATE_LIMITED

    The token's request allowance is exhausted. Retry after the Retry-After header.

  • 400 TRANSLATION_LOCALE_NOT_ENABLED

    Locale is not enabled for this store.

  • 400 TRANSLATION_DEFAULT_LOCALE_FORBIDDEN

    Translations cannot target the store's default locale.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A filter ID is not a valid nonzero UUID.

  • 400 TRANSLATION_RESOURCE_ID_REQUIRED

    A filter ID is required.

  • 400 TRANSLATION_RESOURCE_ID_NOT_IN_STORE

    A filter does not exist in this store.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The batch exceeds the translation resource limit.

  • 400 STORE_API_INVALID_REQUEST_BODY

    Malformed JSON, an unknown body field, or a non-string translation value.

  • 400 TRANSLATION_NO_WRITES_PROVIDED

    At least one translation row is required.

  • 400 TRANSLATION_FIELDS_REQUIRED

    Each row must contain at least one field.

  • 400 TRANSLATION_FIELD_NOT_TRANSLATABLE

    Only label is translatable.

  • 400 TRANSLATION_TOO_MANY_FIELDS

    The request exceeds the translation field limit.

  • 400 TRANSLATION_FIELD_VALUE_TOO_LONG

    A value exceeds the allowed length.

  • 400 TRANSLATION_FIELD_EXCEEDS_BYTE_LIMIT

    The label exceeds 100 characters.

  • 400 TRANSLATION_STAGING_INVALID_CONTROL_CHARS

    The label contains invalid control characters.

  • 409 TRANSLATION_MUTATION_CONFLICT

    The idempotency key was already used with a different request.