Generic REST

Jmix provides a generic REST API that allows you to work with data model entities and business services without writing REST controllers on the backend. It automatically exposes endpoints for the following functionality:

  • CRUD operations on entities.

  • Calling of registered service methods.

  • Execution of predefined JPQL queries.

  • Uploading and downloading files.

  • Returning information about the data model.

  • Returning information about the current user and their permissions.

REST API uses the OAuth2 protocol for authentication and supports anonymous access. All REST API endpoints respect data access constraints imposed by security.

Frontend UI works with Jmix backend through the generic REST API.


To include REST API in your application, add the following line to the dependencies section of your build.gradle file:

dependencies {
    // ...
    implementation ''
    implementation ''
    // ...
The example request and response that are shown during this documentation only contain the relevant attributes of the JSON objects. Non-relevant attributes like createdBy, createdDate etc. are left out for the sake of simplicity.