Artifact Schemas
Everything a maker builds in Parsware — a table, a view, a form, a query, a report, a process, an app — is underneath a plain JSON document, and each kind of document has a published JSON Schema (draft 2020-12). The designer is one way to write the document; an editor, a script or an AI assistant is another. Whichever wrote it, the platform checks it against the same schema, when it is saved and again when a solution carrying it is imported.
Each schema is served from this site at /schemas/<name>.schema.json, so any JSON Schema tool
can check a file before it is sent:
npx ajv-cli validate --spec=draft2020 -s saved-query.schema.json -d visitors-by-purpose.json
A document that holds another document leaves that part to the other's schema, as the platform
does: a saved query's query is a query document, checked against parsware-query. Check it
there too.
A refusal from the platform names the same things a validator does: where in the document
(a JSON Pointer such as /aggregate/measures/0/function) and what is wrong there.
Every schema
Each schema's own description fields explain its members; a page exists where the shape needs
more than that.
Older versions
When a document's shape changes in a way old files cannot satisfy, the old schema is kept beside the new one, so a solution exported before the change still imports: model-driven-form-v1 and model-driven-view-v1 are frozen there.
These files are the platform's own
The schemas here are copied from the ones each service validates with, and a test fails the build when a copy differs from its source. What you check against is what the platform checks against.