async def METHOD_NAME(self, email: str):
    async with HttpClient(
            self.retries,
            [200, 401],
            headers={"Authorization": f"Bearer {self.token}"}
    ) as client:
        async with client.get(url=f"{self.api_url}/api/contacts?search=email:{email}") as response:
            if response.status == 401:
                raise MauticClientAuthException()
            if response.status != 200 or "error" in await response.text() or "errors" in \
                    await response.json():
                raise MauticClientException(await response.text())
            try:
                contact = list((await response.json())["contacts"].values())[0]
                return {"contact": contact}
            except KeyError:
                raise MauticClientException(f"Unable to find contact with given email address: {email}")