{"note":"Every error this service can return. Each entry gives the HTTP status. Each entry says whether retrying the identical request can help. Published so a buyer agent can decide what to do without parsing prose.","errors":[{"code":"invalid_rule","http_status":400,"retryable":false,"meaning":"The request body is not valid JSON, or a rule is malformed. Causes: an unknown IANA timezone. An unparseable cron or RRULE. A start timestamp carrying an offset or a Z suffix. Rules are defined in wall time, so an offset is ambiguous. A missing required field. A count or limit outside 1..500.","fix":"Correct the named field. 'detail' says which one."},{"code":"payment_required","http_status":402,"retryable":true,"meaning":"The paid endpoint was called without a valid x402 payment. The machine-readable requirements are in the 'payment-required' response header. The body repeats them and names the free sample.","fix":"Pay per the challenge and retry, or use /v1/preview for free."},{"code":"settlement_failed","http_status":402,"retryable":true,"meaning":"A payment was presented but the facilitator did not settle it. Causes: not enough USDC. An expired or replayed authorization. A facilitator outage. No goods are served. No charge is recorded.","fix":"Check the balance and authorization validity, then retry."}],"note_on_headers":"x402 v2 names the request header PAYMENT-SIGNATURE. It names the receipt header PAYMENT-RESPONSE. We also accept v1's X-PAYMENT, because most published client code still sends it. The facilitator verifies the signature either way, so accepting the older name cannot fabricate a payment."}