Prepare or refine the plan
Natural-language back and forth. Send instruction to (re)plan from scratch, or refinement to adjust the current plan ("actually, only the empty rows"). The response embeds the rebuilt plan with measured counts and a 10-item preview of real extractions. Nothing is charged until approval; check plan.not_included — a non-empty list means part of the instruction will NOT happen.
POST/v1/batches/{batch_id}/plan
Requires batches:create. Planning is free and repeatable: nothing is charged until you approve.
Instruction or refinement
Send one or the other, not both.
| Field | Meaning |
|---|---|
instruction | Plan from scratch. Replaces any previous plan entirely. |
refinement | Adjust the plan that already exists: “actually, only the empty rows”, “leave the URLs alone”. |
The distinction matters when a plan is nearly right: refinement keeps everything you already agreed to, while instruction starts over and may reinterpret parts you were happy with.
Read the plan before approving
The response embeds the rebuilt plan with measured counts (the actual number of items and words found in your file, not an estimate from its size), plus a preview of ten real extractions.
Those ten are the cheapest check available. They show the exact strings that will be sent for translation, so an instruction that quietly matched the wrong field is visible before it costs anything.