timing and errors got some love, changing around ApiResponse spec