The body works fine in single responses.create() calls.
Problem:
When submitted via the Batch API, the job fails validation with the error that input is missing. My understanding is that input is not required when calling a saved prompt — but Batch seems to treat it as mandatory.
Question:
Can the Batch API actually be used with the Responses endpoint when the request body only references a saved prompt?
Or is this currently unsupported, meaning Batch requires the input parameter regardless?
Would be great to get confirmation on whether this is expected behavior or a bug.
The problem is, when using reusable prompts, it’s pointless to submit body.modelon each individual batch request because I already chose a model when I was defining my reusable prompt and, what’s more, models may differ per prompt version in my case which makes things even more complicated. So the question is: is there a way to skip the parameter body.model or assign it anything like a default value?
I can confirm that I’ve successfully used the batch API with a reusable prompt ID, using /v1/responses API.
You need an “input” (user input), and you can provide a reusable system prompt using the “prompt” object containing an “id” just like in the normal real-time API.