fix: respond with 409 status when appropriate