docs: def discover(url, options={}):
      """
      Retrieve the API definition from the given URL and construct
      a Patchboard to interface with it.
      """
      try:
          resp = requests.get(url, headers=Patchboard.default_headers)
      except Exception as e:
          raise PatchboardError("Problem discovering API: {0}".format(e))
  
      # Parse as JSON (Requests uses json.loads())
      try:
          api_spec = resp.json()
      except ValueError as e:
          raise PatchboardError("Unparseable API description: {0}".format(e))
  
      # Return core handle object
      return Patchboard(api_spec, options)