Symptoms
- A minimal request works, but adding one option causes a 400.
- The same parameter works on another provider or model family.
Likely causes
- The client assumes complete OpenAI feature parity.
- A provider-specific parameter is sent through a different protocol.
How to diagnose
- Remove optional fields and add them back one at a time.
- Match the parameter to the selected endpoint and model route.
- Inspect the safe error field naming the rejected option.
Fixes
- Remove unsupported options or use the provider-specific endpoint that defines them.
- Version-gate optional features in the client.
- Keep a minimal compatible fallback request shape.
How to verify
The request succeeds with only supported fields, and optional features have their own test.