Short answer: Yes.
Assuming Prefect 3.x, deleting a flow run from the UI issues a hard delete via the API and removes the flow run record from the database. There’s no soft-delete/recycle bin, so it can’t be recovered unless you have your own database backups.
- Same behavior for Prefect Cloud and self-hosted Prefect Server; both use the same DELETE endpoint.
- Note: Logs are managed separately. There’s a dedicated endpoint to delete a run’s logs if you need to ensure they’re removed as well.
References:
-
REST API: DELETE /flow_runs/{id}
-
Server models: delete_flow_run
-
REST API: delete_flow_run_logs
If you’re on Cloud and have compliance needs, keep in mind that while the record is removed from the service immediately, remnants may persist in infrastructure backups for a limited period per Prefect’s data retention practices.