## 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
"tags",
            "favorited",
            "saved",
            "last_modified_at",
            "last_modified_by",
            "is_sample",
            "effective_restriction_level",
            "effective_privilege_level",
            "timezone",
        ]
        read_only_fields = (
            "created_at",
            "created_by",
            "last_modified_at",
            "last_modified_by",
            "short_id",
            "updated_at",
            "is_sample",
            "effective_restriction_level",
            "effective_privilege_level",
            "timezone",
            "refreshing",
        )
    @lru_cache(maxsize=1)  
    def dashboard_tile_from_context(self, insight: Insight, dashboard: Optional[Dashboard]) -> Optional[DashboardTile]:
        dashboard_tile: Optional[DashboardTile] = None
        if dashboard:
            dashboard_tile = DashboardTile.objects.filter(insight=insight, dashboard=dashboard).first()
        return dashboard_tile
    def create(self, validated_data: Dict, *args: Any, **kwargs: Any) -> Insight: