api -> protocol