socket api