Skip to content
ReportShell ReportShell Documentation

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.

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.

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"
}

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"
}
  • 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

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.

  • 404 Not Found if the execution with the provided execution id does not exist
  • 400 Bad Request if the request is not valid or binding to input control parameters fail. Trying to change the ephemeral property of an execution is considered an invalid request.

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.

See API docs for PrintMetadataRestModel

  • 404 Not Found if the execution with the provided executionId does not exist

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.