def partial(cls, id, token, *, adapter):
        """Creates a partial :class:`Webhook`.

        A partial webhook is just a webhook object with an ID and a token.

        Parameters
        -----------
        id: :class:`int`
            The ID of the webhook.
        token: :class:`str`
            The authentication token of the webhook.
        adapter: :class:`WebhookAdapter`
            The webhook adapter to use when sending requests. This is
            typically :class:`AsyncWebhookAdapter` for ``aiohttp`` or
            :class:`RequestsWebhookAdapter` for ``requests``.
        """

        if not isinstance(adapter, WebhookAdapter):
            raise TypeError('adapter must be a subclass of WebhookAdapter')

        data = {
            'id': id,
            'token': token
        }

        return cls(data, adapter=adapter)