API Documentation
Jmix REST provides automatically generated API documentation in the OpenAPI Specification format.
You can use the API documentation to visualize, test, or generate a client code for the REST API using tools like Postman or Swagger.
By default, the documentation endpoints described below require authentication. To make them available without authentication, set the jmix.rest.anonymous-url-patterns application property:
jmix.rest.anonymous-url-patterns = /rest/docs/*
Generic OpenAPI Documentation
The generic OpenAPI documentation contains descriptions for all endpoints the REST API provides. In particular, it contains API descriptions for the following parts:
-
Authentication
-
Entities API
-
Files API
-
Metadata API
-
Messages API
-
User Session API
The Generic OpenAPI Documentation is available in JSON
and YAML
formats:
/docs/openapi.json
-
JSON version of generic documentation.
/docs/openapi.yaml
-
YAML version of generic documentation.
For example:
curl -X GET http://localhost:8080/rest/docs/openapi.json \
-H "Authorization: Bearer <access_token>"
curl -X GET http://localhost:8080/rest/docs/openapi.yaml \
-H "Accept: application/yaml" \
-H "Authorization: Bearer <access_token>"
A static version of the documentation is available online at https://docs.jmix.io/openapi/2.3 |
Project-specific OpenAPI Documentation
Any running Jmix application also automatically generates project-specific documentation. Project-specific means that it contains documentation not only about the standard APIs that are part of Jmix, but also about your project-specific entities, like User
, Customer
, Order
, etc.
The project-specific OpenAPI Documentation is available in the formats JSON
and YAML
:
/docs/openapiDetailed.json
-
JSON version of project-specific OpenAPI documentation.
/docs/openapiDetailed.yaml
-
YAML version of project-specific OpenAPI documentation.
For example:
curl -X GET http://localhost:8080/rest/docs/openapiDetailed.json \
-H "Authorization: Bearer <access_token>"
curl -X GET http://localhost:8080/rest/docs/openapiDetailed.yaml \
-H "Accept: application/yaml" \
-H "Authorization: Bearer <access_token>"