AI Foundry 404 DeploymentNotFound: use the responses API for conn/deployment routing
Fix for AI Foundry 404 DeploymentNotFound: use the responses API for conn/deployment routing: Switch the call to responses.create with the same connection/deployment target and it routes. Use this when you hit exactly this in AI Foundry 404 DeploymentNotFound. Not for different errors or different tools.
TL;DR: Switch the call to responses.create with the same connection/deployment target and it routes. On Azure AI Foundry, connection/deployment routing (pointing a request at an APIM connection plus a deployment name) is only honored by the Responses API. If you send that targeting to chat.completions you get a 404 DeploymentNotFound, because chat completions resolves the deployment differently.
AI Foundry 404 DeploymentNotFound: use the responses API for conn/deployment routingFix
Switch the call to responses.create with the same connection/deployment target and it routes. Expected: the request routes instead of erroring.
Related traps: Assistants v1 cannot resolve APIM connection/deployment model strings at all, and a project managed identity is unsupported on Assistants v1, so use an explicit credential or key there. Expected: this specific failure stops.
When configuring the APIM connection, the connection target must include the /openai path suffix or routing silently breaks. Expected: this specific failure stops.
When to use
You hit exactly this: AI Foundry 404 DeploymentNotFound: use the responses API for conn/deployment routing in AI Foundry 404 DeploymentNotFound.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
AI Foundry 404 DeploymentNotFound (versions mentioned here: v1).
Root cause
On Azure AI Foundry, connection/deployment routing (pointing a request at an APIM connection plus a deployment name) is only honored by the Responses API. If you send that targeting to chat.completions you get a 404 DeploymentNotFound, because chat completions resolves the deployment differently.