input: Write a function that generates an API response in Python for the provided data. The function should take a dictionary as input and returns a dictionary representing the API response with status code, data, and a message. If the input data is empty, the function should return an error response with a status code of 400 and an error message.
  
  def generate_api_response(data):
      if not data:
          return {"status": 400, "data": {}, "message": "Error: No data provided"}
      return {"status": 200, "data": data, "message": "Success"}
  
  assert generate_api_response({"name": "John", "age": 28}) == {"status": 200, "data": {"name": "John", "age": 28}, "message": "Success"}
  assert generate_api_response({}) == {"status": 400, "data": {}, "message": "Error: No data provided"}
output: def generate_api_response(data):
      if not data:
          return {"status": 400, "data": {}, "message": "Error: No data provided"}
      return {"status": 200, "data": data, "message": "Success"}