input: Write a function to create a Python API that fetches data from an SQL database and returns the data in JSON format. The function should utilize the Flask framework and SQLite database, and it should connect to a table named 'users'. 
  
  def create_api():
      import json 
      import sqlite3
      from flask import Flask, request, jsonify 
  
      app = Flask(__name__) 
    
      def dict_factory(cursor, row):
          d = {}
          for idx, col in enumerate(cursor.description):
              d[col[0]] = row[idx]
          return d 
    
      @app.route('/', methods=['GET'])
      def index(): 
          connection = sqlite3.connect('database.db')
          connection.row_factory = dict_factory
          cur = connection.cursor() 
          all_users = cur.execute('SELECT * FROM users;').fetchall() 
          return jsonify(all_users) 
    
      if __name__ == '__main__': 
          app.run(debug = True)
  
  assert create_api() is None
  # Assuming the server starts correctly and fetches data, there is no direct return value to assert against.
output: 
  def create_api():
      import json 
      import sqlite3
      from flask import Flask, request, jsonify 
  
      app = Flask(__name__) 
    
      def dict_factory(cursor, row):
          d = {}
          for idx, col in enumerate(cursor.description):
              d[col[0]] = row[idx]
          return d 
    
      @app.route('/', methods=['GET'])
      def index(): 
          connection = sqlite3.connect('database.db')
          connection.row_factory = dict_factory
          cur = connection.cursor() 
          all_users = cur.execute('SELECT * FROM users;').fetchall() 
          return jsonify(all_users) 
    
      if __name__ == '__main__': 
          app.run(debug = True)
  