Text Items

Export text items

Returns text items in your workspace in the desired export format.

get/textItems/export

Request

  • Base URL: https://api.dittowords.com/v2
  • URL: https://api.dittowords.com/v2/textItems/export
  • Auth: API key in header Authorization

Query parameters

filterstring

Stringified JSON filter object. Supports the following filter fields:

  • projects: array of objects with id (project developer ID)
  • bases: array of objects with id (base developer ID)
  • statuses: array of status strings (NONE, WIP, REVIEW, FINAL). 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).
  • tags: object with values (array of tag strings) and optional operator (AND or OR, defaults to OR)
  • assignee: email string to match assigned text items, or null for unassigned
  • integrated: boolean value to filter by items that are or are not integrated into development

Without any filters, the export will include text items from all projects and no base text items. If a projects filter is provided, only text items from the specified projects will be exported. If a bases filter is provided, only text items from the specified bases will be exported. The projects and bases filters may be used together to export items from both sources. (More details about bases coming soon!)

The status and assignee filters apply only to project text items. Base text items do not contain these fields and will be exported unfiltered.

Example: {"projects":[{"id":"project-id"}], "statuses":["NONE","WIP","FINAL","REVIEW"], "tags":{"values":["tag-1"],"operator":"OR"}, "assignee":"user@example.com", "integrated":true}

sort'id' | 'project_order'

Sort order for the returned text items (default: id):

  • id sorts all items alphabetically by developer ID.
  • project_order groups items by project, returned alphabetically by project developer ID, then sorts within projects based on the custom sort order set up in the web app.
richText'html' | 'html_paragraphs'

When set to html or html_paragraphs, returns HTML-formatted rich text instead of plain text.

  • html_paragraphs wraps all text in <p> tags. Matches legacy behavior.
  • html exports without wrapping tags and uses <br /> for line breaks.
variantIdstring

By default, base text will be returned. Provide a variant parameter to specify which variant of the filtered base text items to return.

format'json_icu' | 'json_i18next' | 'json_vue_i18n' | 'ios-strings' | 'ios-stringsdict' | 'android' | 'arb' required

Output format for exported text items.

variableSort'default' | 'alphabetical'

Order in which variables are indexed in positional format exports (ios-strings, ios-stringsdict, android). "alphabetical" assigns indices by variable name (a=1, b=2, ...); "default" preserves the existing creation-order assignment.

'true'
OR
'false'
'true'
OR
'false'

Response

Returns text item developer id - text item value key/value pairs in the desired format.

object required

For json_icu, json_i18next, json_vue_i18n formats, object keys are developer-ids (strings) and values are text (strings). Variant exports in these formats also include __variant-name and __variant-description keys (strings) unless excludeVariantMetadata=true. When includeVariableSummary=true, json_i18next and json_vue_i18n exports also include a __variables_used key, whose value is an array of variable names. For arb, values are text (strings) except for the optional top-level @@locale key (string) and @<developer-id> metadata keys, which are objects.

Example response

{
  "@@locale": "en",
  "user-account-header": "{FullName}'s Account",
  "user-account-settings-label": "Account Settings",
  "user-account-settings-payment-header": "Payment Details",
  "welcome-header": "Welcome to Acme Inc., {FirstName}",
  "no-notifications-label": "No new notifications",
  "@welcome-header": {
    "placeholders": {
      "FirstName": {
        "type": "String"
      }
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.