add publish api