Skip to content

Record Code2Des Placement

POST /api/v1/organizations/{organization_id}/projects/{project_id}/code2des/{code2des_id}/placement

Requires Write access and a completed row.

{ "placedNodeId": "29584:9684" }

For the first successful call for this Code2Des job, the backend stores the supplied ID as materialized_node_id and updates materialized_at plus audit fields. Repeating the call for the same job is idempotent: it returns the original materializedAt and does not replace materialized_node_id.

{
  "code2desId": "job-id",
  "materializedAt": "2026-08-20T01:00:00.000Z"
}

The plugin calls this only after committing a native root. Partial child failures remain visible through the plugin's actual placed-layer count and diagnostics; placement means a root was created, not that every planned node succeeded. A new generation creates a new Code2Des row and Figma root, so earlier generated nodes are not removed or overwritten.