update for External API and Internal API