## Is your feature request related to a problem?

/api/person/merge currently performs a merge of two people. This logic is duplicated between app and plugin-server, badly.

## Describe the solution you'd like

Avoid duplicating, send a message to plugin-server

## Describe alternatives you've considered

Duplicating tricky and race-condition-heavy logic.

## Additional context

cc @yakkomajuri this is worth adding to team extensibility backlog - pretty sure this will cause bad correctness issues.

#### *Thank you* for your feature request – we love each and every one!

posthog/api/test/test_person.py
person_factory(
                team=self.team, properties={"random_prop": "asdf", "some other prop": "with some text"},
            )
            person_factory(team=self.team, properties={"random_prop": "asdf"})
            person_factory(team=self.team, properties={"random_prop": "qwerty"})
            person_factory(team=self.team, properties={"something_else": "qwerty"})
            response = self.client.get("/api/person/values/?key=random_prop")
            self.assertEqual(response.status_code, status.HTTP_200_OK)
            response_data = response.json()
            self.assertEqual(response_data[0]["name"], "asdf")
            self.assertEqual(response_data[0]["count"], 2)
            self.assertEqual(response_data[1]["name"], "qwerty")
            self.assertEqual(response_data[1]["count"], 1)
            self.assertEqual(len(response_data), 2)
            response = self.client.get("/api/person/values/?key=random_prop&value=qw")
            self.assertEqual(response.status_code, status.HTTP_200_OK)
            self.assertEqual(response.json()[0]["name"], "qwerty")
            self.assertEqual(response.json()[0]["count"], 1)
        def test_filter_by_cohort(self):