Set preferences
The provider field sets execution-selection rules for one request. Treat it as policy, not a promise of a specific internal route.
For tasks with mandatory properties, require the relevant parameters explicitly instead of silently lowering quality.
{
"model": "openai/gpt-5.6-sol",
"messages": [{"role": "user", "content": "Classify this support ticket."}],
"provider": {
"order": ["provider-a", "provider-b"],
"allow_fallbacks": true,
"require_parameters": true
}
}Useful constraints
- order sets the priority of allowed options.
- allow_fallbacks defines whether a request can move to an alternative.
- require_parameters helps reject a route that cannot satisfy the declared contract.
Observability
Keep the selected model, timing, status, and spend in your own trace. Do not present internal routing details to a user as fact when they are absent from the response.
When options are exhausted, respond predictably: return the original cause and offer a retry with compatible configuration.