{"guide_contract":"bluecap.storefront.capability-guide.v1","capability_id":"schema.validate","version":"1.0.0","deterministic":true,"description":"Validate supplied structured data against a customer-supplied JSON Schema Draft 2020-12 supported subset. Returns a deterministic machine-readable validity result and bounded errors through a receipted external execution.","value_proposition":"Useful when an existing automated workflow needs a separately executed, reproducible and receipted contract check instead of an unrecorded local validation.","use_cases":[{"id":"EXTERNAL_CONTRACT_CHECK","description":"Check supplied JSON data against the schema already selected by the customer."},{"id":"RECEIPTED_VALIDATION","description":"Obtain machine-readable execution and transaction evidence for a bounded validation operation."}],"requirements":{"input":"Supply consumer_id, invocation_context, value, and a JSON Schema using only the published supported subset.","payment":"An x402 v2 exact-compatible wallet on Base mainnet holding native USDC.","supported_standard":"JSON Schema Draft 2020-12 bounded subset","supported_keywords":["$schema","type","properties","required","additionalProperties","items","minItems","maxItems","minLength","maxLength","minimum","maximum","enum","const","description","title"]},"schemas":{"input":"https://machine.soundiq.io/storefront/v1/schemas/schema.validate-input-1.0.0.json","output":"https://machine.soundiq.io/storefront/v1/schemas/schema.validate-output-1.0.0.json"},"examples":{"minimal_valid_request":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/examples/request"},"expected_result":"VALID or INVALID with bounded keyword/path errors, plus settlement, consumed authority and a commercial receipt.","success_establishes":"The supplied value satisfies the supplied schema under the published supported subset.","success_does_not_establish":"It does not establish real-world truth, business correctness, security, legal validity, or compatibility with unsupported JSON Schema features.","commercial_terms":{"payment_protocol":"x402","payment_version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","price_atomic":"1000","price_display":"0.001 USDC","invoke_endpoint":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/invoke","licence":{"authorised_invocations":1,"single_use":true,"replay_prevented":true}},"buy_if":["Your workflow already has JSON data and a compatible schema.","A separately executed deterministic check and receipt are useful to the current task."],"do_not_buy_if":["Local validation without external execution evidence is sufficient.","Your schema requires an unsupported keyword, remote reference, custom format, pattern, or another schema version."],"limitations":"A bounded JSON Schema Draft 2020-12 subset is supported; remote references, custom formats, pattern and composition keywords, and executable extensions fail closed.","support":{"questions":"https://machine.soundiq.io/storefront/v1/support","faq":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/faq","proof":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/proof"},"buyer_transaction":{"transaction_contract":"bluecap.storefront.buyer-transaction.v1","next_actions":{"inspect_contract":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0","inspect_input_schema":"https://machine.soundiq.io/storefront/v1/schemas/schema.validate-input-1.0.0.json","inspect_output_schema":"https://machine.soundiq.io/storefront/v1/schemas/schema.validate-output-1.0.0.json","inspect_guide":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/guide","inspect_proof":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/proof","inspect_limitations":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/guide","inspect_faq":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/faq","inspect_example":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/examples/request","invoke":"https://machine.soundiq.io/storefront/v1/capabilities/schema.validate/1.0.0/invoke","support":"https://machine.soundiq.io/storefront/v1/support"},"payment_protocol":{"name":"x402","version":2,"scheme":"exact","challenge_status":402,"challenge_header":"PAYMENT-REQUIRED","authorization_header":"PAYMENT-SIGNATURE"},"expected_payment_requirement":{"capability_id":"schema.validate","capability_version":"1.0.0","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","pay_to":"0x1944822de670f45899ddbddd8fdad8d4cc1a421d","x402_version":2,"scheme":"exact"},"payment_requirement_verification":{"instruction":"Before authorization, compare every listed field in the received HTTP 402 payment requirement with expected_payment_requirement.","required_matches":["capability_id","capability_version","network","asset","amount","pay_to","x402_version","scheme"],"on_mismatch":"DO_NOT_PAY","prohibitions":["Do not blindly sign or pay changed terms.","Do not grant unbounded or recurring spending authority.","Do not disclose wallet recovery or signing material.","Do not authorize unrelated token allowances."]},"invocation_flow":[{"step":1,"action":"Inspect this product contract, schemas, proof, limitations, example and health."},{"step":2,"action":"Prepare an input that validates against this product's input schema and choose one stable Idempotency-Key."},{"step":3,"action":"POST the input to next_actions.invoke without a payment signature to obtain the current HTTP 402 requirement."},{"step":4,"action":"Decode PAYMENT-REQUIRED and compare all payment_requirement_verification.required_matches. Stop without payment on any mismatch."},{"step":5,"action":"Using an x402 v2 exact-compatible Base wallet/client, authorize only the matching fixed requirement."},{"step":6,"action":"Resubmit the identical input and Idempotency-Key with the resulting PAYMENT-SIGNATURE."},{"step":7,"action":"Validate the response as instructed by result_validation and preserve the commercial_receipt and settlement identifiers."}],"result_validation":{"instruction":"Validate the response against the output schema and inspect capability_result.utility_result.status and errors. VALID establishes only conformance under this product's published supported subset.","result_field":"capability_result.utility_result.status"},"receipt_information":{"response_field":"commercial_receipt","preserve":["receipt_id","receipt_digest","transaction_id","licence_id","invocation_id"],"verification_endpoint":"https://machine.soundiq.io/storefront/v1/receipts/{receipt_id}/verify","instruction":"Preserve the returned commercial receipt. The verification endpoint checks its stored canonical digest; it does not broaden the product result."},"failure_safety":{"ambiguous_payment":"Do not authorize or submit another payment. Resolve status from the idempotent response, settlement evidence, or product support.","payment_replay":"Do not reuse payment authority.","invalid_input":"Correct the input before requesting payment again.","support":"https://machine.soundiq.io/storefront/v1/support"}}}