Reports
The Embedded report endpoint is the way the API allows you to view reports.
List of reports:
To get a list of available reports, use the Get: EmbeddedReports/ endpoint.
The list of records brings back the following model and fields:

The report name will give the details of the type of report.
Workspace ID and report ID are deprecated and will be null.
The ID will be used to get the report token.
Security type will be used to identify the ID that is needed to further filter down each report that relies on that type.
Downloading reports:
The API supports an Excel download, a PDF download, or the return of a JSON data structure.

Pulling down reports uses the embedded report ID to determine the type of report.
There are also security parameters you can pass in; depending on the security type, a different type of id will be required.
The possible options will be:
Entity which requires the EntityId
EntityState which requires the EntityStateId
State which requires the StateId
Reimbursement which requires the ReimubrsementClaimId
ProgramYear which requires the ProgramYearId
If no Id is passed in, then it will use all Id’s of that type that the user has access too.
For example, the Program Year Summary Report uses the program year security type.
If no ID is passed, it will display a return report for all program years. If there are multiple program years, you can pass in the ID of one of those program year id’s, and it will only display the report for that year.

Semi-annual program Id is an additional filter only used on the semi-annual report. This lets you view data per semi-annual programs.
The result data structure functions exactly like the details endpoint of an attachment, and it follows the same security type rules. The return model is a byte stream of a PDF or Excel when using the /pdf or /excel endpoint.
If /json is used, the data structure of the report is returned, which may be complicated to parse since not all reports simply pull raw data.
semi-annual:
Every 6 months, a semi-annual report record will be generated. Through the UI interface, you will be able to easily view the report. The report record will have to be approved through the Put /Review endpoint. If the user is not a signer (has the signer role), the report can be printed and signed by another approver, and then uploaded as an Excel or PDF report.