Skip to main content
Version: Stage 5 - Deliverable Acceptance Check

GRID Data Schema

Purpose and Scope of this document​

This document describes the types and format of data provided by participating Authoritative Registrars to be shown in the Global Registry Information Directory (GRID). It establishes the baseline for "Global Trust" by ensuring that every entry in the GRID is backed by a clear legal mandate and a verifiable administrative origin.

Separation of Concerns: Registrar Assertions vs. GRID Governance​

To preserve legal liability boundaries and operational sovereignty, the GRID data architecture separates metadata into two distinct layers:

  1. Registrar-Asserted Metadata (registrar.json): Facts natively controlled and published by the registrar regarding its statutory identity, operational name, register type, and technical endpoints (including its cryptographic identifier, supporting did:webvh or did:web).
  2. GRID-Governed Ledger (governance-ledger.json): Administrative statuses maintained authoritatively by the UN/CEFACT GRID Board (such as participation standing and maturity profile) and the UN Member State (legal mandate validity).

Data Quality Principles​

For the GRID to function as a reliable "Trust Root" for global supply chains, data in the GRID about Registrars adheres to the following core principles:

  1. Authoritative Origin: Data must be sourced directly from the entity with the mandate to maintain the Register for a UN Member State.
  2. Legal Transparency: The legal basis for the Registrar's UN Member State authority must be publicly accessible.
  3. Digital Diversity: UN Member State eligible Registrars of varying digital maturity levels should be able to participate.
  4. Temporal Integrity & Historical Traceability: Registrar metadata and cryptographic trust material must be attributable to specific effective dates and verifiable over time. Historical updates, key rotations, and status changes must remain verifiable to support retrospective trade audits and legal dispute resolution.

Schema Fields Provided by Authoritative Registrars​

Field NameTypeFormat / ValidationRequirementDescription & Comments
UN Member StateStringISO 3166-1 Alpha-2 (^[A-Z]{2}$)MandatoryThe country code for the UN Member State (e.g., AU, CA, ES).
Subdivision CodeString / NullISO 3166-2 (^[A-Z]{2}-[A-Z0-9]{1,3}$)OptionalSubdivision code if applicable (e.g., CA-BC). Must be null if none.
Registrar Full NameStringFree text (Latin script)MandatoryOfficial administrative name of the organization.
Registrar Identifier CodeStringECCMA / ISO 8000-116 AcronymMandatoryOfficial acronym or code (e.g., ASIC, BER). Used in ALEI prefixes.
Register NameStringFree text (Latin script)MandatorySpecific dataset or register name being indexed.
Register TypeEnumOrganisation, Land, Vessel, Professional, IndividualMandatoryClassification of the recorded entities.
Legal BasisString (URI)RFC 3986 URI FormatMandatoryPersistent link to national legislation establishing statutory authority.
Authoritative BodyString (URI)RFC 3986 URI FormatMandatoryLink to the parent Ministry or oversight department.
Register IDStringISO 8000-116 ALEI PrefixMandatoryUnique registry identifier prefix (e.g., CA.BER).
Registered ID PatternStringURI TemplateMandatoryTemplate format for member identifiers issued by the register.
DIDString / Nulldid:webvh:..., did:web:..., did:key:...OptionalCryptographic identifier for signature verification (did:webvh strongly recommended).
DID Log EndpointString (URI)RFC 3986 URI FormatOptionalDirect endpoint for the registrar's did.jsonl verification history log.
Query EndpointString / NullURI Template / EndpointOptionalEndpoint for querying registry records.
Registrar NotesString / NullFree textOptionalOperational commentary (classified under the attribution model as Asserted data).

Formal Definition​

The formal description of the data structure is defined in the registrar.json file located in the repository for this project. Version control is managed as described in Schema Versioning.

This page renders the content of this file as shown below:

schemas/v3.0.0/registrar.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://opensource.unicc.org/un/unece/uncefact/gtr/schemas/v3.0.0/registrar.json",
"title": "GRID Registrar Metadata Schema v3.0.0",
"type": "object",
"required": [
"UN_member_state",
"subdivision_code",
"registrar_full_name",
"registrar_identifier_code",
"register_name",
"register_type",
"legal_basis",
"authoritative_body",
"register_id",
"registered_id_pattern"
],
"properties": {
"UN_member_state": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"subdivision_code": {
"type": [
"string",
"null"
],
"pattern": "^[A-Z]{2}-[A-Z0-9]{1,3}$"
},
"registrar_full_name": {
"type": "string"
},
"registrar_identifier_code": {
"type": "string"
},
"register_name": {
"type": "string"
},
"register_type": {
"type": "string",
"enum": [
"Organisation",
"Land",
"Vessel",
"Professional",
"Individual"
]
},
"legal_basis": {
"type": "string",
"format": "uri"
},
"authoritative_body": {
"type": "string",
"format": "uri"
},
"register_id": {
"type": "string"
},
"registered_id_pattern": {
"type": "string"
},
"registrar_notes": {
"type": [
"string",
"null"
]
},
"query_endpoint": {
"type": [
"string",
"null"
]
},
"resolver_endpoint": {
"type": [
"string",
"null"
],
"format": "uri"
},
"did": {
"type": [
"string",
"null"
],
"pattern": "^did:(webvh:[a-zA-Z0-9_-]+:[a-zA-Z0-9.-]+.*|web:[a-zA-Z0-9.-]+.*|key:z[a-km-zA-HJ-NP-Z1-9]+)$"
},
"did_log_endpoint": {
"type": [
"string",
"null"
],
"format": "uri"
},
"grid_reference": {
"type": [
"string",
"null"
],
"format": "uri"
}
}
}

Example​

Here is the sample JSON object for the Spanish Business Registry (Registro Mercantil Central), formatted to align with the registrar.json schema and the data principles described above.

{
"UN_member_state": "ES",
"subdivision_code": null,
"registrar_full_name": "Colegio de Registradores de la Propiedad, Mercantiles y de Bienes Muebles de España",
"registrar_identifier_code": "CORP",
"register_name": "Registro Mercantil Central",
"register_type": "Organisation",
"legal_basis": "https://www.boe.es/buscar/act.php?id=BOE-A-1996-17402",
"authoritative_body": "https://www.mjusticia.gob.es/",
"register_id": "ES.CORP",
"registered_id_pattern": "https://www.registradores.org/registro-mercantil-central/{id}",
"did": "did:webvh:Qma3B8RegistradoresCentralSCID123456789xyz:registradores.org",
"did_log_endpoint": "https://registradores.org/.well-known/did.jsonl",
"query_endpoint": "https://www.registradores.org/registro-mercantil-central/busqueda?q={id}",
"registrar_notes": "The Central Mercantile Register provides official information on all Spanish legal entities and acts as the technical coordinator for provincial registers."
}

Note that this example uses did:webvh. This is the preferred method as it provides the required cryptographic event log for historical reliance. The GRID will also ingest did:web content for those participants who use this DID method.