Skip to main content


Concerto is a lightweight data modeling (schema) language and runtime for business concepts.

Here is a simple model, expressed using the Concerto CTO syntax:

namespace test@1.0.0

enum Country {
o UK

concept Address {
o String street
o String city
o String postCode
o Country country

concept Person identified by name {
o String name
o Address address optional
@description("Height (cm)")
o Double height range=[0.0,]
o DateTime dateOfBirth

And here is the generated Plant UML diagram for the model:

UML diagram

🏒 Concerto gives you β€œjust enough” expressivity to capture real-world business models, while remaining easy to map to most runtime environments.

β›³ An object-oriented language that is much easier to read and write than JSON/XML Schema, XMI or equivalents.

πŸ“„ Serialize your instances to JSON

πŸͺ Deserialize (and validate) instances from JSON

πŸ”Ž Runtime introspection of the model using a powerful set of APIs

πŸŽ› Convert the model to 14+ common data model formats

πŸ•Έ Publish your reusable models to any website, including the Accord Project model repository

Infer models from other formats:

  • JSON document
  • JSON Schema
  • OpenAPI v3 specification

Accord Project​

Concerto is maintained by Accord Project: an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the Linux Foundation. The technical charter for the Accord Project can be found here.

License ​

Accord Project source code files are made available under the Apache License, Version 2.0. Accord Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0).