{"apiInputPackagePath": "/api/web/v1/plugins/nails/maliang-exports:api-input-package", "apiVersion": "openeyes.nails.web.v1", "contract": {"additionalProperties": false, "contractVersion": 1, "name": "nails-maliang-exports-runtime-resource-read-receipt-verify", "optionalFields": [], "requiredFields": ["runtimeResourceAccessPolicy", "runtimeResourceAccessPolicyDigest", "externalResourceReadReceipt"], "schemaDigest": "a060a2926935aa4a0865baff874333d8f402b38ed6b697a3b302b9cae4cf6e32", "schemaId": "https://openeyes.local/plugins/nails/web/v1/maliang-exports-runtime-resource-read-receipt-verify-request.schema.json"}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "productionMutations": false, "receiptContract": {"digestAlgorithm": "canonical_sha256_of_external_resource_read_receipt", "kind": "maliang.nails.external_runtime_resource_read_receipt", "name": "maliang-runtime-resource-read-receipt", "network": false, "objectReadRequiredFields": ["objectUri", "status", "contentSha256"], "requiredFields": ["kind", "receiptVersion", "status", "executedByExternalRuntime", "executedBy", "executedAt", "runtimeResourceAccessPolicyDigest", "objectUriDigest", "objectUriCount", "objectReads", "authorizationSuppliedByExternalRuntime", "authorizationRedacted", "network", "submitEnabled", "productionMutations"]}, "responseFields": ["verified", "verificationStatus", "runtimeResourceAccessPolicyDigest", "externalResourceReadReceiptDigest", "objectUriDigestVerified", "objectReadCoverageVerified", "contentSha256Verified", "authorizationRedacted", "verificationDigest", "verificationEvidence"], "route": "/api/web/v1/plugins/nails/maliang-exports:runtime-resource-read-receipt-verify-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/maliang-exports-runtime-resource-read-receipt-verify-request.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {"externalResourceReadReceipt": {"description": "Receipt emitted by external Maliang runtime after it checks object read access using its own reader principal.", "type": "object"}, "runtimeResourceAccessPolicy": {"description": "runtimeResourceAccessPolicy returned by maliang-exports:api-input-package.", "type": "object"}, "runtimeResourceAccessPolicyDigest": {"description": "Canonical digest of runtimeResourceAccessPolicy.", "pattern": "^[a-f0-9]{64}$", "type": "string"}}, "required": ["runtimeResourceAccessPolicy", "runtimeResourceAccessPolicyDigest", "externalResourceReadReceipt"], "title": "Nails Maliang Runtime Resource Read Receipt Verify Request v1", "type": "object"}, "sideEffects": "receipt_verification_only_no_local_state_write", "submitEnabled": false, "uploadEnabled": false, "verifyPath": "/api/web/v1/plugins/nails/maliang-exports:runtime-resource-read-receipt-verify"}