## 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
if (
                        dashboard.get_effective_privilege_level(self.context["request"].user.id)
                        == Dashboard.PrivilegeLevel.CAN_VIEW
                    ):
                        raise PermissionDenied(
                            f"You don't have permission to add insights to dashboard: {dashboard.id}"
                        )
                for dashboard in candidate_dashboards:
                    if dashboard.team != instance.team:
                        raise serializers.ValidationError("Dashboard not found")
                    DashboardTile.objects.create(insight=instance, dashboard=dashboard)
                if ids_to_remove:
                    DashboardTile.objects.filter(dashboard_id__in=ids_to_remove, insight=instance).delete()
                
                
                instance.dashboards.set([d for d in dashboards if not d.deleted])
        updated_insight = super().update(instance, validated_data)
        changes = changes_between("Insight", previous=before_update, current=updated_insight)
        log_insight_activity(
            activity="updated",
            insight=updated_insight,
            insight_id=updated_insight.id,
            insight_short_id=updated_insight.short_id,
            organization_id=self.context["request"].user.current_organization_id,
            team_id=self.context["team_id"],
            user=self.context["request"].user,
            changes=changes,
        )
        return updated_insight
    def get_result(self, insight: Insight):