## Bug description

From [a customer report](https://posthoghelp.zendesk.com/agent/tickets/653):

```
I'm accessing insight results through the API, and I’ve noticed that sometimes the result is null in the response.
When I go and view the insight in Posthog and tap “refresh” the result starts to return in the API response.
I’ve also noticed there is a “refreshing” boolean flag in the insight response.
How do I set the insight to either refresh periodically or on request so I always get a result through the API?
```

It seems like the insight returns null if it's not refreshed manually from the frontend.

## How to reproduce

1. Call an insight with GET | /api/projects/:project_id/insights/:id
2. Response is `null`
3. Refresh the insight from the frontend
4. Response is populated

## Environment

- [ ] PostHog Cloud
- [ ] self-hosted PostHog, version/commit: please provide

## Additional context


posthog/api/insight.py
try:
            before_update = Insight.objects.prefetch_related("tagged_items__tag", "dashboards").get(pk=instance.id)
        except Insight.DoesNotExist:
            before_update = None
        
        validated_data["is_sample"] = False
        if validated_data.keys() & Insight.MATERIAL_INSIGHT_FIELDS:
            instance.last_modified_at = now()
            instance.last_modified_by = self.context["request"].user
        if validated_data.get("deleted", False):
            DashboardTile.objects.filter(insight__id=instance.id).delete()
        else:
            dashboards = validated_data.pop("dashboards", None)
            if dashboards is not None:
                old_dashboard_ids = [tile.dashboard_id for tile in instance.dashboard_tiles.all()]
                new_dashboard_ids = [d.id for d in dashboards]
                ids_to_add = [id for id in new_dashboard_ids if id not in old_dashboard_ids]
                ids_to_remove = [id for id in old_dashboard_ids if id not in new_dashboard_ids]
                
                
                candidate_dashboards = Dashboard.objects.filter(id__in=ids_to_add).exclude(deleted=True)
                dashboard: Dashboard
                for dashboard in candidate_dashboards: