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:
- 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, supportingdid:webvhordid:web). - 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:
- Authoritative Origin: Data must be sourced directly from the entity with the mandate to maintain the Register for a UN Member State.
- Legal Transparency: The legal basis for the Registrar's UN Member State authority must be publicly accessible.
- Digital Diversity: UN Member State eligible Registrars of varying digital maturity levels should be able to participate.
- 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 Name | Type | Format / Validation | Requirement | Description & Comments |
|---|---|---|---|---|
| UN Member State | String | ISO 3166-1 Alpha-2 (^[A-Z]{2}$) | Mandatory | The country code for the UN Member State (e.g., AU, CA, ES). |
| Subdivision Code | String / Null | ISO 3166-2 (^[A-Z]{2}-[A-Z0-9]{1,3}$) | Optional | Subdivision code if applicable (e.g., CA-BC). Must be null if none. |
| Registrar Full Name | String | Free text (Latin script) | Mandatory | Official administrative name of the organization. |
| Registrar Identifier Code | String | ECCMA / ISO 8000-116 Acronym | Mandatory | Official acronym or code (e.g., ASIC, BER). Used in ALEI prefixes. |
| Register Name | String | Free text (Latin script) | Mandatory | Specific dataset or register name being indexed. |
| Register Type | Enum | Organisation, Land, Vessel, Professional, Individual | Mandatory | Classification of the recorded entities. |
| Legal Basis | String (URI) | RFC 3986 URI Format | Mandatory | Persistent link to national legislation establishing statutory authority. |
| Authoritative Body | String (URI) | RFC 3986 URI Format | Mandatory | Link to the parent Ministry or oversight department. |
| Register ID | String | ISO 8000-116 ALEI Prefix | Mandatory | Unique registry identifier prefix (e.g., CA.BER). |
| Registered ID Pattern | String | URI Template | Mandatory | Template format for member identifiers issued by the register. |
| DID | String / Null | did:webvh:..., did:web:..., did:key:... | Optional | Cryptographic identifier for signature verification (did:webvh strongly recommended). |
| DID Log Endpoint | String (URI) | RFC 3986 URI Format | Optional | Direct endpoint for the registrar's did.jsonl verification history log. |
| Query Endpoint | String / Null | URI Template / Endpoint | Optional | Endpoint for querying registry records. |
| Registrar Notes | String / Null | Free text | Optional | Operational 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:
{
"$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.