canonical: https://jentic.com/apis/dittowords.com/dittowords

# Dittowords Ditto API

The Ditto API reads and writes the product copy stored in a Ditto workspace. It manages reusable text components and the text items inside projects and project blocks, publishes text items to the component library, and links them to Figma nodes. Variants and variables let you localize and vary copy, style guides and their rules enforce tone, and the activity feed tracks every change.

## For AI agents

Read and write product copy in a Ditto workspace: manage components, text items, projects, variants, variables, and style guides, and track workspace activity.

## Scope

Does not handle website hosting, image or media assets, or code deployment. Use for managing and publishing product copy and text content only.

## Capabilities

- Fetch, create, and update reusable text components in a workspace
- Read, create, and export the text items inside projects and project blocks
- Publish a text item to the component library and link text items to a component
- Manage variants and variables to localize or vary copy
- Apply style guides and style-guide rules across a workspace
- Link text items to Figma nodes for design handoff
- Read the workspace activity feed to track copy changes

## Use cases

### Agent-Synced Product Copy

An AI agent connected through Jentic fetches the latest text items for a project, applies edits, and writes them back so the app build always uses approved copy. The Ditto API exposes the text-item and component operations the agent needs, and Jentic injects the API key at call time.

Example prompt: Fetch the text items for a project, update three strings with approved copy, and export the project's text items

### Localization and Variants

Teams shipping multiple languages maintain variants of each string and resolve variables at build time. The Ditto API creates and updates variants and variables so a localization workflow stays in sync with the source copy.

Example prompt: Create a new variant for a set of text items and update the variables they reference

### Style Guide Enforcement

Content teams codify tone and wording in style guides and rules. The Ditto API creates and updates style guides and their rules, so an agent can keep copy aligned with the team's standards across projects.

Example prompt: Create a style guide, add two style-guide rules to it, and fetch the components affected

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/components` | Fetch components |
| POST | `/components` | Create components |
| GET | `/textItems` | Fetch text items |
| POST | `/textItems` | Create text items |
| GET | `/projects` | Fetch projects |
| GET | `/variants` | Fetch variants |
| GET | `/styleguides` | Get style guides |
| GET | `/activity` | Fetch workspace activity |

## Key resources

- **Components** — Fetch, create, update, delete, export, publish, and link reusable text components
- **Text items** — Fetch, create, update, delete, and export the text items in projects
- **Projects** — Fetch and create projects and project blocks
- **Variants and variables** — Manage variants and variables for localized and varied copy
- **Style guides** — Create and update style guides and style-guide rules

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 57 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 78 / 100
  - Developer Experience & Jentic Compatibility: 64 / 100
  - AI-Readiness & Agent Experience: 35 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 78 / 100
- **View full report:** https://jentic.com/apis/dittowords.com/dittowords/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Ditto by hand means managing its `Authorization` header API key and threading workspace, project, and component ids through the right calls yourself. Through Jentic you install once, import Ditto from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Ditto carries the component, project, and text-item ids in the request body or query rather than the URL path, so rules bound which operations your agent may call, not which project. Limit the agent to the operations it needs, such as fetching and creating text items, so deletes are not included unless you add them.
- **Credential handling:** Your Ditto API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'fetch text items' or 'publish a text component', and Jentic returns the matching Ditto operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Contentful** — Contentful is a general headless CMS, while Ditto specializes in product copy and UI strings.
- **Sanity** — Sanity is a flexible content platform, overlapping with Ditto for storing and querying text content.
- **Webflow** — Webflow builds and hosts the site that can consume copy managed in Ditto.
- **Ghost** — Ghost publishes long-form content, complementing Ditto's short-form product copy.

## FAQ

### What authentication does the Ditto API use?

The Ditto API authenticates with an API key sent in the `Authorization` request header, per its OpenAPI spec. Create the key in your Ditto workspace settings and send it on every call. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at execution time, so it never enters the agent's prompt or logs.

### Can I read and write product copy with the Ditto API?

Yes. The API fetches and creates text components and text items, organizes them into projects and project blocks, publishes items to the component library, and manages variants, variables, and style guides. It also exposes a workspace activity feed so you can track changes.

### Is there a Ditto MCP server?

You don't need an MCP server to give your agent the Ditto API. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the component and text-item operations. Operations load on demand, so your agent's context stays lean instead of holding another server's tool definitions.

### Can I limit what my agent is allowed to do with the Ditto API?

Yes. Write a rule that allows only the fetch and create operations for components and text items, so the agent can read and add copy but cannot delete components, variants, or style-guide rules. Every call the agent makes is logged.

### What are the rate limits for the Ditto API?

The OpenAPI spec does not specify rate limits. Check the Ditto developer documentation at https://developer.dittowords.com for current limits before running large export or sync jobs.

### How do I sync text items with the Ditto API through Jentic?

Search Jentic for an intent like 'fetch text items', add the Ditto API from the directory, and store your API key once. Your agent then calls the fetch, create, and export operations for the project you choose. To run it on your own infrastructure, install Jentic One from its GitHub repo.
