Pull full product (reconstruct the whole FPO from the live graph)
Reconstruct a self-contained Full Product Object from the live product graph — the absorb-drift direction of ensure-fpo. Composes the per-entity pulls (product, backing flows/agents, surfaces) and mints deterministic FPO-local ids, so feeding the result back into POST /products/ensure-fpo converges to unchanged. records/schedules/secrets are NOT reconstructed and tools is emitted empty (tool refs are portable tool:<name>); see warnings for per-pull caveats. The contentHash is recomputed from the live graph, so it is accurate immediately after a dashboard edit. API keys need PRODUCTS:READ, plus FLOWS:READ, AGENTS:READ, SCHEDULES:READ, EVALS:READ or SKILLS:READ for each section the product carries.
Authentication
Query parameters
Response
Reconstructed FPO + canonical content hash
Server-computed canonical whole-FPO content hash.
A self-contained Full Product Object reconstructed from the live graph. Feeding it back into POST /products/ensure-fpo converges to unchanged. records/schedules/secrets are not reconstructed (see warnings); tool refs are emitted as portable tool:<name>.
Reconstruction caveats (omitted entities, unrepresentable rows).