code: function(pfo) {
      var bidProviders = pfo.getBidProviders();
  
      // check for core api method calls
      for (var apiMethod in pfo.requiredApiCalls) {
        if (pfo.requiredApiCalls[apiMethod] === 0) {
          pfo.configErrors.push('"' + apiMethod + '" was not called');
        }
      }
  
      // validate through all the slots bid provider
      var slots = pfo.getSlots();
      for (var i = 0; i < slots.length; i++) {
        for (var k = 0; k < slots[i].bidProviders.length; k++) {
          var providerName = slots[i].bidProviders[k];
          // make sure there's config for each bid provider
          if (!bidProviders[providerName]) {
            pfo.configErrors.push('No configuration found for bid provider "' + providerName + '"');
          }
        }
      }
  
      return {
        hasError: pfo.configErrors.length > 0,
        details: pfo.configErrors
      };
    }
docs: validate the api configurations
  @param {object} pfo a the pubfood object
  @private
  @return {{hasError: boolean, details: string[]}}