Examples
This page gives concrete Node Manifest examples for the 0.2.0 schema line. The JSON files live under examples/ in the repository; here you can see their structure and how they relate to the specification.
The minimal envelope example shows only the identity, node binding, and validity window. It corresponds to examples/minimal.node-manifest.0.2.0.json:
{
"schemaVersion": "0.2.0",
"kind": "node-manifest",
"manifestId": "urn:example:manifest:ca.rpas.mq9b-001:2025-01-10T12:00:00Z",
"nodeId": "ca.rpas.mq9b-001",
"issuedAt": "2025-01-10T12:00:00Z",
"validity": {
"notBefore": "2025-01-10T12:15:00Z",
"notAfter": "2025-01-10T16:15:00Z",
"graceSeconds": 300
}
}
A multi-tenant variant adds a tenancy block naming several mission principals. It corresponds to examples/mq9b-multitenant.node-manifest.0.2.0.json:
{
"schemaVersion": "0.2.0",
"kind": "node-manifest",
"manifestId": "urn:example:manifest:ca.rpas.mq9b-001:2025-01-10T12:00:00Z:multitenant",
"nodeId": "ca.rpas.mq9b-001",
"issuedAt": "2025-01-10T12:00:00Z",
"validity": {
"notBefore": "2025-01-10T12:15:00Z",
"notAfter": "2025-01-10T16:15:00Z",
"graceSeconds": 300
},
"tenancy": {
"tenants": [
{
"tenantId": "ca.dnd.cjoc",
"displayName": "Canadian Joint Operations Command",
"notes": "Lead defence tenant for Arctic patrol."
},
{
"tenantId": "ca.tc.nasp",
"displayName": "Transport Canada NASP",
"notes": "Pollution and shipping surveillance."
},
{
"tenantId": "ca.ccg",
"displayName": "Canadian Coast Guard",
"notes": "Ice, SAR, and environmental response."
}
]
}
}
The mission example combines envelope, tenancy, and the mission block, as well as profile and contracts identifiers. It corresponds to examples/mq9b-mission.node-manifest.0.2.0.json:
{
"schemaVersion": "0.2.0",
"kind": "node-manifest",
"manifestId": "urn:example:manifest:ca.rpas.mq9b-001:2025-01-10T12:00:00Z:mission",
"nodeId": "ca.rpas.mq9b-001",
"issuedAt": "2025-01-10T12:00:00Z",
"validity": {
"notBefore": "2025-01-10T12:15:00Z",
"notAfter": "2025-01-10T16:15:00Z",
"graceSeconds": 300
},
"tenancy": {
"tenants": [
{
"tenantId": "ca.dnd.cjoc",
"displayName": "Canadian Joint Operations Command",
"notes": "Lead defence tenant for Arctic patrol."
},
{
"tenantId": "ca.tc.nasp",
"displayName": "Transport Canada NASP",
"notes": "Pollution and shipping surveillance."
},
{
"tenantId": "ca.ccg",
"displayName": "Canadian Coast Guard",
"notes": "Ice, SAR, and environmental response."
}
]
},
"profile": {
"profileId": "amoep.v0",
"runtimeAbi": "sov.mission-domain.v0"
},
"contracts": {
"contractsDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
"lensCatalogDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
},
"mission": {
"missionLabel": "Arctic MDA Patrol - Eastern Approaches",
"operationId": "op-nanook-2025",
"sortieId": "sortie-2025-01-10-01",
"missionWindow": {
"start": "2025-01-10T12:30:00Z",
"end": "2025-01-10T16:00:00Z"
},
"region": {
"frame": "wgs84",
"polygon": {
"points": [
{ "lat": 70.25, "lon": -65.5 },
{ "lat": 71.0, "lon": -60.0 },
{ "lat": 73.5, "lon": -62.5 },
{ "lat": 72.75, "lon": -67.0 }
]
}
}
}
}
Use this page as the single place in the site where an external reader can see representative manifests without cloning the repository.