## Bug description

While exploring the onboarding/setup funnel, I found what seems to be a bug capturing events (perhaps it's an API request issue). When I send this request, the events don't get saved (checked directly on the database).

```
POST <host>/capture
```

```json
{
    "api_key": "API_KEY_HERE",
    "event": "Purchase item",
    "properties": {
        "distinct_id": "845555992929291"
    }
}
```


## Expected behavior
- Events should be correctly saved to the database. If on the onboarding flow, continue the user and complete the onboarding.
- If the request is malformed or an invalid API key is sent, I should not receive a 200 status code. _There seems to be an issue with the request and therefore the event is not saved_, however **if I add a random non-existent key as the API key (e.g. `invalid`), I still get a 200 and a 1 in the response.**  


## Reproduction environment
- Tested using the one-line Docker deploy.
```bash
doker run -t -i --rm --publish 8000:8000 -v postgres:/var/lib/postgresql posthog/posthog:preview
```
- Tested on the cloud version with the same result (please reach out privately if you want to know the account's email address).

posthog/api/capture.py
if data.get("batch"):  
            data = data["batch"]
            assert data is not None
        elif "engage" in request.path_info:  
            data["event"] = "$identify"  
    if isinstance(data, list):
        events = data
    else:
        events = [data]
    for event in events:
        try:
            distinct_id = _get_distinct_id(event)
        except KeyError:
            return cors_response(
                request,
                JsonResponse(
                    {"code": "validation", "message": "You need to set a distinct_id.", "item": event,}, status=400,
                ),
            )
        process_event.delay(
            distinct_id=distinct_id,
            ip=get_ip_address(request),
            site_url=request.build_absolute_uri("/")[:-1],
            data=event,
            team_id=team_id,
            now=now,
            sent_at=sent_at,
        )
    return cors_response(request, JsonResponse({"status": 1}))