these checks seem redundant now since the getId method already returns a bad response if (!id)