Skip to main content

Publish schema

This page will provide instructions for step 3 of designing and publishing a data model on EBSI: publish the schema on the EBSI Trusted Schemas Registry (TSR).

Ideally, the schema registration proposal should be put forward by the use case or domain representative, as only schemas recognised within your operational domain should be registered on EBSI. Registration will be carried out by the Support Office (SO), rather than you directly.

Hands on!

To proceed with the registration, you must submit your schema to the EBSI Support Office for review. After a successful review, the SO will then register your schema.

You will need to provide the following information for the registration:

  1. Completed data model templates from Step 1: Define your data model
  2. JSON Schema
  3. Acknowledgement from domain representatives that the schema is recognised within the domain
  4. Appoint a representative and create a Pull Request to add your example to the schema repository. The naming convention for the example should be as follows: EA-v3-{cluster name}-{name of the example}.json.
info

Consult the Trusted Schemas API page for API instructions on how to register your schema on the TCR.

You now have a registered JSON Schema for your EBSI project. Congratulations!

You can read more information below about schemas or move onto section Guidelines!

Other information about schemas

Summary of the data model and schema lifecycles

Updates and versions

Any change in the JSON Schema that does not relate to JSON Schema annotations is considered a breaking change and requires the registration of a new schema version.

Schema ID

The schema ID must be computed as follows:

  1. Bundle the JSON Schema. Please see here
  2. Remove JSON Schema annotations (like description, title, examples) from the schema. Thus, changing a description will not change the schema ID.
  3. Canonicalise the bundled JSON Schema using JSON Canonicalization Schema (JCS).
  4. Apply the SHA256 hashing algorithm to the canonicalised document.
  5. The schema ID is a multi-base encoded hash from the previous step, with the default encoding of base58btc.

The Trusted Schemas Registry API computes the schema ID upon schema registration.

Schema versions

All schemas must support JSON Schema 2020-12 as most JSON Schema validators and parsers offer support for this version.

More recent versions of the JSON schema can also be used if required.

HELP?

If you need help, please contact EBSI Support Office