SPDX 2.3 SBOM Schema Diagnostics
SPDX 2.3 JSON Schema diagnostics for your SBOM. Reports required/type/enum/extra-field issues. Historical schema permits wrong version/license/date/digest text, dangling IDs and absent namespace. Not full SPDX conformance, inventory truth, signature verification or legal compliance; not 2.3.1/3.x. Invalid documents are paid diagnostics. Schema: SPDX Project, CC BY 3.0, unchanged: https://github.com/spdx/spdx-spec/blob/aadf3b0b8dbbabdb4d880b0fc714255fea436ff7/schemas/spdx-schema.json
- Price
- $0.05 USDC per request
- Network
- Base mainnet,
eip155:8453, settled in USDC through the Coinbase CDP facilitator - Method and URL
POST https://market.561.group/v1/assurance/spdx-2-3/schema-check- Response type
application/json- Seller
- Causeway Services (561 Group)
Input contract
Input that fails this contract is refused with a 4xx status before any payment is requested.
{
"maxBytes": 32768,
"bodySchema": {
"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."
}
}
Example request
{
"method": "POST",
"url": "https://market.561.group/v1/assurance/spdx-2-3/schema-check",
"headers": {
"accept": "application/json",
"content-type": "application/json"
},
"body": {
"spdxVersion": "SPDX-2.3",
"dataLicense": "CC0-1.0",
"SPDXID": "SPDXRef-DOCUMENT",
"name": "example-build",
"documentNamespace": "https://example.com/spdx/build-1",
"creationInfo": {
"creators": [
"Tool: example-builder-1.0"
],
"created": "2026-10-24T00:00:00Z"
}
}
}
Output
{
"schema": {
"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"
},
"keyword": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
}
}
},
"example": {
"valid": true,
"issues": []
}
}
How to buy with x402
- Send the request without payment. The server answers
402 Payment Requiredwith a base64 JSONPAYMENT-REQUIREDheader holding the amount, asset, network and payee. - Have your wallet sign an EIP-3009
transferWithAuthorizationfor exactly those terms (an x402 client library does this for you). - Repeat the identical request with the signed payload in the
PAYMENT-SIGNATUREheader. - The server verifies, runs the operation, settles, and returns
200with the result and aPAYMENT-RESPONSEheader carrying the settlement receipt.
Read the price without paying
curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"example-build","documentNamespace":"https://example.com/spdx/build-1","creationInfo":{"creators":["Tool: example-builder-1.0"],"created":"2026-10-24T00:00:00Z"}}' --url 'https://market.561.group/v1/assurance/spdx-2-3/schema-check'
This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.
Machine-readable
- /.well-known/x402: x402 discovery document for every offer
- /v1/catalog: full catalog with contracts and examples
- /llms.txt: the market in llms.txt form
- services.561.group: Causeway Services