The Batch API isn't available on your platform
The error
Batch request code that works cleanly against the first-party Claude API fails the moment the same code runs against a different platform — the request is rejected as unsupported, not slow or degraded, just entirely unavailable on that platform.
Why this is a platform gap, not a bug
The Message Batches API is not uniformly available everywhere Claude models are hosted. It works on the first-party API; it is not available on any of the major cloud-hosted platforms Claude models also run on. This isn't a rollout-in-progress gap that's expected to close soon — it's the current state of where the batch endpoint exists at all, and it applies regardless of which model you're targeting through that platform, since it's the platform, not the model, that decides whether batching is on offer.
Where this gets discovered the hard way
The most common way teams hit this is building and testing batch logic entirely against the first-party API — where it works — and only discovering the gap once the same integration is deployed against a cloud platform for procurement, compliance or existing-infrastructure reasons. Nothing about local testing would have caught it, because the platform difference is invisible until you're actually pointed at the platform that doesn't support it.
The fix
If you're committed to a cloud-hosted platform for other reasons, batch requests have to go through the standard real-time endpoint instead — there's no batch-equivalent discount available on those platforms currently, so the cost side of the trade this endpoint normally offers isn't available there either. If batch pricing at scale is the reason you wanted this endpoint in the first place, that's worth weighing against whichever platform-specific reason led you away from the first-party API. See the Message Batches API, in full for exactly where it is and isn't available before you build against it.
Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.