#33368 `extra_headers` silently dropped in SAP GenAI Hub Orchestration provider
When calling a model through the SAP Generative AI Hub Orchestration provider (`sap/...`) with `extra_headers` set in `completion()`/`acompletion()`, the custom header is never sent on the outgoing request. Only a fixed set of headers (`Authorization`, `AI-Resource-Group`, `Content-Type`, `AI-Client-Type`) reaches the AI Core endpoint, confirmed via `litellm._turn_on_debug()` curl output.
```python def validate_environment( self, headers: dict, model: str, messages: List[AllMessageValues], optional_params: dict, litellm_params: dict, api_key: Optional[str] = None, api_base: Optional[str] = None, ) -> dict: if api_key: self.run_env_setup(api_key) return self.headers # <-- ignores the `headers` argument entirely ```
The `headers` parameter is never merged into the returned dict; the method just returns `self.headers`
File: `litellm/llms/sap/chat/transformation.py` (class `GenAIHubOrchestrationConfig`)
### Why this matters
SAP AI Core supports opt-in request/response persistence for inference observability via specific request headers (e.g. `ai-inference-observability-persistence-mode`). Since `extra_headers` is dropped, this fea…