Product translations

Read and write localized product fields through the Store API.

Get product translation

GET read_products + read_translations

Fetch one product translation.

Returns stored translated Product fields for one locale, including whether the translation is out of date. Allowed fields come from contract.translation.fields.

Path parameters

Name Type Description
id required integer

Product id.

Example: 7
locale required string

Enabled non-default store locale.

Example: fr

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 400 TRANSLATION_INVALID_LOCALE

    The locale is not enabled for the store.

  • 400 TRANSLATION_FIELD_NOT_ALLOWED

    A field key is not in contract.translation.fields.

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 STORE_ADMIN_TOKEN_RUNTIME_FORBIDDEN

    The token lacks a required scope.

  • 404 NOT_FOUND

    Product, variant, or locale not found.

Set product translation

PUT write_products + write_translations

Set one product translation.

Writes translated Product fields for one locale. Empty values clear the matching field translation. Validation (rune-count limits per field) is the same the admin translation editor runs.

Path parameters

Name Type Description
id required integer

Product id.

Example: 7
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 translation values. Allowed fields come from contract.translation.fields.

Example: {"title": "T-shirt en coton bio", "seo_title": "T-shirt bio"}

Errors

  • 400 TRANSLATION_INVALID_LOCALE

    The locale is not enabled for the store.

  • 400 TRANSLATION_FIELD_NOT_ALLOWED

    A field key is not in contract.translation.fields.

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 STORE_ADMIN_TOKEN_RUNTIME_FORBIDDEN

    The token lacks a required scope.

  • 404 NOT_FOUND

    Product, variant, or locale not found.

Batch get product translations

GET read_products + read_translations

Fetch product translations in batch.

Returns translated Product fields for multiple product ids in one locale.

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 product ids.

Example: 1,2,3

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 400 TRANSLATION_INVALID_LOCALE

    The locale is not enabled for the store.

  • 400 TRANSLATION_FIELD_NOT_ALLOWED

    A field key is not in contract.translation.fields.

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 STORE_ADMIN_TOKEN_RUNTIME_FORBIDDEN

    The token lacks a required scope.

  • 404 NOT_FOUND

    Product, variant, or locale not found.

Batch set product translations

PUT write_products + write_translations

Set product translations in batch.

Writes translated Product fields for multiple product ids in one locale. Either every row is written or, if any row is invalid, none are.

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 with id and fields. Allowed field keys come from contract.translation.fields.

Example: [{"id": 7, "fields": {"title": "T-shirt en coton bio"}}]

Errors

  • 400 TRANSLATION_INVALID_LOCALE

    The locale is not enabled for the store.

  • 400 TRANSLATION_FIELD_NOT_ALLOWED

    A field key is not in contract.translation.fields.

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 STORE_ADMIN_TOKEN_RUNTIME_FORBIDDEN

    The token lacks a required scope.

  • 404 NOT_FOUND

    Product, variant, or locale not found.

Get variant translation

GET read_products + read_translations

Fetch one variant translation.

Returns the stored translated variant title for one locale.

Path parameters

Name Type Description
id required integer

Product ID.

variantId required integer

Variant ID.

locale required string

BCP-47 locale code, e.g. fr or pt-BR.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 400 TRANSLATION_INVALID_LOCALE

    The locale is not enabled for the store.

  • 400 TRANSLATION_FIELD_NOT_ALLOWED

    A field key is not in contract.translation.fields.

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 STORE_ADMIN_TOKEN_RUNTIME_FORBIDDEN

    The token lacks a required scope.

  • 404 NOT_FOUND

    Product, variant, or locale not found.

Set variant translation

PUT write_products + write_translations

Set one variant translation.

Writes the translated variant title for one locale. An empty value clears it.

Path parameters

Name Type Description
id required integer

Product ID.

variantId required integer

Variant ID.

locale required string

BCP-47 locale code, e.g. fr or pt-BR.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
translations required object

Field-keyed translation values; variants translate title.

Example: {"title": "Rouge / M"}

Errors

  • 400 TRANSLATION_INVALID_LOCALE

    The locale is not enabled for the store.

  • 400 TRANSLATION_FIELD_NOT_ALLOWED

    A field key is not in contract.translation.fields.

  • 401 UNAUTHORIZED

    Missing or invalid token.

  • 403 STORE_ADMIN_TOKEN_RUNTIME_FORBIDDEN

    The token lacks a required scope.

  • 404 NOT_FOUND

    Product, variant, or locale not found.