1. Menu
Fodimi
  • Clients
    • Get list
      GET
    • Create client
      GET
    • Get client orders list
      GET
    • Get client history
      GET
    • Update client details
      PUT
    • Create client
      GET
    • Create client
      POST
  • Orders
    • Get Order Details
      GET
    • Get orders list
      GET
    • Change order status
      PUT
    • Create an order
      POST
    • Quote an order
      POST
  • Menu
    • Get menu
      GET
    • Update Product visibility
      PUT
    • Bulk update menu translations
      PATCH
    • Update product translations
      PATCH
    • Update category translations
      PATCH
    • Update addon group translations
      PATCH
    • Update addon translations
      PATCH
    • Update variant group translations
      PATCH
    • Update variant translations
      PATCH
  • Webhooks
    • Order status changed
    • Order closed
    • Order canceled
    • Client created
    • Client details changed
    • Client points changed
    • Delivery status changed
  • Webhooks (sent by Fodimi)
    • Order status changed
    • Order closed
    • Order canceled
    • Client created
    • Client details changed
    • Client points changed
    • Delivery status changed
  • Account
    • Who am I
  • Schemas
    • Clients
      • Client list response
      • Client details response
      • Client history logs
    • Orders
      • Order list response
      • Order response
      • Order detailed response
      • Order product response
    • Menu translations section result
    • Menu translations not found
    • Validation error
  1. Menu

Bulk update menu translations

Developing
PATCH
/menu/{restaurantUid}/translations
Updates translations of many menu items at once - the easiest way to upload a whole translated menu.
Send any combination of sections: products, categories, addon_groups, addons, variant_groups, variants. Each item needs its id and only the translation fields you want to change.
Translations are merged per language: only the languages you send are changed, all other languages stay as they are.
Send null (or an empty string) to clear a language. POLISH in translatable_name cannot be cleared - it is the base name used on receipts, POS and delivery platforms.
Allowed language keys: POLISH, ENGLISH, GERMAN, ITALIAN, FRENCH, UKRAINIAN, SPANISH, RUSSIAN. Any other key is rejected with 422.
The request is all-or-nothing: if any id does not belong to the restaurant you get 404 with the list of missing ids and nothing is saved. Max 2000 items per section.
The response lists, per section, which ids were actually changed and which already had exactly these values.
After a change the menu is queued for re-sync with connected delivery platforms (Wolt, Bolt, Restimo, Deliverect).
If the restaurant belongs to a franchise network, edited fields become local overrides of the network menu and will no longer be overwritten by it.
Required ability: menu:write
A key limited to selected locations gets 403 for any other location.

Request

Path Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Per-section summary. Only sections sent in the request are returned.
Bodyapplication/json

🟠401Unauthorized
🟠403Forbidden
🟠404Record Not Found
🟠422Parameter Error
🟠429
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PATCH 'https://fodimi.pl/api_public/menu/b06a191d-8e22-4707-8c1e-9b5119cf4461/translations' \
--header 'Content-Type: application/json' \
--data '{
    "products": [
        {
            "id": 30763,
            "translatable_name": {
                "ENGLISH": "Margherita pizza",
                "GERMAN": "Pizza Margherita"
            },
            "translatable_short_description": {
                "ENGLISH": "Tomato sauce, mozzarella, basil"
            }
        }
    ],
    "categories": [
        {
            "id": 4901,
            "translatable_name": {
                "ENGLISH": "Pizza"
            }
        }
    ],
    "addon_groups": [
        {
            "id": 3266,
            "translatable_name": {
                "ENGLISH": "Sauces"
            }
        }
    ],
    "addons": [
        {
            "id": 29,
            "translatable_name": {
                "ENGLISH": "Garlic sauce"
            }
        }
    ],
    "variant_groups": [
        {
            "id": 644,
            "translatable_name": {
                "ENGLISH": "Size"
            }
        }
    ],
    "variants": [
        {
            "id": 1532,
            "translatable_name": {
                "ENGLISH": "Large 40 cm"
            }
        }
    ]
}'
Response Response Example
200 - Success Example
{
    "products": {
        "updated": [
            30763
        ],
        "unchanged": []
    },
    "addons": {
        "updated": [],
        "unchanged": [
            29
        ]
    }
}
Modified at 2026-09-12 08:45:17
Previous
Update Product visibility
Next
Update product translations
Built with