The simplest approach to retrieve information from Finale is usually to use our reporting API. The reporting API allows you to run any of the reports in Finale and get the result back in a CSV or JSON format. The reporting API has access to almost all data in the Finale system and produces a result that is much easier to process. Specifically, the reporting API returns data in a table whose values correspond directly to the values displayed in the Finale user interface or presented in PDF or Excel reports generated in Finale. By contrast, the other API endpoints produce more complicated JSON that requires additional processing before being used in a business application. That said, the reporting API can only be used to retrieve information from Finale. The other API endpoints must be used to update information.
The first step for using the reporting API is to create a report in Finale that contains the information you need using the regular Finale user interface. Your business team can work with your Finale account representative to create a report containing the correct information.
Once you've created the report copy the URL used to run the report from the browser address bar. From the user interface the report opens using a URL that displays a progress screen before redirecting to a copy of the report. You'll need to modify the URL slightly directly access the report from your code.
If the URL for the report in the user interface is:
then you will modify middle of the url to replace pivotTableStream with pivotTable to produce the following URL:
The modified URL does not show progress screen and directly returns the formatted report in the HTTP response body.
You can run this report from your code by authenticating use the usual authentication endpoint and then retrieving the report from your code using an HTTP GET request. Note that the report URL has a format parameter in query string. Set this parameter to CSV or JSON whichever is easier for you to process.
There is an example of running a report from PHP in GitHub at:
If you need to change the filter parameters when you run the report (for example to change the date range) the filter parameter is Base64 encoded JSON and can be changed from your code as necessary.