Skip to content
Documentation

Figma sync and cache-only mode

How KopiMark talks to the Figma API, why your Figma seat type triggers rate limits, and what cache-only mode lets you keep doing offline.

Open as Markdown Full docs bundle

Open this page in

KopiMark fetches your designs from Figma’s REST API using a personal access token that you provide. This page explains what that means in practice, when KopiMark will fall back to cache-only mode, and how your Figma seat type affects everything.

If you just want to set the token up, jump to Connect Figma — this page is the why.

Two states: live or cache-only

Every account is in one of two modes at any given time:

  • Live (Figma API on) — KopiMark can fetch fresh node trees, images, and metadata from Figma whenever you import a page, re-sync, or open the editor. This is the default once you’ve added a token.
  • Cache-only — KopiMark won’t call Figma at all. It only reads what’s already in its own cache: node JSON, rendered images, screenshots. You can still edit copy, translate, comment, and export. You just can’t pull in new Figma changes until you go back online.

You can flip the toggle yourself from Profile settings, or KopiMark may flip it for you (more on that below).

When KopiMark turns on cache-only for you

If a Figma API call from your token gets rate-limited (HTTP 429), KopiMark turns on cache-only mode automatically and shows a yellow banner on your profile:

We turned this on for you because Figma rate-limited a recent request from your token. You can turn it back off below if you believe it was a transient spike.

This isn’t a punishment — it’s a safety valve. Repeatedly hammering an already-throttled token makes things worse. The toggle is yours to flip back the moment you think the spike is over.

If you’ve never added a Figma token, cache-only mode is locked on (you’ll see a gray banner instead of a yellow one). You can still use the demo project, since its cache was baked at signup.

Why rate limits happen — the seat type

Here’s the part most teams don’t realise until they hit it: Figma’s API rate limit depends on your Figma seat type, not your KopiMark plan.

In rough terms:

  • Figma Editor / Full seat — generous per-token API quota. Comfortable for any team size.
  • Figma View seat — much lower quota. Importing a large file or re-syncing a busy project can exhaust it.
  • Figma Collab seat / Dev mode — lower again. KopiMark works, but you should expect occasional cache-only switches under load.

If you only have a View or Collab seat, you have three reasonable options:

  1. Ask the file owner to generate a token from a paid Editor seat and use that one. Tokens belong to the person who issued them, not to the file.
  2. Stay in cache-only most of the time and only flip live briefly to re-sync.
  3. Upgrade your Figma seat to a paid Editor.

There’s more detail in If your Figma seat is limited (View / Collab).

What stays available in cache-only

Everything that doesn’t require fetching from Figma:

  • Open any cached page in the editor
  • Edit copy and translations (changes save to KopiMark, not back to Figma)
  • Post and resolve comments
  • Assign statuses and mention teammates
  • Export copy and translations
  • Use the AI translation tool — it doesn’t call Figma at all

What’s blocked in cache-only

Anything that needs a fresh fetch:

  • Importing a new Figma page into a project
  • Re-syncing a page after the designer changed it in Figma
  • Updating an image whose Figma source has changed

If you try one of these, KopiMark will surface a clear error pointing back to your profile.

What KopiMark caches

For each page you’ve imported at least once, KopiMark stores:

  • The node tree (text, layout, hierarchy) as JSON
  • Rendered PNG and SVG of the page at the size shown in the grid
  • The screenshots used in language preview

That’s enough for everyone except the designer to keep working, which is why cache-only is a graceful fallback rather than a hard stop.

See also

Start typing to search the docs.