support webhook style APIs