Re: Do parameters with API calls have to be a dictionary data type when calling device performance?
I've worked through this example with the Python SDK and can't reproduce your error. It might help if we could see the HTTP response that is considered invalid - that should give us some more clues. Can you catch the exception and display the context? I'm not sure what format the context takes, I'd try all these:
result = devices_controller.get_network_device_performance(collect)
catch APIException as e: