Installation
Open Register installs from the Nextcloud app store. You need a working Nextcloud instance (28 or later) and admin rights. The whole thing takes about five minutes.
On a fresh Nextcloud, install Open Register before the apps that depend on it (OpenCatalogi, DocuDesk). Otherwise the dependent apps fall back to their bundled schema and you will have to re-link them.
Step 1 · Install from the app store
Open Apps in Nextcloud, search for Open Register, click Install. The app appears in the left sidebar within seconds.
Step 2 · Create your first register
Open the app, click Registers → New register, give it a slug (lowercase, hyphenated) and a human-readable name. The register becomes the home for one or more schemas.
Use one register per domain: citizens, licences, buildings. Avoid a single mega-register; access control gets easier per domain.
Step 3 · Add a schema
Inside the register, click Schemas → New schema. You can write JSON Schema by hand, paste an existing one, or import from Schema.org or GGM.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Citizen",
"type": "object",
"properties": {
"bsn": { "type": "string", "pattern": "^[0-9]{9}$" },
"firstName": { "type": "string" },
"lastName": { "type": "string" }
},
"required": ["bsn", "lastName"]
}
Step 4 · Create your first object
From the register's detail page, click Objects → New object. The form is rendered from the schema, so every required field shows up with the right input type.
Step 5 · Hit the API
Every object you store is reachable through REST and GraphQL right away. Replace my-register with your slug:
curl https://your-nc.example/index.php/apps/openregister/api/objects/my-register \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
Troubleshooting
- Install fails with "missing dependency" — make sure your Nextcloud version is 28 or higher.
occ app:listshows what is installed. - Schema validation rejects valid JSON — check that the schema's
$schemaURL matches the draft you wrote against. Draft 2020-12 is the default. - Object form doesn't render — clear the OPcache (
apachectl graceful) and reload. Schema changes are cached.
Once the basics work, browse the feature pages for access control, audit trails, search, and integrations.