{"openapi":"3.1.0","info":{"title":"AssetCheck x402 API","version":"0.2.0","description":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build."},"servers":[{"url":"https://assetcheck-agent-economy.miguel-117.workers.dev"}],"paths":{"/v1/check/manifest":{"post":{"operationId":"manifest","summary":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build","description":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build. Submit a complete manifest for PASS/WARN/FAIL release QC.","tags":["asset-validation","game-development","x402"],"x-payment":{"protocol":"x402","priceUsd":"0.001","network":"eip155:8453"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"},"example":{"files":[{"path":"sprites/hero.png","size":4096,"width":64,"height":64,"hash":"sha256:example"},{"path":"sprites/enemy-sheet.png","size":8192,"width":128,"height":64,"hash":"sha256:example-2"}],"options":{"tileWidth":32,"tileHeight":32,"requirePowerOfTwo":false}}}}},"responses":{"200":{"description":"Deterministic AssetCheck receipt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Receipt"}}}},"402":{"description":"x402 payment required"}}}},"/v1/check/asset-pack":{"post":{"operationId":"assetPack","summary":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build","description":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build. Preflight an asset pack before packaging or publishing.","tags":["asset-validation","game-development","x402"],"x-payment":{"protocol":"x402","priceUsd":"0.001","network":"eip155:8453"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"},"example":{"files":[{"path":"sprites/hero.png","size":4096,"width":64,"height":64,"hash":"sha256:example"},{"path":"sprites/enemy-sheet.png","size":8192,"width":128,"height":64,"hash":"sha256:example-2"}],"options":{"tileWidth":32,"tileHeight":32,"requirePowerOfTwo":false}}}}},"responses":{"200":{"description":"Deterministic AssetCheck receipt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Receipt"}}}},"402":{"description":"x402 payment required"}}}},"/v1/check/duplicates":{"post":{"operationId":"duplicates","summary":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build","description":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build. Detect duplicate assets from caller-provided content hashes.","tags":["asset-validation","game-development","x402"],"x-payment":{"protocol":"x402","priceUsd":"0.001","network":"eip155:8453"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"},"example":{"files":[{"path":"sprites/hero.png","size":4096,"width":64,"height":64,"hash":"sha256:example"},{"path":"sprites/enemy-sheet.png","size":8192,"width":128,"height":64,"hash":"sha256:example-2"}],"options":{"tileWidth":32,"tileHeight":32,"requirePowerOfTwo":false}}}}},"responses":{"200":{"description":"Deterministic AssetCheck receipt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Receipt"}}}},"402":{"description":"x402 payment required"}}}},"/v1/check/path-collisions":{"post":{"operationId":"pathCollisions","summary":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build","description":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build. Detect case-insensitive file collisions and unsafe paths.","tags":["asset-validation","game-development","x402"],"x-payment":{"protocol":"x402","priceUsd":"0.001","network":"eip155:8453"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"},"example":{"files":[{"path":"sprites/hero.png","size":4096,"width":64,"height":64,"hash":"sha256:example"},{"path":"sprites/enemy-sheet.png","size":8192,"width":128,"height":64,"hash":"sha256:example-2"}],"options":{"tileWidth":32,"tileHeight":32,"requirePowerOfTwo":false}}}}},"responses":{"200":{"description":"Deterministic AssetCheck receipt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Receipt"}}}},"402":{"description":"x402 payment required"}}}},"/v1/check/sprite-metadata":{"post":{"operationId":"spriteMetadata","summary":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build","description":"Deterministic game asset QC for sprite validation, texture validation, asset pack preflight, release validation, duplicate asset detection, file collision detection, game asset packaging, and generated asset QC before an agent ships a build. Validate sprite dimensions, sheets, grids, and raster metadata.","tags":["asset-validation","game-development","x402"],"x-payment":{"protocol":"x402","priceUsd":"0.001","network":"eip155:8453"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"},"example":{"files":[{"path":"sprites/hero.png","size":4096,"width":64,"height":64,"hash":"sha256:example"},{"path":"sprites/enemy-sheet.png","size":8192,"width":128,"height":64,"hash":"sha256:example-2"}],"options":{"tileWidth":32,"tileHeight":32,"requirePowerOfTwo":false}}}}},"responses":{"200":{"description":"Deterministic AssetCheck receipt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Receipt"}}}},"402":{"description":"x402 payment required"}}}}},"components":{"schemas":{"Manifest":{"type":"object","properties":{"files":{"type":"array","minItems":1,"maxItems":5000,"items":{"type":"object","properties":{"path":{"type":"string","description":"Relative asset path"},"size":{"type":"number","description":"File size in bytes"},"width":{"type":"number","description":"Raster width in pixels when applicable"},"height":{"type":"number","description":"Raster height in pixels when applicable"},"hash":{"type":"string","description":"Optional content hash for duplicate detection"},"decodeError":{"type":"string","description":"Optional decode failure reported by the caller"}},"required":["path"]}},"options":{"type":"object","properties":{"tileWidth":{"type":"number"},"tileHeight":{"type":"number"},"maxDimension":{"type":"number"},"requirePowerOfTwo":{"type":"boolean"}}}},"required":["files"]},"Receipt":{"type":"object","properties":{"schema":{"type":"string","const":"assetcheck.agent.receipt.v1"},"status":{"type":"string","enum":["PASS","WARN","FAIL"]},"summary":{"type":"object"},"issues":{"type":"array","items":{"type":"object"}}},"required":["schema","status","summary","issues"]}}}}