Amir Kamal
09/25/2025, 2:37 AMMarvin
09/25/2025, 2:37 AMMarvin
09/25/2025, 2:39 AMprefect deployment ls
prefect deployment inspect "your-flow-name/your-deployment-name"
We verified these commands exist.
4) Check browser devtools
- Open DevTools → Network, reload the deployments page and the deployment detail page. If calls to /api/deployments/... or /api/flows/... return 401/403/404/5xx or HTML instead of JSON, that’s the root cause. Also try an incognito window or another browser to rule out extensions/ad blockers.
5) If you’re self-hosting behind an ingress/reverse proxy
- This pattern (API calls returning HTML) is common when /api/*
requests are routed to the UI rather than the API service. The UI may then show intermittent/incomplete state and the detail page won’t load.
- Make sure your routes split UI and API correctly, e.g. with Nginx:
location /api/ {
proxy_pass <http://prefect-api:4200/api/;>
}
location / {
proxy_pass <http://prefect-ui:8080/;>
}
- Confirm the UI is pointing to the right API with PREFECT_UI_API_URL
.
- Check your API health at /api/health
(should return JSON like {"status":"healthy"}).
Related report showing HTML returned for an API endpoint due to routing/config: prefect#10330. There’s also an unrelated UI params display issue here for awareness: prefect#16462.
Could you share:
- Cloud or self-hosted? If self-hosted, what ingress/proxy (Nginx/Traefik/ALB/etc.)?
- The workspace you’re viewing in the UI vs the one you deployed to
- Any Network tab errors and their response bodies from the failing calls
- Browser and whether an incognito window behaves the same
With those details, I can pinpoint the cause and provide a precise fix.Amir Kamal
09/25/2025, 2:47 AMAmir Kamal
09/25/2025, 2:47 AMMarvin
09/25/2025, 2:47 AMMarvin
09/25/2025, 2:49 AMprefect deployment ls
prefect deployment inspect "<flow-name>/<deployment-name>"
If CLI fails too, it’s definitely the API.
Please confirm Cloud vs self-hosted so we can target the fix:
If you’re on Prefect Cloud
- Check the exact failing endpoint and the response body; share the request-id header if present and your workspace slug so we can investigate.
- Try an incognito window to rule out extension issues, but a 500 is almost always server-side.
If you’re self-hosted
- Check API logs for a stack trace at the time of the 500 (container/pod running the API).
- Ensure the DB schema is up-to-date and the API is healthy:
prefect server services ls
prefect server database upgrade
- Hit /api/health directly; confirm it returns JSON and not errors.
- Verify your API and UI images/versions match your installed Prefect version; upgrade to the latest 3.x if you’re behind.
- If only certain deployments fail, it may be a bad record or schema mismatch; compare clicking another deployment vs the problematic one and try:
prefect deployment inspect "<flow>/<deployment>"
Could you share:
- Cloud or self-hosted (and if self-hosted, how it’s deployed: Docker/K8s, Postgres, any reverse proxy)?
- The exact failing endpoint(s) and response body from the Network tab
- Whether prefect deployment inspect
on that deployment succeeds or errors
With that info (and a snippet of the API log/trace), I can pinpoint the cause and provide the exact fix.