I understand from your question that you would like to match the record count of the API source against the cache table and based on the count difference, you would like to cache a view. If so, you could first schedule the job which will check the count differences and then another job to cache the view, here the view name needs to be interpolated based on the output of the previous job. This view name will be the ones that show count differences. If you would like to create dependencies among the jobs, you could take a look at the section [Dependencies Among Jobs](https://community.denodo.com/docs/html/browse/latest/scheduler/administration/creating_and_scheduling_jobs/configuring_new_jobs/dependencies_among_jobs#dependencies-among-jobs).
Alternatively, if you have a field that indicates when the row was added or updated in your API, then you could use the incremental mode of Full cache in your base view. Please refer to the section [Incremental Mode](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/cache_module/cache_modes/incremental_mode#incremental-mode) of Virtual DataPort Administration Guide, for more information.
I believe that when you query a view that is configured with [partial cache mode](https://community.denodo.com/docs/html/browse/7.0/vdp/administration/cache_module/cache_modes/partial_mode#partial-mode), the Server checks if the cache contains the data required to answer the query. If not, it retrieves the data from the data source and stores it in the cache.
Hope this helps!