A few helpful functions (written as examples in Python) to process an app response.

Remove empty timeframes

# Request made, this is the app response ...
output = response.json()

def trim_output(model_output):
  """ Trim out empty records if they exist.
  
  model_output: json response from app API endpoint

  returns: list of results with empty timeframes removed
  """
  
  trimmed = []

	for result in model_output['results']:
    	if result['values'] == {}:
        	pass
    	else:
        	trimmed_output.append(result)
          
trimmed_output = trim_output(output)

Extract specific result from results set

# Convenient function to extract a single value from the results set.
def extract(attribute, results, first=False):
    val = 'None'
    for r in results:
        if r['values'].get(attribute, ''):
            val = r['values'].get(attribute)
            if first:
                return val
    return val
    
first_rev_share_amount = extract('revenue_share', model_output_results, first=True)
last_rev_share_amount = extract('revenue_share', model_output_results)

Generate the URL to view the app results in a browser

from requests import Request

def generate_link(api_url, body):

	  summit_host = api_url.replace("api.usesummit.com/v1", "usesummit.com")

    params = body.get('parameters', {})
    options = body.get('options', {'options': {}})
    params['start'] = options.get('start', '')
    params['end'] = options.get('end', '')

    p = Request('GET', summit_host, params=params).prepare()
   
    return p.url

app_results_link = generate_link(API_URL, request_body)