(feat) Move JSON config loading to API