def _missing_parameter(params_required, params_actual, parent=''):
    """Recursively search for the first missing parameter."""

    for param_name in params_required:

        if param_name not in params_actual:
            return '{}.{}'.format(parent, param_name)

        param_required = params_required.get(param_name)
        param_actual = params_actual.get(param_name)

        if isinstance(param_required, dict):

            param_missing = _missing_parameter(param_required, param_actual, param_name)

            if param_missing is not None:
                return '{}.{}'.format(parent, param_missing)

    return None