{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$defs": {
    "Artifact": {
      "properties": {
        "bytes": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "bytes",
        "type"
      ],
      "description": "Artifact is exact retained content with a selected interpretation: the hash of the bytes and the hash of the interpretation descriptor the bytes are read under (order 0002 D4)."
    },
    "EntryRef": {
      "properties": {
        "root_id": {
          "type": "string"
        },
        "space_id": {
          "type": "string"
        },
        "position": {
          "type": "integer"
        }
      },
      "type": "object",
      "required": [
        "root_id",
        "space_id",
        "position"
      ],
      "description": "EntryRef is the occurrence identity of one entry: a position in one journal."
    }
  },
  "properties": {
    "entry": {
      "$ref": "#/$defs/EntryRef"
    },
    "assertion_id": {
      "type": "string"
    },
    "envelope": {
      "type": "string"
    },
    "artifact": {
      "$ref": "#/$defs/Artifact"
    },
    "subject": {
      "type": "string"
    },
    "publisher": {
      "type": "string"
    },
    "application": {
      "oneOf": [
        {
          "$ref": "#/$defs/EntryRef"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "type": "object",
  "required": [
    "entry",
    "assertion_id",
    "envelope",
    "artifact",
    "publisher"
  ],
  "title": "Declaration",
  "description": "Declaration is one admitted declaration occurrence: the fact in an artifact's declarations journal."
}
