def rekey(self, key, nonce=None, recovery_key=False):
        """Enter a single recovery key share to progress the rekey of the Vault.

        If the threshold number of recovery key shares is reached, Vault will complete the rekey. Otherwise, this API
        must be called multiple times until that threshold is met. The rekey nonce operation must be provided with each
        call.

        Supported methods:
            PUT: /sys/rekey/update. Produces: 200 application/json
            PUT: /sys/rekey-recovery-key/update. Produces: 200 application/json

        :param key: Specifies a single recovery share key.
        :type key: str | unicode
        :param nonce: Specifies the nonce of the rekey operation.
        :type nonce: str | unicode
        :param recovery_key: If true, send requests to "rekey-recovery-key" instead of "rekey" api path.
        :type recovery_key: bool
        :return: The JSON response of the request.
        :rtype: dict
        """
        params = {
            'key': key,
        }

        if nonce is not None:
            params['nonce'] = nonce

        api_path = '/v1/sys/rekey/update'
        if recovery_key:
            api_path = '/v1/sys/rekey-recovery-key/update'
        response = self._adapter.put(
            url=api_path,
            json=params,
        )
        return response.json()
Enter a single recovery key share to progress the rekey of the Vault.

        If the threshold number of recovery key shares is reached, Vault will complete the rekey. Otherwise, this API
        must be called multiple times until that threshold is met. The rekey nonce operation must be provided with each
        call.

        Supported methods:
            PUT: /sys/rekey/update. Produces: 200 application/json
            PUT: /sys/rekey-recovery-key/update. Produces: 200 application/json

        :param key: Specifies a single recovery share key.
        :type key: str | unicode
        :param nonce: Specifies the nonce of the rekey operation.
        :type nonce: str | unicode
        :param recovery_key: If true, send requests to "rekey-recovery-key" instead of "rekey" api path.
        :type recovery_key: bool
        :return: The JSON response of the request.
        :rtype: dict