Translations
Apply translations for one page and locale
Writes translation overrides for an owned page and one configured, non-default target locale. Send the entries read from GET with translation replaced; source and targetGeneration must be the values GET returned.
- Only Translation rows change. Base page content, its items and every other locale are untouched.
- The project default language is rejected (400): it is the source other locales translate from.
- Each entry is compare-and-set on both its source and its targetGeneration, so a delayed agent can never overwrite a source the merchant edited or a newer translation another writer stored. Refused entries are counted in stale and were not written; re-read and resubmit them. applied + stale = requested.
- translation: "" clears a key, keeping the tombstone row that distinguishes "cleared" from "never translated".
- targetGeneration is required on every entry (null when GET returned null); omitting it is a 400, not a blind write.
- At most 250 entries per request; duplicate itemId + key pairs are rejected.
- A request that applies nothing advances no project revision and flushes no cache.
- If the write committed but cache invalidation failed, the response is a 500 whose message states how many entries were applied. Verify with GET; retrying the same entries will not flush the cache, because they then lose the target compare-and-set as no-ops.
Required scope: content:write
post/projects/{projectId}/page-translations/{pageId}
Request
- Base URLhttps://studio.weaverse.io/api/v1/content
- AuthHTTP bearer
Path parameters
projectIdstring required
pageIdstring required
Request body
Response
Decision for the whole batch. applied + stale = requested; a non-zero stale means those keys must be re-read and resubmitted.
Changes
No recorded changes to this operation across all 1 revision of this API.