Dev Portal

REST API & Extension

Automatically generated endpoints and a Java rule engine for custom business logic.

Nuclos exposes a consistent REST interface for every modelled business object. Custom logic beyond configuration is implemented as server-side Java rules.

The technical reference lives in the Nuclos wiki under Development and Configuration.

REST API

Base path /rest. CRUD over business objects, generated from the data model.

  • Endpoints are generated automatically from the data model, with no manual upkeep.
  • Consistent schema: GET, POST, PUT, DELETE for every modelled object.
  • Lists and details via /rest/bos/{boMetaId} and /rest/bos/{boMetaId}/{boId}.
  • Subforms via /rest/bos/{boMetaId}/{boId}/subBos/{refAttrId}.
  • Authentication via session or token. Details and parameters are in the wiki.
GET /rest/bos/{boMetaId}/{boId}
Cookie: JSESSIONID=<session>

→ 200 OK
{
  "boId": "4711",
  "boMetaId": "example_rest_Order",
  "attributes": {
    "example_rest_Order_orderNumber": "A-10042",
    "example_rest_Order_customer": { "id": "200", "name": "Muster GmbH" }
  }
}

Calling external REST services from rules

Register an OpenAPI spec, generate a Java client, call it from rule code.

Under Administration → REST APIs you register an OpenAPI specification. Nuclos generates Java client classes under /data/codegenerator/src-conf-rest/.

An adapter class (for example NuclosRESTAdapter) initialises the endpoint so you can call the generated API methods from rule code.

Server-side rule engine

Bind Java rules to events: insert, update, delete, state change, custom action.

When business logic cannot be expressed with low-code mechanisms alone, implement server-side rules as Java classes. Each rule implements a typed interface and is assigned to an event in the Server Rule Manager via drag and drop.

  1. Insert (InsertRule / InsertFinalRule)

    When a new record is created. Controllable before and after save.

  2. Update (UpdateRule / UpdateFinalRule)

    When existing records change, including validation and post-processing.

  3. Delete (DeleteRule / DeleteFinalRule)

    On delete, for example for dependent data or release checks.

  4. State change (StateChangeRule / StateChangeFinalRule)

    On a state-model transition, for example from Open to Released.

  5. Custom action (CustomRule)

    For explicitly triggered actions on a business object.

Supporting provider classes

  • BusinessObjectProvider, QueryProvider, DatasourceProvider
  • MailProvider, FileProvider, ReportProvider, PrintoutProvider
  • GenerationProvider, ImportProvider, ParameterProvider, StatemodelProvider

Development in the IDE

You develop rule code as a Maven project. Nuclos provides a pom.xml under /data/codegenerator. Generated business-object classes and the API at api.nuclos.de are available in the IDE.

Discuss interfaces and self-build?

We cover technical questions on REST, rules, or integration in an initial call.