changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": true,
+ "allOf": [
+ {
+ "else": {
+ "properties": {
+ "challenge": {
+ "type": "null"
+ }
+ }
+ },
+ "if": {
+ "properties": {
+ "is_x402": {
+ "const": true
+ }
+ }
+ },
+ "then": {
+ "properties": {
+ "challenge": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "pattern": "^[0-9]+$",
+ "type": "string"
+ },
+ "asset": {
+ "description": "Asset identifier from the fresh requirements; never replaced with a cached symbol.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxTimeoutSeconds": {
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "network": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "payTo": {
+ "pattern": "^0x[a-fA-F0-9]{40}$",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Exact resource URL or identifier advertised by the endpoint.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "scheme": {
+ "description": "Payment scheme advertised by the fresh requirement.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "x402Version": {
+ "const": 2
+ }
+ },
+ "required": [
+ "x402Version",
+ "scheme",
+ "payTo",
+ "asset",
+ "network",
+ "amount",
+ "resource",
+ "maxTimeoutSeconds"
+ ],
+ "type": "object"
+ },
+ "http_status": {
+ "const": 402
+ }
+ }
+ }
+ }
+ ],
+ "properties": {
+ "canonical_receiver_match": {
+ "description": "Comparison with documented SML receiver; a mismatch never rewrites upstream requirements.",
+ "type": "boolean"
+ },
+ "challenge": {
+ "description": "Fresh validated requirements, or null. No synthetic defaults are inserted.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "pattern": "^[0-9]+$",
+ "type": "string"
+ },
+ "asset": {
+ "description": "Asset identifier from the fresh requirements; never replaced with a cached symbol.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxTimeoutSeconds": {
+ "maximum": 3600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "network": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "payTo": {
+ "pattern": "^0x[a-fA-F0-9]{40}$",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Exact resource URL or identifier advertised by the endpoint.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "scheme": {
+ "description": "Payment scheme advertised by the fresh requirement.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "x402Version": {
+ "const": 2
+ }
+ },
+ "required": [
+ "x402Version",
+ "scheme",
+ "payTo",
+ "asset",
+ "network",
+ "amount",
+ "resource",
+ "maxTimeoutSeconds"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "http_status": {
+ "description": "Observed HTTP status; zero means no HTTP response was received.",
+ "maximum": 599,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "is_x402": {
+ "description": "True only for HTTP 402 with complete validated x402 v2 requirements.",
+ "type": "boolean"
+ },
+ "missing_fields": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payment_sent": {
+ "const": false
+ },
+ "raw_headers": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Allowlisted response headers only; never cookies or authentication headers.",
+ "type": "object"
+ },
+ "reason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "is_x402",
+ "http_status",
+ "challenge",
+ "payment_sent"
+ ],
+ "type": "object"
+}