docs: def job_status(job_id, show_job_key=False, ignore_auth=False):
      '''Show a specific job.
  
      **Results:**
  
      :rtype: A dictionary with the following keys
      :param status: Status of job (complete, error)
      :type status: string
      :param sent_data: Input data for job
      :type sent_data: json encodable data
      :param job_id: An identifier for the job
      :type job_id: string
      :param result_url: Callback url
      :type result_url: url string
      :param data: Results from job.
      :type data: json encodable data
      :param error: Error raised during job execution
      :type error: string
      :param metadata: Metadata provided when submitting job.
      :type metadata: list of key - value pairs
      :param requested_timestamp: Time the job started
      :type requested_timestamp: timestamp
      :param finished_timestamp: Time the job finished
      :type finished_timestamp: timestamp
  
      :statuscode 200: no error
      :statuscode 403: not authorized to view the job's data
      :statuscode 404: job id not found
      :statuscode 409: an error occurred
      '''
      job_dict = db.get_job(job_id)
      if not job_dict:
          return json.dumps({'error': 'job_id not found'}), 404, headers
      if not ignore_auth and not is_authorized(job_dict):
          return json.dumps({'error': 'not authorized'}), 403, headers
      job_dict.pop('api_key', None)
      if not show_job_key:
          job_dict.pop('job_key', None)
      return flask.Response(json.dumps(job_dict, cls=DatetimeJsonEncoder),
                            mimetype='application/json')