Requests are sent to incorrect endpoint when using base URL override

Hey, thanks for the detailed breakdown, this is fully enough. You don’t need to send the Request ID separately.

Confirming your takeaway from post #32. The main issue with the payload shape input to messages is fixed on our side. Your request now correctly goes to /v1/chat/completions with the messages field.

There’s still a separate bug with custom tool serialization. ApplyPatch is being sent in the Responses API shape:

{ "type": "custom", "name": "ApplyPatch", "description": "...", "format": {...} }

but Chat Completions expects the custom wrapper:

{ "type": "custom", "custom": { "name": "...", "description": "...", "format": { "type": "grammar", "grammar": {...} } } }

That’s why OpenAI responds with missing_required_parameter: 'tools[7].custom'.

It’s the same family as function-tools serialization with BYOK + Override OpenAI Base URL, where you see tools[i]: missing field 'function'. The tools array isn’t being converted into the Chat Completions shape.

If I get anything concrete on this, I’ll reply in the thread.