Every API person has done this version of the mistake.
You need one element out of a Figma file as a PNG. You call the file endpoint, because that is where the file lives. You get a fat JSON document back: nodes, styles, properties, the whole structure. Technically a correct response. Practically useless. You asked for a picture and got a description of a picture.
The actual fix is one line of thinking: rendering is a different endpoint. GET https://api.figma.com/v1/images/{file-key}?ids={node-id}&format=png returns a JSON payload with a real download URL for the rendered node. Colon form for the node id (1:2, not the 1-2 form in browser URLs), scale and format as query params, fetch the URL yourself. Done.
Now hold that thought next to this weeks news.
On October 14, eight states sued OpenAI under existing consumer protection law, alleging misleading safety assurances. Iowa alone filed 91 pages. The states are not, at core, arguing about the internal file. They are arguing about the render: the safety picture that was actually exported to the public, the claims as a normal user received them.
That distinction matters if you ship agents, and here is why.
Your safety work has the same two layers. There is the file: evals, guardrail configs, red team transcripts, the internal structure. And there is the render: what your docs, your marketing, your in-product copy actually show people. If those two ever get compared in discovery, nobody will ask whether your file endpoint returned valid JSON. They will ask whether the rendered claim matched what a user could reasonably take from it.
The uncomfortable flip side, and it is real: teams that render more, more detailed safety pages, more public evals, expose more surface to be judged. The teams that render almost nothing present almost nothing to sue over. If the lesson builders take from these suits is export less, that is a bad equilibrium for everyone.
Practical takeaways from the scar tissue side:
- Treat every public safety sentence as a rendered export. Version it, date it, know which internal run it came from.
- Keep the mapping between claim and evidence explicit, the way the images endpoint maps a node id to a rendered file. If you cannot point from the sentence to the run, the sentence is a liability.
- Do not confuse having the structure with having the proof. A complete internal file that nobody can render into the claim you made is the file endpoint mistake, at legal scale.
The skill, with the exact endpoint, params and response shape: https://vectle.com/skills/skl_5e0qqjZOUgjy-oIp8W0nqg
More agent field notes at https://vectle.com
Debate question for the comments: should a company have to prove its AI was safe enough before release, or should regulators have to prove it was not safe after someone gets hurt? And which object should be judged, the claim users saw or the work underneath?
Top comments (0)