#26443 [Bug]: JSON-configured providers (e.g. Scaleway) not in openai_compatible_providers — non-standard params bypass extra_body wrapping
## What happened
When passing a provider-specific parameter (e.g. `chat_template_kwargs` for Scaleway/Qwen thinking mode) via `extra_body` or as a top-level kwarg, the request fails with:
``` litellm.APIConnectionError: ScalewayException - AsyncCompletions.create() got an unexpected keyword argument 'chat_template_kwargs' ```
The param arrives as a bare top-level kwarg on the OpenAI SDK call instead of being nested inside `extra_body`.
## Root Cause
There is a mismatch between **routing** and **parameter-formatting** for JSON-configured providers.
### Routing (main.py ~2580) — Scaleway IS treated as OpenAI-compatible
```python or custom_llm_provider in litellm.openai_compatible_providers or JSONProviderRegistry.exists(custom_llm_provider) # ← catches Scaleway ```
Scaleway is a JSON-configured provider (`providers.json`) so `JSONProviderRegistry.exists("scaleway")` is `True`, and it is correctly routed to the OpenAI client path.
### Parameter formatting (utils.py `add_provider_specific_params_to_optional_params` ~4762) — Scaleway is NOT treated as OpenAI-compatible
```python if custom_llm_provider in ["openai", "azure", "text-completion-openai"] + litellm.openai_compatib…