When set to 'html', all text values in this request (including plural text) are parsed as HTML and saved as rich text. Supported formatting: <strong>/<b>, <em>/<i>, <u>, <s>, and <br> for line breaks. <sup> and <sub> are only supported for workspaces with superscript and subscript enabled. Unsupported markup (for example links, lists, or headings) is dropped and its text content kept.
Note: Fully-bolded strings will have that bold styling stripped, as Figma does not support bolding an entire text layer this way.
When omitted, text is saved as plaintext and any markup is stored literally.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ditto","description":"Developer documentation for Ditto, the source of truth for product text. Scan a codebase to import its strings, then connect coding agents through the Ditto MCP server, link Figma files, and pull localized string files with the CLI.","colors":{"primary":"#E2B103","light":"#F0D164","dark":"#1D1700"},"logo":{"light":"https://mintcdn.com/ditto/A9jN5zv6WG_Dk9hK/logo/ditto_logo.svg?fit=max\u0026auto=format\u0026n=A9jN5zv6WG_Dk9hK\u0026q=85\u0026s=4e38ddaa8955775a191cbe1616e02312","dark":"https://mintcdn.com/ditto/A9jN5zv6WG_Dk9hK/logo/ditto_logo.svg?fit=max\u0026auto=format\u0026n=A9jN5zv6WG_Dk9hK\u0026q=85\u0026s=4e38ddaa8955775a191cbe1616e02312"},"favicon":"https://mintcdn.com/ditto/WgRtoF9rLXWv6hNh/favicon.jpeg?fit=max\u0026auto=format\u0026n=WgRtoF9rLXWv6hNh\u0026q=85\u0026s=011fcbfc2411f0c04ab811e7b701750c","background":{"color":{"dark":"#11141B"}},"navbar":{"links":[{"href":"mailto:support@dittowords.com","label":"Support"}],"primary":{"type":"button","label":"Open App","href":"https://app.dittowords.com"}},"footer":{"socials":{"twitter":"https://twitter.com/dittowords","github":"https://github.com/dittowords","linkedin":"https://www.linkedin.com/company/ditto-app"}},"seo":{"organization":{"id":"https://www.dittowords.com/#organization","name":"Ditto","url":"https://www.dittowords.com","logo":"https://developer.dittowords.com/logo/ditto_logo.svg","sameAs":["https://twitter.com/dittowords","https://github.com/dittowords","https://www.linkedin.com/company/ditto-app"]},"indexing":"navigable"},"contextual":{"options":["copy","view","claude","chatgpt","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["These are Ditto's developer docs. Ditto is a single source of truth for product copy across design, review, localization, and code.","The first step on any codebase is a scan: https://developer.dittowords.com/get-started/scan-your-repo.md. That page also covers reviewing the style guide Ditto drafts from the scan. After it, the follow-on guides are Connect Figma files and Set up localization (under /guides/) and Connect the Ditto MCP (the Setup page of the MCP reference).","Two different MCP servers: the Ditto MCP server at https://api.dittowords.com/v2/mcp gives an agent a workspace's text and style guide rules; the documentation MCP server at https://developer.dittowords.com/mcp searches these docs.","Prefer logging in with a Ditto account (npx -y @dittowords/cli@latest login; OAuth in MCP clients) over API keys. API keys are for CI and headless clients only.","Commands are complete as written and use npx -y @dittowords/cli@latest; nothing needs a global install."]},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Help Guides","icon":"book-open-cover","href":"https://help.dittowords.com/en/"},{"anchor":"What's New","icon":"newspaper","href":"https://www.dittowords.com/whats-new"},{"anchor":"Figma Plugin","icon":"figma","href":"https://www.figma.com/community/plugin/798826066406007173/ditto-manage-copy-from-design-to-production"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ditto","hasAudioNarration":false,"actualSubdomain":"ditto","customDomains":["developer.dittowords.com"],"gitSource":{"type":"github","owner":"dittowords","repo":"ditto-app","deployBranch":"master","contentDirectory":"docs-public","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ada5ce522ea2a3b6e0dbfac","collectionId":"90313f13-54a1-4f52-8dba-e0009122f9c2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ada5ce522ea2a3b6e0dbfac"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ada5ce522ea2a3b6e0dbfac","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Documentation","count":90},{"language":"default","tag":"API Reference","count":61},{"language":"default","tag":"Endpoints","count":59},{"language":"default","tag":"Legacy","count":18},{"language":"default","tag":"Components","count":16},{"language":"default","tag":"Text Items","count":7},{"language":"default","tag":"CLI Reference","count":7},{"language":"default","tag":"Component Folders","count":6},{"language":"default","tag":"Projects","count":6},{"language":"default","tag":"Style guides","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/text-items/update-text-items","slug":"/api-reference/text-items/update-text-items","pageMetadata":{"openapi":"openapi.json put /textItems","title":"Update text items","description":"Updates a set of text items' base or variant text, tags, status, assignee, and plural forms.\n\nDeprecated — use PATCH /textItems instead.","href":"/api-reference/text-items/update-text-items"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Updates a set of text items’ base or variant text, tags, status, assignee, and plural forms.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Deprecated — use PATCH /textItems instead.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"openapi.json put /textItems","title":"Update text items","description":"Updates a set of text items' base or variant text, tags, status, assignee, and plural forms.\n\nDeprecated — use PATCH /textItems instead.","href":"/api-reference/text-items/update-text-items"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Text Items"],"description":"Updates a set of text items' base or variant text, tags, status, assignee, and plural forms.\n\nDeprecated — use PATCH /textItems instead.","summary":"Update text items","deprecated":true,"security":["742a9b73-3053-49d5-b1e9-80917f2000ad"],"requestBody":"a8ebdb4c-f0e8-4bc0-a7c3-bf3ea26ed95b","responses":{"200":"3ddbc391-2cc3-400b-8724-e92476bf7d75","400":"455e69d3-4eab-4b56-9f59-16712e44b4ea"},"method":"put","type":"path","servers":["69d2654a-fa4f-42ae-b988-6c331fe3ca17"],"path":"/textItems","baseUrlOptions":["https://api.dittowords.com/v2"],"title":"Update text items","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"updates":{"type":"array","items":{"type":"object","properties":{"developerId":{"type":"string","description":"The text item's developer ID","isRequired":true,"uniqueKey":"updates.items.[INDEX].developerId","typeLabel":"string"},"text":{"type":"string","description":"The text the text item will be updated to. Text will remain unchanged if unset. **Note:** Cannot be combined with plurals in the same update object. To update both the display text and other plural forms at once, include the first plural form in the plurals upsert array instead.","uniqueKey":"updates.items.[INDEX].text","typeLabel":"string"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"updates.items.[INDEX].tags.items.[INDEX]","typeLabel":"string"},"description":"The set of tags that will be set on this text item. Other tags will be removed. If unset tags will remain unchanged.","uniqueKey":"updates.items.[INDEX].tags","typeLabel":"string[]"},"status":{"type":"string","description":"The status to set on this text item (for example: 'NONE', 'WIP', 'REVIEW', 'FINAL'). If not provided, status will remain unchanged. These are stored status keys; by default the web app and Figma plugin display them as NONE = \"Draft\", WIP = \"In Progress\", REVIEW = \"In Review\", FINAL = \"Final\" (a workspace may rename these or replace the set entirely, so none of these keys are guaranteed to exist — read the workspace's actual statuses from GET /v2/statuses or the list_statuses MCP tool rather than assuming this set).","uniqueKey":"updates.items.[INDEX].status","typeLabel":"string"},"assignee":{"oneOf":[{"type":"string","format":"email","description":"The email of the user to assign to the text item. If null the assignee will be removed. If not provided, assignee will remain unchanged.","uniqueKey":"updates.items.[INDEX].assignee.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","description":"The email of the user to assign to the text item. If null the assignee will be removed. If not provided, assignee will remain unchanged.","uniqueKey":"updates.items.[INDEX].assignee.oneOf.1","typeLabel":"null"}],"uniqueKey":"updates.items.[INDEX].assignee","typeLabel":"string\u003cemail> | null"},"integrated":{"type":"boolean","description":"Mark the text item as integrated or not integrated into development. If not provided, integration status will remain unchanged.","uniqueKey":"updates.items.[INDEX].integrated","typeLabel":"boolean"},"notes":{"oneOf":[{"type":"string","description":"Notes for the text item. Use null or empty string to clear notes. If not provided, notes will remain unchanged.","uniqueKey":"updates.items.[INDEX].notes.oneOf.0","typeLabel":"string"},{"type":"null","description":"Notes for the text item. Use null or empty string to clear notes. If not provided, notes will remain unchanged.","uniqueKey":"updates.items.[INDEX].notes.oneOf.1","typeLabel":"null"}],"uniqueKey":"updates.items.[INDEX].notes","typeLabel":"string | null"},"characterLimit":{"oneOf":[{"type":"number","minimum":1,"description":"Character limit for the text item. Use null to remove the limit. If not provided, character limit will remain unchanged.","uniqueKey":"updates.items.[INDEX].characterLimit.oneOf.0","typeLabel":"number"},{"type":"null","minimum":1,"description":"Character limit for the text item. Use null to remove the limit. If not provided, character limit will remain unchanged.","uniqueKey":"updates.items.[INDEX].characterLimit.oneOf.1","typeLabel":"null"}],"uniqueKey":"updates.items.[INDEX].characterLimit","typeLabel":"number | null"},"variables":{"type":"array","items":{"type":"string","uniqueKey":"updates.items.[INDEX].variables.items.[INDEX]","typeLabel":"string"},"description":"Developer IDs of variables (the `id` field from GET /v2/variables) used in this update's text or plurals. Text fields support `{{variable_name}}` placeholders that will be resolved using the variables listed here. Placeholders whose names are not in this list are kept as literal text.","uniqueKey":"updates.items.[INDEX].variables","typeLabel":"string[]"},"plurals":{"type":"object","properties":{"upsert":{"type":"array","items":{"type":"object","properties":{"form":{"type":"string","enum":["one","two","few","many","zero","other"],"description":"The plural form","isRequired":true,"uniqueKey":"updates.items.[INDEX].plurals.upsert.items.[INDEX].form","typeLabel":"enum\u003cstring>"},"text":{"type":"string","description":"The text for this plural form","isRequired":true,"uniqueKey":"updates.items.[INDEX].plurals.upsert.items.[INDEX].text","typeLabel":"string"}},"required":["form","text"],"uniqueKey":"updates.items.[INDEX].plurals.upsert.items.[INDEX]","typeLabel":"object"},"description":"Array of plural forms to create or update. If a plural with the given form already exists, its text will be updated. Otherwise, a new plural will be created. Each form may only appear once in the array.","uniqueKey":"updates.items.[INDEX].plurals.upsert","typeLabel":"object[]"},"remove":{"type":"array","items":{"type":"string","enum":["one","two","few","many","zero","other"],"uniqueKey":"updates.items.[INDEX].plurals.remove.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Array of plural forms to remove from the text item. Each form may only appear once. A form cannot appear in both upsert and remove.","uniqueKey":"updates.items.[INDEX].plurals.remove","typeLabel":"enum\u003cstring>[]"}},"description":"Optional plural form updates. Existing plural forms not mentioned in either upsert or remove are preserved. The order of plurals matters: the first plural form is the 'master' value whose text is used as the text item's display text. New plurals are appended after existing ones. If you need to change which plural is first, remove and re-add them in the desired order.","uniqueKey":"updates.items.[INDEX].plurals","typeLabel":"object"},"newDeveloperId":{"type":"string","description":"A new developer ID for this text item. Must be unique within the workspace. Can be set alongside other field changes in the same update object.","uniqueKey":"updates.items.[INDEX].newDeveloperId","typeLabel":"string"},"blockId":{"oneOf":[{"type":"string","description":"Developer ID of the block to move this text item into (from GET /v2/projectBlocks or list_project_blocks). Pass null to move it to the project's root level, outside any block. If omitted, block assignment is left unchanged. The item is placed at the end of the target block/root.","uniqueKey":"updates.items.[INDEX].blockId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Developer ID of the block to move this text item into (from GET /v2/projectBlocks or list_project_blocks). Pass null to move it to the project's root level, outside any block. If omitted, block assignment is left unchanged. The item is placed at the end of the target block/root.","uniqueKey":"updates.items.[INDEX].blockId.oneOf.1","typeLabel":"null"}],"uniqueKey":"updates.items.[INDEX].blockId","typeLabel":"string | null"},"projectId":{"type":"string","description":"Developer ID of the project the target text item belongs to. Required if 2+ text items are derived from the same base text item and still share its Developer ID, to target the correct individual instance.","uniqueKey":"updates.items.[INDEX].projectId","typeLabel":"string"}},"required":["developerId"],"uniqueKey":"updates.items.[INDEX]","typeLabel":"object"},"description":"Array of updates to text items.","isRequired":true,"uniqueKey":"updates","typeLabel":"object[]"},"variantId":{"type":"string","description":"Developer ID of the target variant. If a text item does not already have the target variant, it will be added. Omit if targeting base text.","uniqueKey":"variantId","typeLabel":"string"},"forceVariantCreation":{"type":"boolean","description":"If true, and the provided variantId is not found, create the variant. A variant name will be generated based on the passed in ID.","uniqueKey":"forceVariantCreation","typeLabel":"boolean"},"richText":{"type":"string","enum":["html"],"description":"When set to 'html', all `text` values in this request (including plural text) are parsed as HTML and saved as rich text. Supported formatting: `\u003cstrong>`/`\u003cb>`, `\u003cem>`/`\u003ci>`, `\u003cu>`, `\u003cs>`, and `\u003cbr>` for line breaks. `\u003csup>` and `\u003csub>` are only supported for workspaces with superscript and subscript enabled. Unsupported markup (for example links, lists, or headings) is dropped and its text content kept.\n\nNote: Fully-bolded strings will have that bold styling stripped, as Figma does not support bolding an entire text layer this way.\n\nWhen omitted, text is saved as plaintext and any markup is stored literally.","uniqueKey":"richText","typeLabel":"enum\u003cstring>"}},"required":["updates"],"example":{"variantId":"french","updates":[{"developerId":"greeting","text":"Bonjour!","status":"FINAL","assignee":"john@example.com"}]},"uniqueKey":"","typeLabel":"object"},"examples":{"update_base_text":{"title":"update_base_text","value":{"updates":[{"developerId":"greeting","text":"Hello!"}]}},"update_variant_text":{"title":"update_variant_text","value":{"variantId":"french","updates":[{"developerId":"greeting","text":"Bonjour!"}]}},"update_status":{"title":"update_status","value":{"updates":[{"developerId":"greeting","status":"FINAL"},{"developerId":"welcome-message","status":"REVIEW"}]}},"update_assignee":{"title":"update_assignee","value":{"updates":[{"developerId":"greeting","assignee":"john@example.com"},{"developerId":"welcome-message","assignee":null}]}},"add_plurals":{"title":"add_plurals","description":"Creates plural forms on a text item. New forms are appended after any existing plurals.","value":{"updates":[{"developerId":"item-count","plurals":{"upsert":[{"form":"one","text":"item"},{"form":"other","text":"items"}]}}]}},"update_and_remove_plurals":{"title":"update_and_remove_plurals","description":"Updates existing plural forms and removes others in a single request. A form cannot appear in both upsert and remove. Forms in remove must exist on the text item.","value":{"updates":[{"developerId":"item-count","plurals":{"upsert":[{"form":"one","text":"updated item"}],"remove":["many"]}}]}},"update_variant_plurals":{"title":"update_variant_plurals","description":"Plural forms can also be managed on variants by providing a variantId.","value":{"variantId":"french","updates":[{"developerId":"item-count","plurals":{"upsert":[{"form":"one","text":"élément"},{"form":"other","text":"éléments"}]}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"3ddbc391-2cc3-400b-8724-e92476bf7d75":{"description":"Returns success status of the update operation","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the update was successful","isRequired":true,"uniqueKey":"success","typeLabel":"boolean"}},"required":["success"],"example":{"success":true},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true}}},"exampleType":"generated"}},"exampleType":"generated"},"455e69d3-4eab-4b56-9f59-16712e44b4ea":{"description":"Returned when the request body fails validation. Common causes include: duplicate plural forms in the upsert array, a form appearing in both upsert and remove, attempting to remove a plural form that does not exist on the text item, or providing both `text` and `plurals` in the same update object.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error message describing the validation failure","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional additional error details","uniqueKey":"details","typeLabel":"object"}},"required":["message"],"uniqueKey":"","typeLabel":"object"},"example":{"message":"Cannot remove plural forms that do not exist on text item \"item-count\": many"},"examples":{"Example":{"title":"Example","value":{"message":"Cannot remove plural forms that do not exist on text item \"item-count\": many"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"742a9b73-3053-49d5-b1e9-80917f2000ad":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"69d2654a-fa4f-42ae-b988-6c331fe3ca17":{"url":"https://api.dittowords.com/v2"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"Authorization","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"Authorization"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"ditto","siteName":"Ditto","title":"Update text items - Ditto","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-19T17:29:38.673Z","originalFileLocation":"api-reference/text-items/update-text-items.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Updates a set of text items\u0026#x27; base or variant text, tags, status, assignee, and plural forms. Deprecated — use PATCH /textItems instead.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ditto\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update text items - Ditto\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates a set of text items\u0026#x27; base or variant text, tags, status, assignee, and plural forms. Deprecated — use PATCH /textItems instead.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ditto\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.dittowords.com/api-reference/text-items/update-text-items\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ditto.mintlify.app/_mintlify/api/og/v2?division=Text+Items\u0026amp;title=Update+text+items\u0026amp;description=Updates+a+set+of+text+items%27+base+or+variant+text%2C+tags%2C+status%2C+assignee%2C+and+plural+forms.%0A%0ADeprecated+%E2%80%94+use+PATCH+%2FtextItems+instead.\u0026amp;theme=cafcf8215feabbb48baf53ae\u0026amp;signature=67eb81e544c917a02b998e93e7eaf5eb8b7cd09e7beebdbf986262e01c25188b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update text items - Ditto\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates a set of text items\u0026#x27; base or variant text, tags, status, assignee, and plural forms. Deprecated — use PATCH /textItems instead.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ditto.mintlify.app/_mintlify/api/og/v2?division=Text+Items\u0026amp;title=Update+text+items\u0026amp;description=Updates+a+set+of+text+items%27+base+or+variant+text%2C+tags%2C+status%2C+assignee%2C+and+plural+forms.%0A%0ADeprecated+%E2%80%94+use+PATCH+%2FtextItems+instead.\u0026amp;theme=cafcf8215feabbb48baf53ae\u0026amp;signature=67eb81e544c917a02b998e93e7eaf5eb8b7cd09e7beebdbf986262e01c25188b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ditto/sayH8aGeMpv32blB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ditto\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#E2B103\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.dittowords.com/api-reference/text-items/update-text-items\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/text-items/update-text-items.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.dittowords.com/#organization\",\"name\":\"Ditto\",\"url\":\"https://www.dittowords.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://developer.dittowords.com/logo/ditto_logo.svg\"},\"sameAs\":[\"https://twitter.com/dittowords\",\"https://github.com/dittowords\",\"https://www.linkedin.com/company/ditto-app\"]},{\"@type\":\"WebSite\",\"@id\":\"https://developer.dittowords.com#website\",\"name\":\"Ditto\",\"url\":\"https://developer.dittowords.com\",\"publisher\":{\"@id\":\"https://www.dittowords.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items#webpage\",\"url\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items\",\"name\":\"Update text items\",\"description\":\"Updates a set of text items' base or variant text, tags, status, assignee, and plural forms. Deprecated — use PATCH /textItems instead.\",\"dateModified\":\"2026-08-19T17:29:38.673Z\",\"isPartOf\":{\"@id\":\"https://developer.dittowords.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://developer.dittowords.com/api-reference/authentication\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Endpoints\",\"item\":\"https://developer.dittowords.com/api-reference/activity/get-activity\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Text Items\",\"item\":\"https://developer.dittowords.com/api-reference/text-items/get-text-items\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Update text items\",\"item\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items#apireference\",\"headline\":\"Update text items\",\"name\":\"Update text items\",\"description\":\"Updates a set of text items' base or variant text, tags, status, assignee, and plural forms. Deprecated — use PATCH /textItems instead.\",\"url\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items\",\"mainEntityOfPage\":{\"@id\":\"https://developer.dittowords.com/api-reference/text-items/update-text-items#webpage\"},\"dateModified\":\"2026-08-19T17:29:38.673Z\",\"publisher\":{\"@id\":\"https://www.dittowords.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.dittowords.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ditto\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ditto","nav":{"global":{"anchors":[{"anchor":"Help Guides","icon":"book-open-cover","href":"https://help.dittowords.com/en/"},{"anchor":"What's New","icon":"newspaper","href":"https://www.dittowords.com/whats-new"},{"anchor":"Figma Plugin","icon":"figma","href":"https://www.figma.com/community/plugin/798826066406007173/ditto-manage-copy-from-design-to-production"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Start here","pages":[{"title":"Ditto developer documentation","sidebarTitle":"Introduction","href":"/introduction"},{"title":"Scan your repo","href":"/get-started/scan-your-repo"},{"title":"Connect Figma files","href":"/guides/connect-figma-files"},{"title":"Set up localization","href":"/guides/set-up-localization"}]},{"group":"Concepts","pages":[{"title":"Key concepts","href":"/concepts"}]},{"group":"CLI Reference","pages":[{"title":"Install and log in to the Ditto CLI","sidebarTitle":"Install and log in","href":"/cli-reference/authentication"},{"title":"Ditto CLI commands","sidebarTitle":"Commands","href":"/cli-reference/commands"},{"title":"Ditto CLI configuration","sidebarTitle":"Configuration","href":"/cli-reference/configuration"},{"title":"Ditto CLI output files","sidebarTitle":"Files","href":"/cli-reference/files"}]},{"group":"API Reference","pages":[{"title":"Ditto API authentication","sidebarTitle":"Authentication","href":"/api-reference/authentication"},{"group":"Endpoints","pages":[{"group":"Activity","pages":[{"openapi":"openapi.json get /activity","title":"Fetch activity","href":"/api-reference/activity/get-activity"}]},{"group":"Components","pages":[{"openapi":"openapi.json get /components","title":"Fetch components","href":"/api-reference/components/get-components"},{"openapi":"openapi.json get /components/export","title":"Export components","href":"/api-reference/components/export-components"},{"openapi":"openapi.json post /components","title":"Create components","href":"/api-reference/components/create-components"},{"openapi":"openapi.json patch /components","title":"Update components","href":"/api-reference/components/patch-components"},{"openapi":"openapi.json delete /components","title":"Delete components","href":"/api-reference/components/delete-components"},{"group":"Text Item Linking","pages":[{"openapi":"openapi.json post /components/publish","title":"Publish a text item to the library","href":"/api-reference/components/publish-component"},{"openapi":"openapi.json patch /components/link","title":"Link text items to a component","href":"/api-reference/components/link-components"},{"openapi":"openapi.json patch /components/unlink","title":"Unlink text items from a component","href":"/api-reference/components/unlink-components"}]},{"group":"Versioning","pages":[{"openapi":"openapi.json get /components/staged","title":"Fetch unpublished component changes","href":"/api-reference/components/get-unpublished-component-changes"},{"openapi":"openapi.json patch /components/staged","title":"Save unpublished component changes","href":"/api-reference/components/save-unpublished-component-changes"},{"openapi":"openapi.json delete /components/staged","title":"Discard unpublished component changes","href":"/api-reference/components/discard-unpublished-component-changes"},{"openapi":"openapi.json post /components/staged/publish","title":"Publish component changes","href":"/api-reference/components/publish-component-changes"},{"openapi":"openapi.json patch /components/upgrade","title":"Upgrade component instances","href":"/api-reference/components/upgrade-component-instances"}]}]},{"group":"Component Folders","pages":[{"openapi":"openapi.json get /componentFolders","title":"Fetch component folders","href":"/api-reference/component-folders/get-component-folders"},{"openapi":"openapi.json post /componentFolders","title":"Create component folders","href":"/api-reference/component-folders/create-component-folders"},{"openapi":"openapi.json patch /componentFolders","title":"Update component folders","href":"/api-reference/component-folders/patch-component-folders"},{"openapi":"openapi.json delete /componentFolders","title":"Delete component folders","href":"/api-reference/component-folders/delete-component-folders"}]},{"group":"Projects","pages":[{"openapi":"openapi.json get /projects","title":"Fetch projects","href":"/api-reference/projects/get-projects"},{"openapi":"openapi.json post /projects","title":"Create a project","href":"/api-reference/projects/create-projects"},{"openapi":"openapi.json patch /projects/{projectId}","title":"Update a project","href":"/api-reference/projects/patch-projects"}]},{"group":"Project Blocks","pages":[{"openapi":"openapi.json get /projectBlocks","title":"Fetch project blocks","href":"/api-reference/project-blocks/get-project-blocks"},{"openapi":"openapi.json post /projectBlocks","title":"Create project blocks","href":"/api-reference/project-blocks/create-project-blocks"},{"openapi":"openapi.json patch /projectBlocks","title":"Update project blocks","href":"/api-reference/project-blocks/patch-project-blocks"},{"openapi":"openapi.json delete /projectBlocks","title":"Delete project blocks","href":"/api-reference/project-blocks/delete-project-blocks"}]},{"group":"Statuses","pages":[{"openapi":"openapi.json get /statuses","title":"Fetch statuses","href":"/api-reference/statuses/get-statuses"}]},{"group":"Style guides","pages":[{"title":"Get style guides","openapi":"openapi.json get /styleguides","href":"/api-reference/styleguides/get-styleguides"},{"openapi":"openapi.json post /styleguides","title":"Create a style guide","href":"/api-reference/styleguides/create-styleguides"},{"openapi":"openapi.json patch /styleguides","title":"Update a style guide","href":"/api-reference/styleguides/patch-styleguides"},{"openapi":"openapi.json post /styleguides/rules","title":"Create style guide rules","href":"/api-reference/styleguides/create-styleguide-rules"},{"openapi":"openapi.json patch /styleguides/rules","title":"Update style guide rules","href":"/api-reference/styleguides/patch-styleguide-rules"},{"openapi":"openapi.json delete /styleguides/rules","title":"Delete style guide rules","href":"/api-reference/styleguides/delete-styleguide-rules"}]},{"group":"Text Items","pages":[{"openapi":"openapi.json get /textItems","title":"Fetch text items","href":"/api-reference/text-items/get-text-items"},{"openapi":"openapi.json get /textItems/export","title":"Export text items","href":"/api-reference/text-items/export-text-items"},{"openapi":"openapi.json post /textItems","title":"Create text items","href":"/api-reference/text-items/create-text-items"},{"openapi":"openapi.json patch /textItems","title":"Update text items","description":"Updates a set of text items' base or variant text, plural forms, tags, status, assignee, notes, character limit, integrated, variables, and block placement.\n\nEach text item is identified by its developer ID. Only provided fields are modified — omitted fields remain unchanged.","href":"/api-reference/text-items/patch-text-items"},{"openapi":"openapi.json put /textItems","title":"Update text items","href":"/api-reference/text-items/update-text-items"},{"openapi":"openapi.json delete /textItems","title":"Delete text items","description":"Deletes text items by their developer IDs.","href":"/api-reference/text-items/delete-text-items"},{"openapi":"openapi.json post /textItems/linkFigmaNodes","title":"Link Figma nodes to text items","href":"/api-reference/text-items/link-figma-nodes"}]},{"group":"Variables","pages":[{"openapi":"openapi.json get /variables","title":"Fetch variables","href":"/api-reference/variables/get-variables"},{"openapi":"openapi.json post /variables","title":"Create variables","href":"/api-reference/variables/create-variables"},{"openapi":"openapi.json patch /variables","title":"Update variables","href":"/api-reference/variables/patch-variables"},{"openapi":"openapi.json delete /variables","title":"Delete variables","href":"/api-reference/variables/delete-variables"}]},{"group":"Variants","pages":[{"openapi":"openapi.json get /variants","title":"Fetch variants","href":"/api-reference/variants/get-variants"},{"openapi":"openapi.json post /variants","title":"Create variants","href":"/api-reference/variants/create-variants"},{"openapi":"openapi.json patch /variants","title":"Update variants","href":"/api-reference/variants/patch-variants"},{"openapi":"openapi.json delete /variants","title":"Delete variants","href":"/api-reference/variants/delete-variants"}]}]}]},{"group":"String Formats","pages":[{"title":"JSON","icon":"js","href":"/string-formats/json"},{"title":"iOS string formats","sidebarTitle":"iOS Strings","icon":"apple","href":"/string-formats/ios"},{"title":"Android XML string format","sidebarTitle":"Android XML","icon":"android","href":"/string-formats/android"}]},{"group":"MCP Reference","pages":[{"title":"Ditto MCP server overview","sidebarTitle":"Overview","href":"/mcp-reference/overview"},{"title":"Connect the Ditto MCP","sidebarTitle":"Setup","href":"/guides/connect-the-mcp"},{"title":"Ditto MCP tools","sidebarTitle":"Tools","href":"/mcp-reference/tools"},{"title":"Agent instructions","href":"/guides/agent-instructions"}]},{"group":"Ditto Specs CLI","pages":[{"title":"Ditto Specs overview","sidebarTitle":"Overview","href":"/ditto-specs-cli-reference/overview"},{"title":"Ditto Specs CLI setup","sidebarTitle":"Setup","href":"/ditto-specs-cli-reference/setup"},{"title":"Ditto Specs CLI commands","sidebarTitle":"Commands","href":"/ditto-specs-cli-reference/commands"},{"title":"Ditto Spec Files","sidebarTitle":"Spec files","href":"/ditto-specs-cli-reference/spec-files"},{"title":"Ditto Specs agent skills","sidebarTitle":"Agent skills","href":"/ditto-specs-cli-reference/agent-skills"}]},{"group":"Additional Tools","pages":[{"title":"GitHub PR Review Bot","href":"/additional-tools/github-pr-review-bot"},{"title":"Webhooks","href":"/additional-tools/webhooks"},{"title":"GitHub Action","href":"/additional-tools/gh-action"}]},{"group":"Legacy","pages":[{"group":"API Reference","pages":[{"title":"Legacy API authentication","sidebarTitle":"Authentication","href":"/legacy/api-reference-legacy/authentication"},{"group":"Endpoints","pages":[{"group":"Components","pages":[{"openapi":"openapi-legacy.json get /components","title":"Fetch component text","href":"/legacy/api-reference-legacy/components/fetch-component-text"},{"openapi":"openapi-legacy.json post /components/file","title":"Import components via a file","href":"/legacy/api-reference-legacy/components/import-components-via-a-file"},{"openapi":"openapi-legacy.json put /components","title":"Update component text variant","href":"/legacy/api-reference-legacy/components/update-component-text-variant"}]},{"group":"Component Folders","pages":[{"openapi":"openapi-legacy.json get /component-folders","title":"Fetch component folders","href":"/legacy/api-reference-legacy/components-folders/fetch-component-folders"},{"openapi":"openapi-legacy.json get /component-folders/{api_id}/components","title":"Fetch component text by component folder","href":"/legacy/api-reference-legacy/components-folders/fetch-component-text-by-component-folder"}]},{"group":"Projects","pages":[{"openapi":"openapi-legacy.json get /projects/{id}/components","title":"Fetch component text by project id","href":"/legacy/api-reference-legacy/projects/fetch-component-text-by-project-id"},{"openapi":"openapi-legacy.json get /projects","title":"Fetch projects","href":"/legacy/api-reference-legacy/projects/fetch-projects"},{"openapi":"openapi-legacy.json get /projects/{id}","title":"Fetch text by project id","href":"/legacy/api-reference-legacy/projects/fetch-text-by-project-id"}]},{"group":"Project Folders","pages":[{"openapi":"openapi-legacy.json get /project-folders","title":"Fetch project folders","href":"/legacy/api-reference-legacy/project-folders/fetch-project-folders"},{"openapi":"openapi-legacy.json get /project-folders/{folder_id}/projects","title":"Fetch projects by project folder id","href":"/legacy/api-reference-legacy/project-folders/fetch-projects-by-project-folder-id"}]},{"group":"Variables","pages":[{"openapi":"openapi-legacy.json get /variables","title":"Fetch variables","href":"/legacy/api-reference-legacy/variables/fetch-variables"}]},{"group":"Variants","pages":[{"openapi":"openapi-legacy.json get /variants","title":"Fetch variants","href":"/legacy/api-reference-legacy/variants/fetch-variants"}]}]}]},{"group":"CLI Reference","pages":[{"title":"Legacy CLI installation","sidebarTitle":"Installation","href":"/legacy/cli-reference-legacy/authentication"},{"title":"Legacy CLI configuration","sidebarTitle":"Configuration","href":"/legacy/cli-reference-legacy/configuration"},{"title":"Legacy CLI output files","sidebarTitle":"Files","href":"/legacy/cli-reference-legacy/files"}]},{"title":"Legacy tools","href":"/legacy/legacy-tools"},{"title":"Example apps","href":"/example-apps"}]}]},{"tab":"Feedback \u0026 Support","pages":[{"title":"Feedback \u0026 Support","href":"/feedback-support/feedback-support"}]}]},"title":"Update text items - Ditto","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}