# SPDX 2.3 JSON Schema Validator

> SPDX 2.3 JSON Schema Validator is a paid API for AI agents from market.561.group, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-31).

Validates an SPDX 2.3 JSON document against the frozen official SPDX 2.3 JSON Schema, returning pass/fail and detailed JSON-pointer diagnostic issues.

## Facts

- Endpoint: POST https://market.561.group/v1/assurance/spdx-2-3/schema-check?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/spdx-2-3-json-schema-validator-dae1ffcc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_C3kXb0YyOEFyHSDouTLHW

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability spdx-2-3-json-schema-validator-dae1ffcc -d '<json body>'
```

Example prompt: Can you check whether my SPDX 2.3 SBOM JSON is valid against the official schema? Here's the document — I need to know if there are any missing required fields, wrong types, or enum violations, with exact JSON-pointer paths for each issue.

## When to prefer this

Choose this endpoint when you need a definitive, reproducible structural check of an SPDX 2.3 JSON document against the exact frozen official schema (SHA256-pinned). It is ideal for CI/CD gates, vendor SBOM acceptance workflows, or automated tooling that needs per-request pay-as-you-go validation with no account setup. Prefer it over general JSON Schema validators when SPDX domain correctness and schema provenance matter. Do not use it for SPDX 2.3.1 or 3.x documents, or when full semantic/legal SPDX compliance (digest validity, license identifiers, CVE absence) is required.

## Known failure modes

- Malformed JSON body causes a parse error before schema evaluation
- Document exceeds 32768 UTF-8 byte limit and is rejected
- SPDX 2.3.1 or 3.x documents are not covered and may produce unexpected errors
- Textual SPDX requirements (version strings, timestamps, documentNamespace) are not enforced — a structurally valid document may still violate SPDX semantics
- Payment failure or insufficient USDC balance results in HTTP 402 with no validation result
- Caller-supplied schemas or remote $ref references are ignored; only the frozen upstream schema is used

## How this service works

Machine-payable x402 offers and books: software pays per request in USDC on Base over HTTP 402, with no account or API key.

## Output

A JSON object with a `valid` boolean (true only if the submitted JSON fully passes the frozen official SPDX 2.3 draft-07 schema) and an `issues` array. Each issue object includes `kind` (instance or schema), `path` (JSON-pointer to the offending location), `keyword` (the violated schema keyword), and `message` (human-readable explanation). An empty `issues` array accompanies a valid result. Schema violations are returned as paid diagnostic results even when the document is invalid.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "description": "Submit the SPDX JSON document itself, up to 32768 UTF-8 request bytes. The seller fixes the exact official SPDX 2.3 JSON Schema; caller-supplied schemas and remote references are not used. Schema violations are paid diagnostic results."
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "valid",
      "issues"
     ],
     "properties": {
      "valid": {
       "type": "boolean",
       "description": "True means only that the submitted JSON passes the frozen upstream SPDX 2.3 JSON Schema. Automatic JSON shape diagnostics against the exact official SPDX 2.3 draft-07 schema. Find missing required fields, wrong nested types, enum violations and unexpected properties with JSON-pointer paths. Exact historical schema only: it does not enforce all textual SPDX requirements (including version/license values, timestamps or documentNamespace presence), inventory truth, digest validity, cross-reference integrity, CVE absence, signatures or legal compliance. SPDX 2.3.1 and 3.x are not covered. Invalid SBOMs are paid diagnostic results; initial experimental price $0.05. Schema by SPDX Project, CC-BY-3.0, unchanged at SHA256 239208b7ac287b3cf5d9a9af23f9d69863971102a5e1587a27a398b43490b89b. Source and attribution: https://github.com/spdx/spdx-spec/blob/aadf3b0b8dbbabdb4d880b0fc714255fea436ff7/schemas/spdx-schema.json"
      },
      "issues": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "kind",
         "path",
         "keyword",
         "message"
        ],
        "properties": {
         "kind": {
          "enum": [
           "instance",
           "schema"
          ]
         },
         "path": {
          "type": "string"
         },
         "key
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "valid": true,
  "issues": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/spdx-2-3-json-schema-validator-dae1ffcc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.561.group](https://www.zero.xyz/host/market.561.group/llms.txt)
