Skip to content

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.