Programmatic report creation/modification?

Is it possible to create or access report components (eg charts, tables) programmatically to modify them?
For example, have a page where the user selects the data they want to see in the report and a dropdown through which they could select which type of chart they want and then a button that runs the report creating the desired chart.
I can see how to pass the desired chart type as a parameter to the report, but I don’t know how to continue from there, as it seems that components can only be added to reports using the report’s “design” tab (ie, not via Python scripting for example).
Am I overlooking something?

You’re not missing anything - there is no usable serialization form for reports, even in 8.0’s new resource architecture. You could theoretically read the binary file on disk and make modifications to it, but the odds of that being successful are basically nil without rewriting the entire Ignition designer, plus Reportmill glue code on top of it.

If you truly need ‘dynamic’ reports, then considering exfiltrating your data into an external report generation/BI tool that’s more built for that purpose. You could use the Webdev module to turn an Ignition gateway into a REST-ey API that pretty much every BI tool under the sun could consume without issue.