Executions REST API
Executions REST API allows you to manage persistent executions of .jasper reports for later retrieval, navigation, and export from a web viewer. This naming intentionally stays close to JasperReports® Server so the API feels familiar to JRS users.
Create Execution
Section titled “Create Execution”POST /v1/executions
Creates a new persistent execution for a specific report and parameter set. The operation is currently synchronous and returns only after the report has been filled into a stored JasperPrint document.
Request
Section titled “Request”Accepts a JSON request body containing:
- reportKey (String): Unique identifier of the report
- parameters (Object): JSON object containing input control parameters
- ephemeral (Boolean): Marks the execution as short-lived and often tied to an interactive UI session. Ephemeral executions have shorter TTL and are eligible for eager cleanup.
- system parameters: Top-level properties in the request object. See REST API Overview for supported system parameters and general request schemas.
Example request
{ "reportKey": "my-report", "parameters": { "createdDate": "2020-01-01", "minBalance": "45.99", "cities": ["1", "2", "3"] }, "ephemeral": false, "ignorePagination": false, "locale": "en_US"}Response
Section titled “Response”Returns a JSON object with the following properties:
- executionId (String): ID of the created persistent execution
- status (String): Execution status. Currently, it always returns as ‘ready’. Reserved for future use.
Example response
{ "executionId": "a49c0de2-3139-428a-a7b8-d3e28b8813d9", "status": "ready"}Default Errors
Section titled “Default Errors”- 404 Not Found if the report with the provided key does not exist
- 400 Bad Request if the request is not valid or binding to input control parameters fail
Update Execution
Section titled “Update Execution”POST /v1/executions/{executionId}
Updates an existing persistent execution or fails if one cannot be found. The request schema is the same as the
create endpoint, except that it doesn’t take a reportKey since the execution is selected by executionId path
variable.
The operation is currently synchronous and returns only after the report has been filled into a stored JasperPrint document.
Default Errors
Section titled “Default Errors”- 404 Not Found if the execution with the provided
execution iddoes not exist - 400 Bad Request if the request is not valid or binding to input control parameters fail. Trying to change
the
ephemeralproperty of an execution is considered an invalid request.
Get Execution Info
Section titled “Get Execution Info”GET /v1/executions/{executionId}/info
Returns print information for an existing persistent execution. This metadata is intended for web viewer navigation features such as total pages, bookmarks, and similar print-level information.
Response
Section titled “Response”See API docs for PrintMetadataRestModel
Default Errors
Section titled “Default Errors”- 404 Not Found if the execution with the provided
executionIddoes not exist
Delete Execution
Section titled “Delete Execution”DELETE /v1/executions/{executionId}
Deletes an existing persistent execution if it exists. This API returns no response body. It is idempotent and does not return an error if the execution does not exist.
© 2026 Bivektor Inc. All rights reserved. ReportShell™
is a trademark of Bivektor, Inc.
Questions? Email us at reportshell@bivektor.com.
JasperReports® and Jaspersoft® are trademarks of Cloud Software Group, Inc. and/or its subsidiaries. Eclipse BIRT™ and BIRT™ are trademarks of the Eclipse Foundation. Spring® is a trademark of Broadcom Inc. and/or its subsidiaries. React is a trademark of Meta Platforms, Inc. ReportShell and Bivektor, Inc. are not affiliated with, endorsed by, sponsored by or otherwise associated with the owners of the JasperReports®, Jaspersoft®, Spring®, Eclipse BIRT™, BIRT™ or React marks. Any reference to these or other trademarks on this site is made solely for informational, descriptive, comparative and interoperability purposes.