At the end we decided to use the HTTP Repository API. This for now seems to work great. We do a POST to http://localhost:8080/jasperserver-pro/reportGenerator.html?action=generate With a data parameter with the following JSON: { "label": "SCHEDULED_REPORT", "description": "REPORT_CREATED_BY_SCHEDULER", "location": "/Users/JOE_USER", "overwrite": true, "run": false, "sourceURI": "/Users/JOE_USER/BASE_REPORT" }