Kestrel caches endpoints.
When you add a new route but deploy without clearing the build output → ghost routes happen.
✔ Fix
Add this to .csproj:
<PropertyGroup>
<DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
</PropertyGroup>
Ensures routes rebuild properly every deploy.
