api response according to protocol