These are the questions asked most often about CodamAI. Click a question to expand its answer. Every question has its own link you can share.
Frequently asked questions
Answers to the most common questions about CodamAI: what it is, which modules exist, how tenants, permissions, history and your own business logic work, and where a CodamAI application can run.
CodamAI at a glance
What is CodamAI?
#
CodamAI is the software factory of Codamic AG for custom business software. You describe your data as a model: which things exist, which fields they have and how they relate. From that, CodamAI generates a complete Spring Boot application with REST API, validation, database, tenant separation, permission checks and history.
For an overview of all building blocks, see The CodamAI modules.
Is CodamAI a low-code or no-code tool?
#
No. CodamAI generates real Java code based on Spring Boot that developers read, test and extend. There is no closed runtime platform your application is locked into.
CodamAI takes the repetitive part off your hands (entities, DTOs, endpoints, persistence, checks) and leaves you the part that makes your application special.
Who is CodamAI for?
#
For teams building business applications with a clear data model: SaaS portals, audit and reporting systems, compliance applications, domain portals and master data management. Especially where tenant separation, permissions and traceability are a must.
This documentation is written for developers who know their language but do not know CodamAI yet.
Which modules exist, and which are available already?
#
Available are CDMS (data), CIAS (identity and access) and the Hub (the interface for projects, models and access). In progress is CRMS for reports from templates. Planned are CFDS (frontend), CADS (apps) and CPMS (processes).
How the available modules fit together is shown in The CodamAI modules.
What does CodamAI promise?
#
To build faster without giving in on quality and security: the model is the single source and the code is generated from it. Tenant separation, permission checks and history are built in instead of being rewritten in every project. And the result stays regular, extensible software.
Modelling and your own code
How does a model become an application?
#
You create the models in the Hub. On every build the code generator fetches the models from the Hub and generates every class a model needs, from the REST interface down to the database. You do not write an entity, a DTO or a controller for a model.
The process in detail: Code generation in the build.
Where does my own business logic go?
#
Into hooks: your own code that plugs into the CDMS processes, for example before saving or after reading. On top of that there are custom filters, your own services and controllers, and configuration. You never change generated code by hand, because the next build rewrites it.
More in Generated code and your own code and Extending with hooks.
Can an AI work on the models?
#
Yes. The Hub has an MCP server. Through it, an AI client reads models and changes them in a controlled way: it plans a change, the change is approved and applied exactly once.
The process: Schema change through the MCP server.
Data, tenants and security
How does CodamAI keep the data of different customers apart?
#
Through tenants. A tenant is a customer of your application whose data is separated from everyone else’s. In multi-tenant mode every tenant gets its own database; system-wide data lives in a system database. The tenant of a request is in the token and is checked on every request.
Everything about it under Tenants.
How is it decided who may see and change what?
#
Keycloak handles the sign-in, CIAS checks token and tenant on every request. CDMS then checks roles per model and operation, permissions on individual fields and row-level filters. An object you may not see does not exist for you: the answer is 404.
More under Security.
How do I choose which fields a response contains?
#
With the response list. It is mandatory on every read request and already decides what is read from the database. Wildcards such as + and * and nested entries for references are possible.
The rules are in Field selection with response.
Are changes recorded?
#
Yes. Every change is stored as a revision. All revisions of an object together are its history; even a deleted object has one. A rollback creates a new revision with the old content.
Details under Audit and history.
Is there a description of the API?
#
Yes. Every installation ships an OpenAPI description that lists every generated endpoint with its payload. Which endpoints a model has is explained in Which endpoints a model has.
Operations
Where can a CodamAI application run?
#
A build produces a Spring Boot JAR or a native image. It runs in the cloud, in a private cloud or in your own data centre. In production, MySQL is the typical database.
Does CIAS have to run as a separate service?
#
No. CIAS runs either embedded, as a building block in the same program as the application, or as a separate service. Functionally both forms behave the same.
The comparison: One unit or separate services.
This documentation
How is this documentation organised?
#
By processes. First you pick a module (CDMS, CIAS or how they work together), then a subject area, then a topic. Every topic shows the process with all its variants, usually with diagrams. The legend explains the diagrams, the table of contents shows every page at a glance.
Is the documentation available in English?
#
Yes. Every page exists in German and in English. Switch the language at the top right and you land on the same page.