Category translations

Read and write localized category fields through the Store API.

Get category translation

GET read_products + read_translations

Fetch one category translation.

Returns stored translated Category fields for one locale, including whether the translation is out of date.

Path parameters

Name Type Description
id required integer

Category 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 STORE_API_INVALID_CATEGORY_ID

    id is not an integer.

  • 400 TRANSLATION_LOCALE_REQUIRED

    locale is required.

  • 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_FIELD_NOT_TRANSLATABLE

    Field is not translatable for categories.

  • 400 TRANSLATION_FIELDS_REQUIRED

    At least one translated field is required.

  • 400 TRANSLATION_FIELD_VALUE_TOO_LONG

    A translated value exceeds its field limit.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A category id is invalid.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The request exceeds the translation batch resource cap.

  • 404 TRANSLATION_RESOURCE_NOT_FOUND

    Category does not exist in this store.

  • 409 TRANSLATION_DUPLICATE_NAME_OR_SLUG

    Translated slug conflicts with another category.

Set category translation

PUT write_products + write_translations

Set one category translation.

Writes translated Category fields for one locale. Empty values clear the matching field translation.

Path parameters

Name Type Description
id required integer

Category 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: {"name": "Vêtements", "description": "Vêtements et mode."}

Errors

  • 400 STORE_API_INVALID_CATEGORY_ID

    id is not an integer.

  • 400 STORE_API_INVALID_REQUEST_BODY

    Request body is not valid JSON.

  • 400 TRANSLATION_LOCALE_REQUIRED

    locale is required.

  • 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_FIELD_NOT_TRANSLATABLE

    Field is not translatable for categories.

  • 400 TRANSLATION_FIELDS_REQUIRED

    At least one translated field is required.

  • 400 TRANSLATION_FIELD_VALUE_TOO_LONG

    A translated value exceeds its field limit.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A category id is invalid.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The request exceeds the translation batch resource cap.

  • 404 TRANSLATION_RESOURCE_NOT_FOUND

    Category does not exist in this store.

  • 409 TRANSLATION_DUPLICATE_NAME_OR_SLUG

    Translated slug conflicts with another category.

Batch get category translations

GET read_products + read_translations

Fetch category translations in batch.

Returns translated Category fields for multiple category 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 category ids.

Example: 1,2,3

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 400 TRANSLATION_LOCALE_REQUIRED

    locale is required.

  • 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_FIELD_NOT_TRANSLATABLE

    Field is not translatable for categories.

  • 400 TRANSLATION_FIELDS_REQUIRED

    At least one translated field is required.

  • 400 TRANSLATION_FIELD_VALUE_TOO_LONG

    A translated value exceeds its field limit.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A category id is invalid.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The request exceeds the translation batch resource cap.

  • 404 TRANSLATION_RESOURCE_NOT_FOUND

    Category does not exist in this store.

  • 409 TRANSLATION_DUPLICATE_NAME_OR_SLUG

    Translated slug conflicts with another category.

Batch set category translations

PUT write_products + write_translations

Set category translations in batch.

Writes translated Category fields for multiple category 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": {"name": "Vêtements"}}]

Errors

  • 400 STORE_API_INVALID_REQUEST_BODY

    Request body is not valid JSON.

  • 400 TRANSLATION_LOCALE_REQUIRED

    locale is required.

  • 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_FIELD_NOT_TRANSLATABLE

    Field is not translatable for categories.

  • 400 TRANSLATION_FIELDS_REQUIRED

    At least one translated field is required.

  • 400 TRANSLATION_FIELD_VALUE_TOO_LONG

    A translated value exceeds its field limit.

  • 400 TRANSLATION_INVALID_RESOURCE_ID

    A category id is invalid.

  • 400 TRANSLATION_TOO_MANY_RESOURCES

    The request exceeds the translation batch resource cap.

  • 404 TRANSLATION_RESOURCE_NOT_FOUND

    Category does not exist in this store.

  • 409 TRANSLATION_DUPLICATE_NAME_OR_SLUG

    Translated slug conflicts with another category.