## Bug description

Since users can now be part of multiple projects, the `get_team_from_token` function used in capture and decide endpoints cannot work reliably with personal API keys. These endpoints should be e.g. nested under `/api/projects/:project_id` _or_ should accept `project_id` in request body.

#### *Thank you* for your bug report – we love squashing them!

posthog/api/test/test_capture.py
data = {
            "api_key": self.team.api_token,
            "batch": [{"type": "capture", "event": "user signed up", "distinct_id": "2"}],
        }
        response = self.client.generic(
            "P",
            "/batch",
            data=lzstring.LZString().compressToBase64(json.dumps(data)).encode(),
            content_type="application/json",
            HTTP_CONTENT_ENCODING="lz64",
        )
        arguments = self._to_arguments(patch_process_event_with_plugins)
        arguments.pop("now")  # c
        arguments.pop("sent_at")  # c
        self.assertDictEqual(
            arguments,
            {
                "distinct_id": "2",
                "ip": "127.0.0.1",
                "site_url": "http://testserver",
                "data": data["batch"][0],
                "team_id": self.team.pk,
            },
        )
    @patch("posthog.api.capture.celery_app.send_task")
    def test_lz64_with_emoji(self, patch_process_event_with_plugins):