Fully Qualified Names (TypeFQN)
Every class in the platform is identified by a Fully Qualified Name (TypeFQN). This is a two-part identifier in the format:
namespace.name
For example:
commons.person— the built-in Person classcommons.entity— the built-in Entity classmy-project.employee— a custom Employee class in themy-projectnamespace
Namespace
The namespace corresponds to the project or repository the class belongs to. All built-in classes use the commons namespace. Your custom classes use the namespace you configure for your repository.
Name
The name is a unique identifier for the class within the namespace. By convention, names are written in camelCase (e.g., employmentAgreement, person, company).
Usage in JSON
TypeFQNs appear throughout the class definition JSON:
{
"class": "my-project.employmentAgreement",
"type": "BASIC",
"inherits": "commons.dossier",
"relations": [
{ "type": "commons.company", "required": true, "multiple": false },
{ "type": "my-project.employee", "required": true, "multiple": false }
]
}
Stability
A TypeFQN is a stable, permanent identifier. Renaming a class is a breaking change — treat it the same way you would treat renaming a database table. References to the old name in other class definitions and in stored data will break.