Skip to main content
seed inserts objects at their final state — a silent insert representing history. No webhooks fire, no workflows run; it’s not a live transition, it’s “this already happened.”

Seed vs POST

They’re different paths on purpose: Use POST (your app’s real call) to test behavior now. Use seed to establish the history a test starts from.
Seeding isn’t only for tests — you can seed a long-lived sandbox once at setup to give a staging environment a known baseline. Same primitive, same rules.

Ids must be format-correct

You supply the full id, and ProdBreak validates it against the pack’s per-resource pattern — rejecting malformed ids. This stops a test from passing against an id real prod would never emit.
Seed inserts exactly the leaf objects you specify — it does not fabricate a plausible history (child records, event trails, bumped aggregates). If a faithful “settled charge” also needs a balance_transaction child or an event record, seed those explicitly too. ProdBreak never invents history; you own the full picture. A faithful “replay” seeder that runs the real lifecycle at zero duration is on the roadmap.