penpot_batch
Apply multiple shape create, update, delete, or reorder operations to a Penpot page in a single atomic call, reducing round trips and preventing race conditions.
Instructions
Apply an ordered list of create/update/delete/reorder operations to a page as a single update-file change-set — one revn/vern round trip no matter how many shapes are touched, instead of one RPC call per shape (and the races on revn that come with that). Each op is one of: { op: "create", shape: }, { op: "update", patch: }, { op: "delete", shapeId }, or { op: "reorder", shapeId, action, targetId? } (same actions as penpot_reorder_shapes). Ops are applied in array order and each sees the effect of every earlier op in the same call — a "create" can set an explicit "id" (a UUID) and be referenced as a later shape's parentId/frameId (to build a frame and its children in one call), and a later op can update/delete/reorder a shape created earlier in the same batch. Returns one result entry per op, in the same order as "ops".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ops | Yes | ||
| fileId | Yes | ||
| pageId | Yes | ||
| tokensPath | No | /app/tokens.json |