Anything except an APIError indicates an error with our own code; we shouldn't cache errors with our own code.