Skip to content

Update texts

PATCH/settings/texts

Costs 2 rate-limit points · Rate limits

Change customer-facing texts in one locale, as the settings Translate view does: send locale and texts, a partial tree with the same paths GET /settings/texts returns (for example {"email": {"subject": "…"}, "download_page": {"texts": {"button": "…"}}}). Answers with that locale's texts after the save.

locale defaults to the shop's default language. Another locale needs multi-language on (409 multi_language_disabled). null clears a translation so buyers see the default language. The same checks as the dashboard run (email copy is spam-checked, the download button can't be blank).

Also searched astranslate the download emailchange french textsset german download page textfix a translation

Request body

  • textsobject
    Show 1 child attributeHide child attributes
    • emailobject
      Show 1 child attributeHide child attributes
      • subjectstring
        Example: Vos téléchargements sont prêts
  • localestring
    Example: fr

Returns

  • localestring, nullable
    Example: fr
  • textsobject
    Show 2 child attributesHide child attributes
    • emailobject
      Show 2 child attributesHide child attributes
      • subjectstring, nullable
        Example: Vos téléchargements sont prêts
      • buttonobject
        Show 1 child attributeHide child attributes
        • textstring, nullable
          Example: Télécharger
    • download_pageobject
      Show 1 child attributeHide child attributes
      • textsobject
        Show 2 child attributesHide child attributes
        • thanksstring, nullable
          Example: Merci pour votre commande
        • buttonany
  • untranslatedarray of strings

Errors

401

Missing or invalid API key.

409

The request conflicts with the current state (an order Shopify is not ready to fulfil, a digital product that already exists). Nothing was changed; read the message, don't retry blindly.

422

The request failed validation, or sent a key the action does not take (code: "unknown_parameters" with unknown and accepted). Nothing was saved.

429

Rate limited. Cost-weighted per API key, shared with API v1: a read costs 1 point, a write 2, 40 points per fixed 60-second window. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix time the window ends); a 429 adds Retry-After (seconds), retry_after, retryable: true and a next_step in the body. A 429 did nothing: wait retry_after seconds, then send the same request again. The budget is per key, so every tool or script using the key shares it; prefer one list call with per_page over many single reads.

Every error has the same shape: see Errors.

PATCH/settings/texts
curl -X PATCH "https://app.filemonk.io/api/v2/external/settings/texts" \
  -H "X-Auth-Token: $FILEMONK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "locale": "fr",
    "texts": {
      "email": {
        "subject": "Vos téléchargements sont prêts"
      }
    }
  }'
Response
{
  "locale": "fr",
  "texts": {
    "email": {
      "subject": "Vos téléchargements sont prêts",
      "button": {
        "text": "Télécharger"
      }
    },
    "download_page": {
      "texts": {
        "thanks": "Merci pour votre commande",
        "button": null
      }
    }
  },
  "untranslated": [
    "download_page.texts.button"
  ]
}