## 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
TESTS_API = True
    def _dict_to_json(self, data: dict) -> str:
        return json.dumps(data)
    def _dict_to_b64(self, data: dict) -> str:
        return base64.b64encode(json.dumps(data).encode("utf-8")).decode("utf-8")
    def _dict_from_b64(self, data: str) -> dict:
        return json.loads(base64.b64decode(data))
    def _to_arguments(self, patch_process_event_with_plugins: Any) -> dict:
        args = patch_process_event_with_plugins.call_args[1]["args"]
        distinct_id, ip, site_url, data, team_id, now, sent_at = args
        return {
            "distinct_id": distinct_id,
            "ip": ip,
            "site_url": site_url,
            "data": data,
            "team_id": team_id,
            "now": now,
            "sent_at": sent_at,
        }
    @patch("posthog.models.team.TEAM_CACHE", {})
    @patch("posthog.api.capture.celery_app.send_task")
    def test_capture_event(self, patch_process_event_with_plugins):