{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "additionalProperties": false,
 "description": "Signature input: ASCII(domain) || 0x00 || RFC8785-integer-profile(object without 'signature'). Floats are not allowed anywhere.",
 "properties": {
  "action_digest": {
   "pattern": "^[0-9a-f]{64}$",
   "type": "string"
  },
  "agent_id": {
   "type": "string"
  },
  "alg": {
   "const": "Ed25519"
  },
  "attestation_refs": {
   "items": {
    "type": "string"
   },
   "type": "array"
  },
  "authn": {
   "properties": {
    "aal": {
     "maximum": 9007199254740991,
     "minimum": 0,
     "type": "integer"
    },
    "method": {
     "type": "string"
    },
    "user_presence": {
     "type": "boolean"
    }
   },
   "required": [
    "method",
    "aal"
   ],
   "type": "object"
  },
  "challenge_id": {
   "type": "string"
  },
  "decision": {
   "enum": [
    "APPROVE",
    "DENY"
   ]
  },
  "enrollment_kid": {
   "type": "string"
  },
  "epoch": {
   "maximum": 9007199254740991,
   "minimum": 0,
   "type": "integer"
  },
  "expires_at": {
   "maximum": 9007199254740991,
   "minimum": 0,
   "type": "integer"
  },
  "issued_at": {
   "maximum": 9007199254740991,
   "minimum": 0,
   "type": "integer"
  },
  "kid": {
   "minLength": 1,
   "type": "string"
  },
  "nonce": {
   "pattern": "^[0-9a-f]{64}$",
   "type": "string"
  },
  "policy_version": {
   "maximum": 9007199254740991,
   "minimum": 0,
   "type": "integer"
  },
  "protocol": {
   "const": "ihvrk/1"
  },
  "request_id": {
   "type": "string"
  },
  "required_aal": {
   "maximum": 9007199254740991,
   "minimum": 0,
   "type": "integer"
  },
  "resource": {
   "type": "string"
  },
  "scope": {
   "type": "string"
  },
  "signature": {
   "pattern": "^[A-Za-z0-9+/]{86}==$",
   "type": "string"
  },
  "status_ref": {
   "type": "string"
  },
  "tenant": {
   "type": "string"
  },
  "type": {
   "const": "approval"
  },
  "verifier_id": {
   "type": "string"
  }
 },
 "required": [
  "action_digest",
  "agent_id",
  "alg",
  "attestation_refs",
  "authn",
  "challenge_id",
  "decision",
  "enrollment_kid",
  "epoch",
  "expires_at",
  "issued_at",
  "kid",
  "nonce",
  "policy_version",
  "protocol",
  "request_id",
  "required_aal",
  "resource",
  "scope",
  "signature",
  "status_ref",
  "tenant",
  "type",
  "verifier_id"
 ],
 "title": "IHVRK approval (domain IHVRK/v1/approval)",
 "type": "object"
}