from typing import List


def _merge_key_ids(*, config_list: List[str], user_input_list: List[str]) -> List[str]:
    """Merge two lists of key IDs, retaining order, with no duplicates.

    :param list config_list: List of key IDs from config file
    :param list user_input_list: List of key IDs from user input
    :returns: Merged list containing all key IDs
    :rtype: list
    """
    values = user_input_list.copy()

    for val in config_list:
        if val not in values:
            values.append(val)

    return values