cache and api