read endpoint