{"uid":"cap_EkLTGdMrt_3fAhVPUtBMf","slug":"arch-tools-json-schema-validator-8218be5a","name":"Arch Tools — JSON Schema Validator","description":"Arch Tools — validate-data","url":"https://archtools.dev/v1/tools/validate-data","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"data":{"description":"The JSON data to validate"},"schema":{"type":"object","description":"JSON Schema to validate against"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_w11Qvb6c4PNxojLsbn9Ax","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates a JSON data string against a provided JSON Schema and returns whether the data conforms","exampleAgentPrompt":"Can you validate this JSON payload against my schema and tell me if it's valid? The data is '{\"name\":\"Alice\",\"age\":30}' and the schema requires 'name' to be a string and 'age' to be an integer greater than 0.","exampleUseCases":[{"title":"API response conformance check","prompt":"I just got back a response from an external API and I need to verify it matches our expected schema before processing it. The data is '{\"id\":\"abc123\",\"status\":\"active\",\"amount\":42.5}' and the schema requires 'id' to be a string, 'status' to be one of ['active','inactive'], and 'amount' to be a number. Can you validate it for me?"},{"title":"User form input validation","prompt":"Before I save this user registration payload to the database, can you check it against our user schema? The data is '{\"username\":\"jdoe\",\"email\":\"jdoe@example.com\",\"age\":17}' and the schema says all three fields are required, email must match an email format, and age must be an integer of 18 or above."},{"title":"Config file schema enforcement","prompt":"I have a configuration JSON I generated and want to make sure it's valid before deploying. The data is '{\"timeout\":30,\"retries\":3,\"endpoint\":\"https://api.myservice.com\"}' and the schema says timeout and retries must be positive integers and endpoint must be a URI string. Can you validate it?"}],"resultDescription":"Returns a JSON object indicating whether the provided data is valid against the schema, along with any validation errors or constraint violations found during the check.","failureModes":["Invalid JSON string in the 'data' field causes a parse error","Malformed or invalid JSON Schema object causes schema compilation failure","Missing required 'data' or 'schema' fields returns a 400 error","Payment failure via x402 protocol blocks the request","Schema references external $ref URIs that cannot be resolved"],"whenToPreferThis":"Choose this endpoint when you need a lightweight, pay-per-call JSON Schema validation step inside an agent workflow, especially when you lack a local validation library or want a hosted, stateless validation check. It is well-suited for validating individual payloads on demand rather than batch validation workloads.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:42:08.157Z","isFirstParty":false}