{
  "$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)."
    },
    "Declaration": {
      "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"
      ],
      "description": "Declaration is one admitted declaration occurrence: the fact in an artifact's declarations journal."
    },
    "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": {
    "declaration": {
      "$ref": "#/$defs/Declaration"
    },
    "replayed": {
      "type": "boolean"
    }
  },
  "type": "object",
  "required": [
    "declaration",
    "replayed"
  ],
  "title": "DeclareResult",
  "description": "DeclareResult is the admitted declaration occurrence, or the first admission recovered for a retry of the same semantic request."
}
