{"x402Version":2,"payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","resources":[{"id":8219,"slug":"8219","resource":"https://print.api.williamrobinson.dev/v1/print/validate","description":"Render a self-contained OpenSCAD model and perform bounded slicer checks","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"maxSizeMm":[220,220,250],"parameters":{"height":12,"width":24},"profile":"fdm-pla-0.4","source":"width = 20; depth = 30; height = 10; cube([width, depth, height]);"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://example.invalid/v1/print/artifacts/token/report.json","mediaType":"application/json","name":"report.json","sha256":"0000000000000000000000000000000000000000000000000000000000000000","sizeBytes":512}],"checks":[{"code":"within_max_size","detail":"Model bounds fit the requested maximum size.","status":"passed"}],"expiresAt":"2026-01-02T03:04:05.000Z","limitations":["Slicer output and geometric checks do not prove physical strength or print success."],"model":{"boundsMm":{"max":[24,30,12],"min":[0,0,0],"size":[24,30,12]},"triangleCount":12,"volumeMm3":8640,"watertight":true},"parametersApplied":{"height":12,"width":24},"profile":"fdm-pla-0.4","recommendations":[],"status":"passed","tools":{"openscad":"OpenSCAD version 2021.01","slicer":"PrusaSlicer 2.6.0"},"warnings":[]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"maxSizeMm":{"default":[220,220,250],"items":{"exclusiveMinimum":0,"maximum":1000,"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"parameters":{"additionalProperties":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"type":"object"},"profile":{"default":"fdm-pla-0.4","enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string"},"source":{"description":"Self-contained OpenSCAD, interpreted in millimetres; maximum 16 KiB UTF-8 before and after overrides. External imports are prohibited.","maxLength":16384,"minLength":1,"type":"string"}},"required":["source"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["model.scad","model.stl","model.gcode","profile.ini","preview.png","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":6,"type":"array"},"checks":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"minLength":1,"type":"string"},"detail":{"maxLength":4096,"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"maxItems":32,"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"model":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"boundsMm":{"additionalProperties":false,"properties":{"max":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"min":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"size":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"}},"required":["min","max","size"],"type":"object"},"triangleCount":{"minimum":0,"type":"integer"},"volumeMm3":{"minimum":0,"type":"number"},"watertight":{"type":"boolean"}},"required":["triangleCount","boundsMm","volumeMm3","watertight"],"type":"object"}]},"parametersApplied":{"additionalProperties":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"type":"object"},"profile":{"enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string"},"recommendations":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"type":"string"},"message":{"maxLength":4096,"type":"string"}},"required":["code","message"],"type":"object"},"maxItems":32,"type":"array"},"status":{"enum":["passed","rejected"],"type":"string"},"tools":{"additionalProperties":false,"properties":{"openscad":{"type":"string"},"slicer":{"type":"string"}},"required":["openscad","slicer"],"type":"object"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"type":"array"}},"required":["status","profile","parametersApplied","tools","model","checks","warnings","recommendations","limitations","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"print.api.williamrobinson.dev","lastUpdated":"2026-09-11T00:11:02.058Z","quality":{"calls30d":5,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T00:11:01.471Z"},"liveness":{},"verified":false,"featured":false},{"id":8220,"slug":"8220","resource":"https://evidence.api.williamrobinson.dev/v1/web/evidence","description":"Retrieve deterministic evidence from a public HTTPS page","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"includeAccessibilityTree":false,"includeLinks":false,"maxChars":5000,"url":"https://example.com/"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"integrity":{"extractionVersion":"chromium-readability-1","sha256":"b6bdcd206468c6a8d071af581b180ce6a96166dddadc59b04acd4ee32a9c2ed3"},"page":{"canonical":null,"language":"en","markdown":"# Example Domain\n\nThis domain is for use in illustrative examples in documents.\n","title":"Example Domain"},"source":{"finalUrl":"https://example.com/","requestedUrl":"https://example.com/","retrievedAt":"2026-01-01T00:00:00.000Z","status":200},"timings":{"extractMs":0,"loadMs":0},"warnings":[]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"includeAccessibilityTree":{"default":false,"type":"boolean"},"includeLinks":{"default":false,"type":"boolean"},"maxChars":{"default":30000,"maximum":30000,"minimum":1,"type":"integer"},"url":{"format":"uri","maxLength":2048,"type":"string"}},"required":["url"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"accessibilityNode":{"additionalProperties":false,"properties":{"children":{"items":{"$ref":"#/properties/output/properties/example/$defs/accessibilityNode"},"type":"array"},"description":{"type":"string"},"level":{"type":"integer"},"name":{"type":"string"},"role":{"type":"string"},"states":{"items":{"type":"string"},"type":"array"},"value":{"type":"string"}},"required":["role"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"integrity":{"additionalProperties":false,"properties":{"extractionVersion":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256","extractionVersion"],"type":"object"},"page":{"additionalProperties":false,"properties":{"accessibilityTree":{"anyOf":[{"$ref":"#/properties/output/properties/example/$defs/accessibilityNode"},{"type":"null"}]},"canonical":{"type":["string","null"]},"language":{"type":["string","null"]},"links":{"items":{"additionalProperties":false,"properties":{"text":{"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","text"],"type":"object"},"maxItems":1000,"type":"array"},"markdown":{"maxLength":30000,"type":"string"},"title":{"type":["string","null"]}},"required":["title","canonical","language","markdown"],"type":"object"},"source":{"additionalProperties":false,"properties":{"finalUrl":{"format":"uri","type":"string"},"requestedUrl":{"format":"uri","type":"string"},"retrievedAt":{"format":"date-time","type":"string"},"status":{"maximum":599,"minimum":100,"type":"integer"}},"required":["requestedUrl","finalUrl","status","retrievedAt"],"type":"object"},"timings":{"additionalProperties":false,"properties":{"extractMs":{"minimum":0,"type":"integer"},"loadMs":{"minimum":0,"type":"integer"}},"required":["loadMs","extractMs"],"type":"object"},"warnings":{"items":{"type":"string"},"maxItems":32,"type":"array"}},"required":["source","page","integrity","timings","warnings"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"evidence.api.williamrobinson.dev","lastUpdated":"2026-09-11T00:10:58.748Z","quality":{"calls30d":5,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T00:10:58.095Z"},"liveness":{},"verified":false,"featured":false},{"id":8218,"slug":"8218","resource":"https://sheets.api.williamrobinson.dev/v1/sheets/modify","description":"Apply cell and named-range edits to an .xlsx, recalculate it with a real spreadsheet engine, and return the modified workbook alongside a dependency-impact, error, stale-cache, unsupported-function, and invariant audit","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"edits":[{"target":{"cell":"B2","sheet":"Model"},"value":0.08},{"formula":"=B3-B4","target":{"cell":"B5","sheet":"Model"}}],"invariants":[{"id":"revenue-meets-target","kind":"equals","left":{"cell":"B3","sheet":"Model"},"right":{"cell":"B4","sheet":"Model"},"tolerance":0.01}],"watch":[{"cell":"B5","sheet":"Model"}],"workbook":"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"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://sheets.api.williamrobinson.dev/v1/sheets/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/modified.xlsx","mediaType":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","name":"modified.xlsx","sha256":"3aa67f14cafe1cb644e374eacb86537e08949d8a3dd23f620d58c0536521d00a","sizeBytes":5380},{"href":"https://sheets.api.williamrobinson.dev/v1/sheets/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"567adee51e080c135f54670735b19c8624276d9b08465db1d76a2dd2e12b024a","sizeBytes":1969}],"edits":[{"after":{"cell":"B2","sheet":"Model","value":0.08},"before":{"cell":"B2","sheet":"Model","value":0.05},"resolved":{"cell":"B2","sheet":"Model"},"target":{"cell":"B2","sheet":"Model"}},{"after":{"cell":"B5","formula":"=B3-B4","sheet":"Model","value":0},"before":{"cell":"B5","sheet":"Model","value":null},"resolved":{"cell":"B5","sheet":"Model"},"target":{"cell":"B5","sheet":"Model"}}],"errors":{"afterCount":0,"beforeCount":0,"introduced":[],"resolved":[]},"expiresAt":"2026-01-04T03:04:05.000Z","impact":{"changed":[{"after":{"value":1080},"before":{"value":1050},"cell":"B3","formula":"=B1*(1+B2)","sheet":"Model"}],"changedCount":1},"invariants":[{"detail":"|1080.0 - 1080.0| = 0.0 <= 0.01","id":"revenue-meets-target","observed":{"left":1080,"right":1080},"status":"passed"}],"limitations":["Dates are reported as their underlying serial number; no calendar conversion is performed.","Boolean results are only reported as true booleans for cells LibreOffice Calc marks with its native boolean format (TRUE()/FALSE()); other formulas that evaluate to a logical result (for example comparison formulas) are reported as 0/1 numbers.","VBA macros are never executed and are dropped from the output workbook.","External links are never refreshed; the worker container has no network access.","Functions LibreOffice Calc does not implement (for example LAMBDA) surface as #NAME? errors and are listed under unsupportedFunctions."],"staleCache":{"checked":true,"mismatchCount":0,"mismatches":[]},"status":"passed","tools":{"calc":"LibreOffice 26.8.0"},"truncated":false,"unsupportedFunctions":[],"warnings":[],"watch":[{"cell":"B5","formula":"=B3-B4","sheet":"Model","value":0}],"workbook":{"externalLinks":[],"formulaCells":1,"hasMacros":false,"namedRanges":[],"sheets":["Model"]}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$defs":{"ref":{"additionalProperties":false,"properties":{"cell":{"description":"A1-style cell reference. This pattern is a superset of the real Calc grid; the API additionally enforces columns A-XFD (1-16384) and rows 1-1048576, which a regex alone cannot express.","pattern":"^[A-Z]{1,3}[1-9][0-9]{0,6}$","type":"string"},"sheet":{"maxLength":31,"minLength":1,"pattern":"^[^\\[\\]:*?/\\\\]{1,31}$","type":"string"}},"required":["sheet","cell"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"edits":{"default":[],"items":{"additionalProperties":false,"oneOf":[{"properties":{"value":true},"required":["value"]},{"properties":{"formula":true},"required":["formula"]}],"properties":{"formula":{"description":"Excel A1 syntax, e.g. \"=SUM(Model!B2:B9)\".","maxLength":8192,"pattern":"^=","type":"string"},"target":{"oneOf":[{"additionalProperties":false,"properties":{"cell":{"description":"A1-style cell reference. This pattern is a superset of the real Calc grid; the API additionally enforces columns A-XFD (1-16384) and rows 1-1048576, which a regex alone cannot express.","pattern":"^[A-Z]{1,3}[1-9][0-9]{0,6}$","type":"string"},"sheet":{"maxLength":31,"minLength":1,"pattern":"^[^\\[\\]:*?/\\\\]{1,31}$","type":"string"}},"required":["sheet","cell"],"type":"object"},{"additionalProperties":false,"properties":{"name":{"pattern":"^[A-Za-z_\\\\][A-Za-z0-9_.]{0,254}$","type":"string"}},"required":["name"],"type":"object"}]},"value":{"anyOf":[{"type":"number"},{"maxLength":32768,"type":"string"},{"type":"boolean"},{"type":"null"}]}},"required":["target"],"type":"object"},"maxItems":200,"type":"array"},"invariants":{"default":[],"items":{"oneOf":[{"additionalProperties":false,"properties":{"id":{"pattern":"^[A-Za-z0-9_-]{1,64}$","type":"string"},"kind":{"const":"equals"},"left":{"$ref":"#/properties/input/properties/body/$defs/ref"},"right":{"$ref":"#/properties/input/properties/body/$defs/ref"},"tolerance":{"minimum":0,"type":"number"}},"required":["id","kind","left","right","tolerance"],"type":"object"},{"additionalProperties":false,"properties":{"cell":{"$ref":"#/properties/input/properties/body/$defs/ref"},"id":{"pattern":"^[A-Za-z0-9_-]{1,64}$","type":"string"},"kind":{"const":"range"},"max":{"type":"number"},"min":{"type":"number"}},"required":["id","kind","cell"],"type":"object"}]},"maxItems":50,"type":"array"},"watch":{"default":[],"items":{"$ref":"#/properties/input/properties/body/$defs/ref"},"maxItems":200,"type":"array"},"workbook":{"description":"Base64 .xlsx (OOXML zip), decoded size at most 2097152 bytes. Macros are never executed; external links are never refreshed.","maxLength":2796204,"minLength":4,"pattern":"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$","type":"string"}},"required":["workbook"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"change":{"additionalProperties":false,"properties":{"after":{"additionalProperties":false,"properties":{"error":{"$ref":"#/properties/output/properties/example/$defs/error"},"value":{"$ref":"#/properties/output/properties/example/$defs/scalar"}},"required":["value"],"type":"object"},"before":{"additionalProperties":false,"properties":{"error":{"$ref":"#/properties/output/properties/example/$defs/error"},"value":{"$ref":"#/properties/output/properties/example/$defs/scalar"}},"required":["value"],"type":"object"},"cell":{"type":"string"},"formula":{"type":"string"},"sheet":{"type":"string"}},"required":["sheet","cell","before","after"],"type":"object"},"error":{"anyOf":[{"enum":["#DIV/0!","#NAME?","#REF!","#VALUE!","#N/A","#NUM!","#NULL!"],"type":"string"},{"pattern":"^Err:[0-9]+$","type":"string"}]},"ref":{"additionalProperties":false,"properties":{"cell":{"description":"A1-style cell reference. This pattern is a superset of the real Calc grid; the API additionally enforces columns A-XFD (1-16384) and rows 1-1048576, which a regex alone cannot express.","pattern":"^[A-Z]{1,3}[1-9][0-9]{0,6}$","type":"string"},"sheet":{"maxLength":31,"minLength":1,"pattern":"^[^\\[\\]:*?/\\\\]{1,31}$","type":"string"}},"required":["sheet","cell"],"type":"object"},"scalar":{"anyOf":[{"type":"number"},{"maxLength":32768,"type":"string"},{"type":"boolean"},{"type":"null"}]},"snapshot":{"additionalProperties":false,"properties":{"cell":{"type":"string"},"error":{"$ref":"#/properties/output/properties/example/$defs/error"},"formula":{"type":"string"},"sheet":{"type":"string"},"value":{"$ref":"#/properties/output/properties/example/$defs/scalar"}},"required":["sheet","cell","value"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["modified.xlsx","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":2,"type":"array"},"edits":{"items":{"additionalProperties":false,"properties":{"after":{"$ref":"#/properties/output/properties/example/$defs/snapshot"},"before":{"$ref":"#/properties/output/properties/example/$defs/snapshot"},"resolved":{"$ref":"#/properties/output/properties/example/$defs/ref"},"target":{"oneOf":[{"additionalProperties":false,"properties":{"cell":{"description":"A1-style cell reference. This pattern is a superset of the real Calc grid; the API additionally enforces columns A-XFD (1-16384) and rows 1-1048576, which a regex alone cannot express.","pattern":"^[A-Z]{1,3}[1-9][0-9]{0,6}$","type":"string"},"sheet":{"maxLength":31,"minLength":1,"pattern":"^[^\\[\\]:*?/\\\\]{1,31}$","type":"string"}},"required":["sheet","cell"],"type":"object"},{"additionalProperties":false,"properties":{"name":{"pattern":"^[A-Za-z_\\\\][A-Za-z0-9_.]{0,254}$","type":"string"}},"required":["name"],"type":"object"}]}},"required":["target","resolved","before","after"],"type":"object"},"maxItems":200,"type":"array"},"errors":{"additionalProperties":false,"properties":{"afterCount":{"minimum":0,"type":"integer"},"beforeCount":{"minimum":0,"type":"integer"},"introduced":{"items":{"$ref":"#/properties/output/properties/example/$defs/snapshot"},"maxItems":100,"type":"array"},"resolved":{"items":{"$ref":"#/properties/output/properties/example/$defs/snapshot"},"maxItems":100,"type":"array"}},"required":["beforeCount","afterCount","introduced","resolved"],"type":"object"},"expiresAt":{"format":"date-time","type":"string"},"impact":{"additionalProperties":false,"properties":{"changed":{"items":{"$ref":"#/properties/output/properties/example/$defs/change"},"maxItems":100,"type":"array"},"changedCount":{"minimum":0,"type":"integer"}},"required":["changedCount","changed"],"type":"object"},"invariants":{"items":{"additionalProperties":false,"properties":{"detail":{"maxLength":4096,"type":"string"},"id":{"pattern":"^[A-Za-z0-9_-]{1,64}$","type":"string"},"observed":{"additionalProperties":{"$ref":"#/properties/output/properties/example/$defs/scalar"},"type":"object"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["id","status","detail"],"type":"object"},"maxItems":50,"type":"array"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"staleCache":{"additionalProperties":false,"properties":{"checked":{"type":"boolean"},"mismatchCount":{"minimum":0,"type":"integer"},"mismatches":{"items":{"$ref":"#/properties/output/properties/example/$defs/change"},"maxItems":100,"type":"array"}},"required":["checked","mismatchCount","mismatches"],"type":"object"},"status":{"enum":["passed","failed"],"type":"string"},"tools":{"additionalProperties":false,"properties":{"calc":{"type":"string"}},"required":["calc"],"type":"object"},"truncated":{"type":"boolean"},"unsupportedFunctions":{"items":{"additionalProperties":false,"properties":{"cells":{"items":{"$ref":"#/properties/output/properties/example/$defs/ref"},"type":"array"},"name":{"type":"string"}},"required":["name","cells"],"type":"object"},"maxItems":100,"type":"array"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"type":"array"},"watch":{"items":{"$ref":"#/properties/output/properties/example/$defs/snapshot"},"maxItems":200,"type":"array"},"workbook":{"additionalProperties":false,"properties":{"externalLinks":{"items":{"type":"string"},"type":"array"},"formulaCells":{"minimum":0,"type":"integer"},"hasMacros":{"type":"boolean"},"namedRanges":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"refersTo":{"type":"string"}},"required":["name","refersTo"],"type":"object"},"type":"array"},"sheets":{"items":{"type":"string"},"type":"array"}},"required":["sheets","formulaCells","namedRanges","hasMacros","externalLinks"],"type":"object"}},"required":["status","tools","workbook","staleCache","edits","impact","errors","unsupportedFunctions","invariants","watch","warnings","limitations","truncated","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"sheets.api.williamrobinson.dev","lastUpdated":"2026-09-11T00:11:06.387Z","quality":{"calls30d":3,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T00:11:05.855Z"},"liveness":{},"verified":false,"featured":false},{"id":8217,"slug":"8217","resource":"https://pack.api.williamrobinson.dev/v1/pack/plan","description":"Plan a validated 3D carton packing arrangement for a set of items into one or more carton types, and return per-carton placements, a packing sequence, actual/dimensional/billable weight, a utilization and support/containment audit, and downloadable artifacts (a packing list, the full JSON report, and an SVG/PNG preview)","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"cartons":[{"available":10,"cost":0.9,"id":"small-box","innerDimensions":[30,22,18],"label":"Small shipping box","maxWeight":10,"tareWeight":0.3},{"available":6,"cost":1.6,"id":"medium-box","innerDimensions":[32,24,18],"label":"Medium shipping box","maxWeight":20,"tareWeight":0.6}],"dimensionalDivisor":5000,"items":[{"dimensions":[24,16,4],"fragile":false,"id":"book-hardcover","label":"Hardcover book","quantity":4,"rotation":"any","weight":0.9},{"dimensions":[12,9,9],"fragile":true,"id":"ceramic-mug","label":"Ceramic mug","maxLoad":0.5,"quantity":6,"rotation":"upright","weight":0.35},{"dimensions":[16,8,2],"fragile":false,"group":"accessories","id":"phone-case","label":"Phone case","quantity":12,"rotation":"any","weight":0.08}],"objective":"fewest-cartons","units":{"length":"cm","weight":"kg"}},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://pack.api.williamrobinson.dev/v1/pack/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/packing.json","mediaType":"application/json","name":"packing.json","sha256":"9aa3b44351258c944cb058f841c09472e7cc42a98680aee5143e7364bd3574f0","sizeBytes":13262},{"href":"https://pack.api.williamrobinson.dev/v1/pack/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/packing-list.csv","mediaType":"text/csv; charset=utf-8","name":"packing-list.csv","sha256":"7b6c12248cb09a3ed2686df7a51ee9b0d9230c2408fa54f52ab6aae38dd9e1c9","sizeBytes":1350},{"href":"https://pack.api.williamrobinson.dev/v1/pack/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/preview.svg","mediaType":"image/svg+xml","name":"preview.svg","sha256":"02ccb2861525080545ac832126de2caafd76602889adc84ae2461c3e6856d362","sizeBytes":13630},{"href":"https://pack.api.williamrobinson.dev/v1/pack/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/preview.png","mediaType":"image/png","name":"preview.png","sha256":"23ec4b3ae13740d31f17e13ff20b32dce5907cc8f0ba8802a1b3b8b19e0265d3","sizeBytes":124475}],"cartons":[{"actualWeight":4.7,"billableWeight":4.7,"cartonId":"medium-box","checks":[{"code":"containment","detail":"Every placement's origin and size stays within the carton's inner dimensions.","status":"passed"},{"code":"no_overlap","detail":"No two placements in this carton occupy overlapping volume.","status":"passed"},{"code":"support","detail":"Every placement meets the 0.6 minimum support ratio.","status":"passed"},{"code":"fragile_on_top","detail":"No placement rests on a fragile item.","status":"passed"},{"code":"carton_weight","detail":"Total contents weight is within the carton's maximum.","status":"passed"},{"code":"max_load","detail":"No placement carries more weight above it than its declared maxLoad.","status":"passed"},{"code":"dimensional_weight_computed","detail":"Dimensional and billable weight match volume/divisor and max(actual, dimensional).","status":"passed"},{"code":"carton_identity","detail":"Reported carton innerDimensions match the referenced carton type.","status":"passed"},{"code":"orientation","detail":"Every placement's size and orientation match the item's dimensions and rotation policy.","status":"passed"},{"code":"support_ratio_reported","detail":"Every placement's reported supportRatio matches the recomputed value.","status":"passed"}],"contentsWeight":4.1,"dimensionalWeight":2.7648,"id":"C1","innerDimensions":[32,24,18],"placements":[{"itemId":"book-hardcover","orientation":0,"origin":[0,0,0],"size":[24,16,4],"step":1,"supportRatio":1,"unit":2},{"itemId":"book-hardcover","orientation":5,"origin":[24,0,0],"size":[4,24,16],"step":2,"supportRatio":1,"unit":0},{"itemId":"book-hardcover","orientation":5,"origin":[28,0,0],"size":[4,24,16],"step":3,"supportRatio":1,"unit":1},{"itemId":"ceramic-mug","orientation":0,"origin":[0,0,4],"size":[12,9,9],"step":4,"supportRatio":1,"unit":2},{"itemId":"ceramic-mug","orientation":0,"origin":[12,0,4],"size":[12,9,9],"step":5,"supportRatio":1,"unit":4},{"itemId":"ceramic-mug","orientation":0,"origin":[0,9,4],"size":[12,9,9],"step":6,"supportRatio":0.777778,"unit":0},{"itemId":"ceramic-mug","orientation":0,"origin":[12,9,4],"size":[12,9,9],"step":7,"supportRatio":0.777778,"unit":1}],"volumeUtilization":0.614583},{"actualWeight":3.16,"billableWeight":3.16,"cartonId":"medium-box","checks":[{"code":"containment","detail":"Every placement's origin and size stays within the carton's inner dimensions.","status":"passed"},{"code":"no_overlap","detail":"No two placements in this carton occupy overlapping volume.","status":"passed"},{"code":"support","detail":"Every placement meets the 0.6 minimum support ratio.","status":"passed"},{"code":"fragile_on_top","detail":"No placement rests on a fragile item.","status":"passed"},{"code":"carton_weight","detail":"Total contents weight is within the carton's maximum.","status":"passed"},{"code":"max_load","detail":"No placement carries more weight above it than its declared maxLoad.","status":"passed"},{"code":"dimensional_weight_computed","detail":"Dimensional and billable weight match volume/divisor and max(actual, dimensional).","status":"passed"},{"code":"carton_identity","detail":"Reported carton innerDimensions match the referenced carton type.","status":"passed"},{"code":"orientation","detail":"Every placement's size and orientation match the item's dimensions and rotation policy.","status":"passed"},{"code":"support_ratio_reported","detail":"Every placement's reported supportRatio matches the recomputed value.","status":"passed"}],"contentsWeight":2.56,"dimensionalWeight":2.7648,"id":"C2","innerDimensions":[32,24,18],"placements":[{"itemId":"book-hardcover","orientation":0,"origin":[0,0,0],"size":[24,16,4],"step":8,"supportRatio":1,"unit":3},{"itemId":"phone-case","orientation":1,"origin":[24,0,0],"size":[8,16,2],"step":9,"supportRatio":1,"unit":0},{"itemId":"phone-case","orientation":0,"origin":[0,16,0],"size":[16,8,2],"step":10,"supportRatio":1,"unit":1},{"itemId":"phone-case","orientation":0,"origin":[16,16,0],"size":[16,8,2],"step":11,"supportRatio":1,"unit":2},{"itemId":"phone-case","orientation":1,"origin":[24,0,2],"size":[8,16,2],"step":12,"supportRatio":1,"unit":3},{"itemId":"phone-case","orientation":0,"origin":[0,16,2],"size":[16,8,2],"step":13,"supportRatio":1,"unit":4},{"itemId":"phone-case","orientation":0,"origin":[16,16,2],"size":[16,8,2],"step":14,"supportRatio":1,"unit":5},{"itemId":"phone-case","orientation":0,"origin":[0,0,4],"size":[16,8,2],"step":15,"supportRatio":1,"unit":6},{"itemId":"phone-case","orientation":0,"origin":[16,0,4],"size":[16,8,2],"step":16,"supportRatio":1,"unit":7},{"itemId":"phone-case","orientation":0,"origin":[0,8,4],"size":[16,8,2],"step":17,"supportRatio":1,"unit":8},{"itemId":"phone-case","orientation":0,"origin":[16,8,4],"size":[16,8,2],"step":18,"supportRatio":1,"unit":9},{"itemId":"phone-case","orientation":0,"origin":[0,16,4],"size":[16,8,2],"step":19,"supportRatio":1,"unit":10},{"itemId":"phone-case","orientation":0,"origin":[16,16,4],"size":[16,8,2],"step":20,"supportRatio":1,"unit":11},{"itemId":"ceramic-mug","orientation":0,"origin":[0,0,6],"size":[12,9,9],"step":21,"supportRatio":1,"unit":5},{"itemId":"ceramic-mug","orientation":0,"origin":[12,0,6],"size":[12,9,9],"step":22,"supportRatio":1,"unit":3}],"volumeUtilization":0.473958}],"checks":[{"code":"units_accounted","detail":"Every requested unit is accounted for as packed or unpacked.","status":"passed"},{"code":"group_colocated","detail":"Every group's units share a single carton or are entirely unpacked.","status":"passed"},{"code":"no_duplicate_units","detail":"No (item, unit) pair is placed more than once.","status":"passed"},{"code":"carton_supply","detail":"Cartons used stay within each type's available supply and the job cap.","status":"passed"}],"expiresAt":"2026-01-04T03:04:05.000Z","limitations":["Packing assumes rigid, axis-aligned rectangular items and cartons; irregular shapes, cushioning, dunnage, and pallets are not modeled.","Support and load-bearing checks use a simplified base-area-overlap and weight-propagation model, not a physics simulation; shifting in transit and dynamic loads are not modeled.","No carrier rate tables, zone pricing, or multi-drop sequencing are applied; the dimensional divisor is the only volumetric-weight input.","The arrangement returned is the best validated arrangement this solver found within its restart budget, not a proven optimum.","Geometry is computed on an internal 0.1 mm / 1 g working grid (dimensions and weights round half up to that grid); a positive value below the grid is rejected rather than silently rounded to zero, and per-axis rounding of up to 0.05 mm can accumulate across a long run of items.","Dimensional weight is computed from each carton's declared usable interior, not its exterior dimensions, so a carrier billing on exterior size may charge slightly more than reported here."],"recommendations":[],"status":"passed","summary":{"averageUtilization":0.5442705,"cartonsUsed":2,"totalActualWeight":7.86,"totalBillableWeight":7.86,"totalCost":3.2,"unitsPacked":22,"unitsRequested":22},"tools":{"solver":"pack-solver/1.0"},"truncated":false,"units":{"length":"cm","weight":"kg"},"unpacked":[],"warnings":[]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$defs":{"dimensions3":{"description":"[length, width, height] in the request's length unit; each value is positive and at most the equivalent of 10 m.","items":{"exclusiveMinimum":0,"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"rotation":{"enum":["any","upright","none"],"type":"string"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"cartons":{"items":{"additionalProperties":false,"properties":{"available":{"minimum":1,"type":"integer"},"cost":{"minimum":0,"type":"number"},"id":{"pattern":"^[A-Za-z0-9_.:-]{1,64}$","type":"string"},"innerDimensions":{"$ref":"#/properties/input/properties/body/$defs/dimensions3"},"label":{"maxLength":120,"minLength":1,"type":"string"},"maxWeight":{"description":"In the request's weight unit. The gram-equivalent (value converted via units.weight) must not exceed 1000000000 g (~1000 t); enforced exactly server-side.","exclusiveMinimum":0,"maximum":1000000000,"type":"number"},"tareWeight":{"description":"In the request's weight unit. The gram-equivalent (value converted via units.weight) must not exceed 1000000000 g (~1000 t); enforced exactly server-side.","maximum":1000000000,"minimum":0,"type":"number"}},"required":["id","innerDimensions","maxWeight"],"type":"object"},"maxItems":20,"minItems":1,"type":"array"},"dimensionalDivisor":{"default":5000,"description":"Volumetric divisor in cm^3/kg (5000 = UPS/FedEx/USPS/DHL as of 2026).","maximum":20000,"minimum":1000,"type":"number"},"items":{"items":{"additionalProperties":false,"properties":{"dimensions":{"$ref":"#/properties/input/properties/body/$defs/dimensions3"},"fragile":{"type":"boolean"},"group":{"pattern":"^[A-Za-z0-9_.:-]{1,64}$","type":"string"},"id":{"pattern":"^[A-Za-z0-9_.:-]{1,64}$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"maxLoad":{"description":"In the request's weight unit. The gram-equivalent (value converted via units.weight) must not exceed 1000000000 g (~1000 t); enforced exactly server-side.","maximum":1000000000,"minimum":0,"type":"number"},"quantity":{"maximum":500,"minimum":1,"type":"integer"},"rotation":{"$ref":"#/properties/input/properties/body/$defs/rotation"},"weight":{"description":"In the request's weight unit. The gram-equivalent (value converted via units.weight) must not exceed 1000000000 g (~1000 t); enforced exactly server-side.","maximum":1000000000,"minimum":0,"type":"number"}},"required":["id","dimensions","weight","quantity"],"type":"object"},"maxItems":200,"minItems":1,"type":"array"},"objective":{"default":"fewest-cartons","enum":["fewest-cartons","lowest-billable-weight","lowest-cost"],"type":"string"},"units":{"additionalProperties":false,"properties":{"length":{"enum":["mm","cm","in"],"type":"string"},"weight":{"enum":["g","kg","oz","lb"],"type":"string"}},"required":["length","weight"],"type":"object"}},"required":["units","items","cartons"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"check":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"maxLength":2048,"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"dimensions3":{"description":"[length, width, height] in the request's length unit; each value is positive and at most the equivalent of 10 m.","items":{"exclusiveMinimum":0,"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"placement":{"additionalProperties":false,"properties":{"itemId":{"type":"string"},"orientation":{"maximum":5,"minimum":0,"type":"integer"},"origin":{"$ref":"#/properties/output/properties/example/$defs/point3"},"size":{"$ref":"#/properties/output/properties/example/$defs/dimensions3"},"step":{"minimum":1,"type":"integer"},"supportRatio":{"maximum":1,"minimum":0,"type":"number"},"unit":{"minimum":0,"type":"integer"}},"required":["itemId","unit","step","origin","size","orientation","supportRatio"],"type":"object"},"point3":{"description":"[x, y, z] min-corner coordinates in the request's length unit, relative to the carton's inner floor corner.","items":{"minimum":0,"type":"number"},"maxItems":3,"minItems":3,"type":"array"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["packing.json","packing-list.csv","preview.svg","preview.png"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":4,"type":"array"},"cartons":{"items":{"additionalProperties":false,"properties":{"actualWeight":{"minimum":0,"type":"number"},"billableWeight":{"minimum":0,"type":"number"},"cartonId":{"type":"string"},"checks":{"items":{"$ref":"#/properties/output/properties/example/$defs/check"},"type":"array"},"contentsWeight":{"minimum":0,"type":"number"},"dimensionalWeight":{"minimum":0,"type":"number"},"id":{"type":"string"},"innerDimensions":{"$ref":"#/properties/output/properties/example/$defs/dimensions3"},"placements":{"items":{"$ref":"#/properties/output/properties/example/$defs/placement"},"maxItems":100,"type":"array"},"volumeUtilization":{"maximum":1,"minimum":0,"type":"number"}},"required":["id","cartonId","innerDimensions","placements","contentsWeight","actualWeight","dimensionalWeight","billableWeight","volumeUtilization","checks"],"type":"object"},"maxItems":100,"type":"array"},"checks":{"items":{"$ref":"#/properties/output/properties/example/$defs/check"},"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"recommendations":{"items":{"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"maxLength":2048,"type":"string"}},"required":["code","message"],"type":"object"},"maxItems":100,"type":"array"},"status":{"enum":["passed","failed"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"averageUtilization":{"maximum":1,"minimum":0,"type":"number"},"cartonsUsed":{"minimum":0,"type":"integer"},"totalActualWeight":{"minimum":0,"type":"number"},"totalBillableWeight":{"minimum":0,"type":"number"},"totalCost":{"minimum":0,"type":"number"},"unitsPacked":{"minimum":0,"type":"integer"},"unitsRequested":{"minimum":0,"type":"integer"}},"required":["unitsRequested","unitsPacked","cartonsUsed","totalActualWeight","totalBillableWeight","totalCost","averageUtilization"],"type":"object"},"tools":{"additionalProperties":false,"properties":{"solver":{"type":"string"}},"required":["solver"],"type":"object"},"truncated":{"type":"boolean"},"units":{"additionalProperties":false,"properties":{"length":{"enum":["mm","cm","in"],"type":"string"},"weight":{"enum":["g","kg","oz","lb"],"type":"string"}},"required":["length","weight"],"type":"object"},"unpacked":{"items":{"additionalProperties":false,"properties":{"itemId":{"type":"string"},"reason":{"maxLength":2048,"type":"string"},"units":{"minimum":1,"type":"integer"}},"required":["itemId","units","reason"],"type":"object"},"maxItems":100,"type":"array"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":100,"type":"array"}},"required":["status","tools","units","summary","cartons","unpacked","checks","warnings","recommendations","limitations","truncated","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"pack.api.williamrobinson.dev","lastUpdated":"2026-09-11T00:11:08.66Z","quality":{"calls30d":2,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T00:11:08.07Z"},"liveness":{},"verified":false,"featured":false},{"id":8199,"slug":"8199","resource":"https://label.api.williamrobinson.dev/v1/label/compile","description":"Compile a structured product-label spec (dimensions, EU FIC or US FDA ruleset, ingredients/allergens, nutrition, GS1 barcode, brand style) into a deterministic print-ready PDF with trim/bleed/safe boxes and embedded fonts, an SVG proof, a dieline, and a report auditing x-height legibility, allergen emphasis, nutrition order, and barcode check digits/quiet zones. Not a legal review of packaging compliance.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"150000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"barcode":{"data":"5901234123457","humanReadable":true,"symbology":"ean13"},"format":{"bleedMm":2,"cornerRadiusMm":3,"heightMm":60,"safeMm":2,"widthMm":100},"ingredients":[{"allergen":true,"text":"Wheat flour"},{"allergen":false,"text":"Sunflower oil"},{"allergen":false,"text":"Sourdough culture"},{"allergen":false,"text":"Sea salt"},{"allergen":true,"text":"Sesame seeds"}],"nutrition":{"basis":"100g","carbohydrateG":68.5,"energyKcal":442,"energyKj":1850,"fatG":14.2,"fibreG":3.4,"proteinG":10.6,"saltG":1.2,"saturatesG":1.8,"sugarsG":2.1},"product":{"brand":"Stonebake","business":{"address":"14 Mill Lane, Bristol BS1 4ST, United Kingdom","name":"Stonebake Bakery Ltd"},"dateLine":"Best before: see lid","description":"Crisp sourdough crackers baked with stone-milled wheat flour.","name":"Stonebake Sourdough Crackers","netQuantity":{"unit":"g","value":150},"origin":"Baked in Italy","storage":"Store in a cool, dry place. Reseal after opening."},"ruleset":"eu-fic","style":{"accent":{"rgb":"#8a3b12"},"background":{"rgb":"#ffffff"},"fontFamily":"liberation-sans","text":{"rgb":"#000000"}},"warnings":["May contain traces of milk."]},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"allergens":{"detectedUnmarked":[],"marked":["Wheat flour","Sesame seeds"]},"artifacts":[{"href":"https://label.api.williamrobinson.dev/v1/label/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/label.pdf","mediaType":"application/pdf","name":"label.pdf","sha256":"20361c4fe6d39dfdc1c9dc7af8b44ef2022c178a6934170fda56863dbc642d45","sizeBytes":23309},{"href":"https://label.api.williamrobinson.dev/v1/label/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/label.svg","mediaType":"image/svg+xml","name":"label.svg","sha256":"b664f2085d9bbb0da3438681f726fd2e168cf9bc29fb8e4d5848890fdfdc5eaa","sizeBytes":5472},{"href":"https://label.api.williamrobinson.dev/v1/label/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/proof.png","mediaType":"image/png","name":"proof.png","sha256":"18debfc496d9ea19cb5b0455faf7524c88884b28d161f4b33396640c1ba17e0b","sizeBytes":154380},{"href":"https://label.api.williamrobinson.dev/v1/label/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/dieline.svg","mediaType":"image/svg+xml","name":"dieline.svg","sha256":"d36b7424a763ec866f7f71eabbf6205e0949794ba8bc6a14fb3bc1e15a7ef44c","sizeBytes":609},{"href":"https://label.api.williamrobinson.dev/v1/label/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"7c1f3db881e8538063b3925a7c5066db13f26aa0c77a06dfff5c1eaf421d7ebc","sizeBytes":8226}],"barcode":{"checkDigitValid":true,"data":"5901234123457","heightMm":22.400000000000002,"magnification":0.8753016894609815,"moduleMm":0.28884955752212393,"quietZoneLeftMm":3.1773451327433633,"quietZoneRightMm":2.0219469026548675,"symbology":"ean13","truncated":true,"widthMm":32.64},"checks":[{"code":"RULESET_SUPPORTED","detail":"\"eu-fic\" is a supported ruleset","status":"passed"},{"code":"MANDATORY_BLOCKS","detail":"Every mandatory particular for \"eu-fic\" is present: product name, net quantity, business name/address, date line","status":"passed"},{"code":"ALLERGEN_EMPHASIS","detail":"Every allergen keyword match in the ingredient list is marked allergen: true","status":"passed"},{"code":"NUTRITION_ORDER","detail":"Nutrition rendered in the eu-fic declaration order: energy, fat, saturates, carbohydrate, sugars, fibre, protein, salt","status":"passed"},{"code":"LOGO_VALID","detail":"No logo was supplied","status":"not_checked"},{"code":"TEXT_FITS","detail":"All mandatory text fits within the safe area at or above the legal minimum text size, with no line wider than its column","status":"passed"},{"code":"MIN_X_HEIGHT","detail":"Every mandatory text box meets or exceeds its 0.9 mm x-height floor","status":"passed"},{"code":"SAFE_ZONE","detail":"Every drawn element, including ink extents and the barcode column, stays within the 2 mm safe zone","status":"passed"},{"code":"NUTRITION_FORMAT","detail":"Nutrition declared in tabular format with the values aligned (FIC Art. 34(2))","status":"passed"},{"code":"NET_QUANTITY_PLACEMENT","detail":"Only enforced under us-fda (21 CFR 101.105(f))","status":"not_checked"},{"code":"BARCODE_VALID","detail":"Check digit valid for \"5901234123457\"","status":"passed"},{"code":"BARCODE_MAGNIFICATION","detail":"Magnification 0.88x","status":"passed"},{"code":"BARCODE_QUIET_ZONE","detail":"Quiet zones drawn: 3.18 mm left, 2.02 mm right","status":"passed"},{"code":"QR_MODULE_SIZE","detail":"Only applies to 2D symbologies","status":"not_checked"},{"code":"CONTRAST","detail":"Contrast ratio 7.73:1 meets the 4.5:1 target","status":"passed"},{"code":"GLYPH_COVERAGE","detail":"Every character is covered by liberation-sans","status":"passed"},{"code":"FONTS_EMBEDDED","detail":"2 embedded TrueType font program(s) found (regular + bold)","status":"passed"},{"code":"PDF_BOXES","detail":"TrimBox and BleedBox are present in the generated PDF","status":"passed"}],"contrast":{"accentOnBackground":7.73487762982462,"textOnBackground":21},"expiresAt":"2026-09-13T17:27:50.368Z","fonts":{"bold":"LiberationSans-Bold.ttf","family":"liberation-sans","regular":"LiberationSans-Regular.ttf"},"format":{"areaCm2":60,"bleedMm":2,"cornerRadiusMm":3,"heightMm":60,"safeMm":2,"smallPack":true,"widthMm":100},"layout":[{"block":"header.brand","bold":true,"fontSizePt":7.5,"heightMm":2.955891927083333,"lines":1,"widthMm":96,"xHeightMm":1.3978474934895833,"xMm":4,"yMm":4},{"block":"header.name","bold":true,"fontSizePt":12.5,"heightMm":4.926486545138888,"lines":1,"widthMm":96,"xHeightMm":2.329745822482639,"xMm":4,"yMm":7.255891927083333},{"block":"header.description","bold":false,"fontSizePt":6.5,"heightMm":2.561773003472222,"lines":1,"widthMm":96,"xHeightMm":1.211467827690972,"xMm":4,"yMm":12.482378472222223},{"block":"body.ingredients","bold":false,"fontSizePt":6.5,"heightMm":4.969481336805556,"lines":2,"widthMm":59.56959149810366,"xHeightMm":1.211467827690972,"xMm":4,"yMm":16.344151475694446},{"block":"body.nutrition","bold":false,"fontSizePt":6.5,"heightMm":21.82343967013889,"lines":9,"widthMm":59.56959149810366,"xHeightMm":1.211467827690972,"xMm":4,"yMm":21.613632812500004},{"block":"body.nutrition.values","bold":false,"fontSizePt":6.5,"heightMm":21.82343967013889,"lines":9,"widthMm":59.56959149810366,"xHeightMm":1.211467827690972,"xMm":4,"yMm":21.613632812500004},{"block":"footer.netQuantity","bold":true,"fontSizePt":5.5,"heightMm":2.167654079861111,"lines":1,"widthMm":59.56959149810366,"xHeightMm":1.025088161892361,"xMm":4,"yMm":44.737072482638894},{"block":"footer.storage","bold":false,"fontSizePt":5.5,"heightMm":2.167654079861111,"lines":1,"widthMm":59.56959149810366,"xHeightMm":1.025088161892361,"xMm":4,"yMm":47.2047265625},{"block":"footer.origin","bold":false,"fontSizePt":5.5,"heightMm":2.167654079861111,"lines":1,"widthMm":59.56959149810366,"xHeightMm":1.025088161892361,"xMm":4,"yMm":49.672380642361105},{"block":"footer.business","bold":false,"fontSizePt":5.5,"heightMm":4.204945746527777,"lines":2,"widthMm":59.56959149810366,"xHeightMm":1.025088161892361,"xMm":4,"yMm":52.14003472222221},{"block":"warnings.0","bold":false,"fontSizePt":5.5,"heightMm":2.167654079861111,"lines":1,"widthMm":59.56959149810366,"xHeightMm":1.025088161892361,"xMm":4,"yMm":56.644980468749985}],"limitations":["This is an automated heuristic compliance check, not a legal review; consult qualified counsel before printing regulated packaging.","Allergen detection is a fixed keyword match against ingredient text, not a food-science parser; it can both miss and over-match unusual phrasing.","x-height is measured from the embedded font's own OS/2.xHeight metric, which can differ from a caliper measurement of printed type.","eu-fic's \"largest surface\" area test and us-fda's principal-display-panel area test both use the label's own trim area as a proxy; a real pack's largest surface may differ.","CMYK colours are converted to sRGB with a naive (1-c)(1-k) formula for the SVG/PNG preview, with no ICC profile; the PDF's own CMYK fills are exact and unaffected.","The generated PDF is not PDF/X-1a certified: it carries no OutputIntent or ICC profile.","Layout uses fixed header/body/footer/barcode-zone templates; no freeform positioning.","Only Latin-script text covered by the Liberation Sans/Serif glyph sets is supported; unsupported characters are reported by GLYPH_COVERAGE.","us-fda's Nutrition Facts graphic format (21 CFR 101.9(d)) is not verified, only the declared nutrient order.","Allergens are emphasised by capitalisation (FIC Art. 21(1)(b) / FALCPA), not bold weight; mixed-weight runs inside one line are not supported."],"minimumXHeightMm":0.9,"ruleset":"eu-fic","status":"passed","timings":{"layoutMs":22.255515999999943,"renderMs":289.43764899999996,"totalMs":324.87831199999994},"warnings":["Barcode height was truncated to 22.40 mm to fit the available space."]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"barcode":{"additionalProperties":false,"properties":{"data":{"description":"Exactly 13 digits (with GS1 check digit) for ean13, exactly 12 for upca; any UTF-8 text up to 512 bytes for qrcode/datamatrix.","maxLength":512,"minLength":1,"type":"string"},"humanReadable":{"default":true,"description":"Draw the human-readable digits (1D only).","type":"boolean"},"symbology":{"enum":["ean13","upca","qrcode","datamatrix"],"type":"string"},"widthMm":{"description":"Requested symbol width incl. quiet zones; omitted = GS1 nominal / 20 mm for 2D.","maximum":300,"minimum":5,"type":"number"}},"required":["symbology","data"],"type":"object"},"format":{"additionalProperties":false,"properties":{"bleedMm":{"default":2,"maximum":5,"minimum":0,"type":"number"},"cornerRadiusMm":{"default":0,"description":"Must not exceed min(widthMm, heightMm) / 2; validated against the format's own dimensions.","minimum":0,"type":"number"},"heightMm":{"description":"Trim height, millimetres.","maximum":400,"minimum":20,"type":"number"},"safeMm":{"default":2,"description":"Inside the trim; mandatory text never enters it.","maximum":10,"minimum":0,"type":"number"},"widthMm":{"description":"Trim width, millimetres.","maximum":400,"minimum":20,"type":"number"}},"required":["widthMm","heightMm"],"type":"object"},"ingredients":{"items":{"additionalProperties":false,"properties":{"allergen":{"description":"Emphasised in the ingredient list and fed into the allergen-statement/scan checks.","type":"boolean"},"text":{"maxLength":120,"minLength":1,"type":"string"}},"required":["text","allergen"],"type":"object"},"maxItems":200,"type":"array"},"nutrition":{"additionalProperties":false,"properties":{"addedSugarsG":{"maximum":100000,"minimum":0,"type":"number"},"basis":{"enum":["100g","100ml","serving"],"type":"string"},"carbohydrateG":{"maximum":100000,"minimum":0,"type":"number"},"cholesterolMg":{"maximum":100000,"minimum":0,"type":"number"},"energyKcal":{"maximum":100000,"minimum":0,"type":"number"},"energyKj":{"maximum":100000,"minimum":0,"type":"number"},"fatG":{"maximum":100000,"minimum":0,"type":"number"},"fibreG":{"maximum":100000,"minimum":0,"type":"number"},"proteinG":{"maximum":100000,"minimum":0,"type":"number"},"saltG":{"maximum":100000,"minimum":0,"type":"number"},"saturatesG":{"maximum":100000,"minimum":0,"type":"number"},"servingSize":{"maxLength":40,"minLength":1,"type":"string"},"sodiumMg":{"maximum":100000,"minimum":0,"type":"number"},"sugarsG":{"maximum":100000,"minimum":0,"type":"number"},"transFatG":{"maximum":100000,"minimum":0,"type":"number"}},"required":["basis"],"type":"object"},"product":{"additionalProperties":false,"properties":{"brand":{"maxLength":120,"minLength":1,"type":"string"},"business":{"additionalProperties":false,"properties":{"address":{"maxLength":300,"minLength":1,"type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"}},"required":["name","address"],"type":"object"},"dateLine":{"description":"Rendered verbatim, e.g. \"Best before: see base\".","maxLength":80,"minLength":1,"type":"string"},"description":{"maxLength":400,"minLength":1,"type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"},"netQuantity":{"additionalProperties":false,"properties":{"unit":{"enum":["g","kg","ml","l","oz","fl oz","lb","pcs"],"type":"string"},"value":{"exclusiveMinimum":0,"maximum":100000,"type":"number"}},"required":["value","unit"],"type":"object"},"origin":{"maxLength":80,"minLength":1,"type":"string"},"storage":{"maxLength":200,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"ruleset":{"description":"eu-fic = EU Reg. 1169/2011 mandatory-particulars/x-height/allergen-emphasis/nutrition-order checks; us-fda = 21 CFR 101 PDP/type-size/FALCPA \"Contains:\"/Nutrition-Facts-order checks; generic = advisory x-height only, no mandatory-particulars checks.","enum":["eu-fic","us-fda","generic"],"type":"string"},"style":{"additionalProperties":false,"properties":{"accent":{"default":{"rgb":"#000000"},"oneOf":[{"additionalProperties":false,"properties":{"rgb":{"pattern":"^#[0-9a-fA-F]{6}$","type":"string"}},"required":["rgb"],"type":"object"},{"additionalProperties":false,"properties":{"cmyk":{"items":{"maximum":100,"minimum":0,"type":"number"},"maxItems":4,"minItems":4,"type":"array"}},"required":["cmyk"],"type":"object"}]},"background":{"default":{"rgb":"#ffffff"},"oneOf":[{"additionalProperties":false,"properties":{"rgb":{"pattern":"^#[0-9a-fA-F]{6}$","type":"string"}},"required":["rgb"],"type":"object"},{"additionalProperties":false,"properties":{"cmyk":{"items":{"maximum":100,"minimum":0,"type":"number"},"maxItems":4,"minItems":4,"type":"array"}},"required":["cmyk"],"type":"object"}]},"fontFamily":{"default":"liberation-sans","enum":["liberation-sans","liberation-serif"],"type":"string"},"logoHeightMm":{"default":10,"maximum":50,"minimum":3,"type":"number"},"logoPngBase64":{"contentEncoding":"base64","description":"PNG, base64, at most 256 KiB decoded, at most 2000 px per side; checked for a valid PNG signature and re-encoded before embedding.","type":"string"},"text":{"default":{"rgb":"#000000"},"oneOf":[{"additionalProperties":false,"properties":{"rgb":{"pattern":"^#[0-9a-fA-F]{6}$","type":"string"}},"required":["rgb"],"type":"object"},{"additionalProperties":false,"properties":{"cmyk":{"items":{"maximum":100,"minimum":0,"type":"number"},"maxItems":4,"minItems":4,"type":"array"}},"required":["cmyk"],"type":"object"}]}},"type":"object"},"warnings":{"default":[],"items":{"maxLength":200,"minLength":1,"type":"string"},"maxItems":20,"type":"array"}},"required":["format","ruleset","product"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"check":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"maxLength":4096,"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"textBox":{"additionalProperties":false,"properties":{"block":{"type":"string"},"bold":{"type":"boolean"},"fontSizePt":{"exclusiveMinimum":0,"type":"number"},"heightMm":{"minimum":0,"type":"number"},"lines":{"minimum":0,"type":"integer"},"widthMm":{"minimum":0,"type":"number"},"xHeightMm":{"minimum":0,"type":"number"},"xMm":{"type":"number"},"yMm":{"type":"number"}},"required":["block","xMm","yMm","widthMm","heightMm","fontSizePt","xHeightMm","lines","bold"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"allergens":{"additionalProperties":false,"properties":{"detectedUnmarked":{"items":{"additionalProperties":false,"properties":{"ingredient":{"type":"string"},"term":{"type":"string"}},"required":["ingredient","term"],"type":"object"},"type":"array"},"marked":{"items":{"type":"string"},"type":"array"}},"required":["marked","detectedUnmarked"],"type":"object"},"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["label.pdf","label.svg","proof.png","dieline.svg","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":5,"type":"array"},"barcode":{"additionalProperties":false,"properties":{"checkDigitValid":{"type":["boolean","null"]},"data":{"type":"string"},"heightMm":{"minimum":0,"type":"number"},"magnification":{"type":["number","null"]},"moduleMm":{"minimum":0,"type":"number"},"quietZoneLeftMm":{"minimum":0,"type":"number"},"quietZoneRightMm":{"minimum":0,"type":"number"},"symbology":{"enum":["ean13","upca","qrcode","datamatrix"],"type":"string"},"truncated":{"type":"boolean"},"widthMm":{"minimum":0,"type":"number"}},"required":["symbology","data","checkDigitValid","moduleMm","magnification","widthMm","heightMm","quietZoneLeftMm","quietZoneRightMm","truncated"],"type":["object","null"]},"checks":{"items":{"$ref":"#/properties/output/properties/example/$defs/check"},"type":"array"},"contrast":{"additionalProperties":false,"properties":{"accentOnBackground":{"minimum":0,"type":"number"},"textOnBackground":{"minimum":0,"type":"number"}},"required":["textOnBackground","accentOnBackground"],"type":"object"},"expiresAt":{"format":"date-time","type":"string"},"fonts":{"additionalProperties":false,"properties":{"bold":{"type":"string"},"family":{"enum":["liberation-sans","liberation-serif"],"type":"string"},"regular":{"type":"string"}},"required":["family","regular","bold"],"type":"object"},"format":{"additionalProperties":false,"properties":{"areaCm2":{"minimum":0,"type":"number"},"bleedMm":{"type":"number"},"cornerRadiusMm":{"type":"number"},"heightMm":{"type":"number"},"safeMm":{"type":"number"},"smallPack":{"description":"Trim area below the ruleset's small-pack threshold (EU FIC Art. 13(3): 80 cm²).","type":"boolean"},"widthMm":{"type":"number"}},"required":["widthMm","heightMm","bleedMm","safeMm","cornerRadiusMm","areaCm2","smallPack"],"type":"object"},"layout":{"items":{"$ref":"#/properties/output/properties/example/$defs/textBox"},"type":"array"},"limitations":{"items":{"maxLength":4096,"type":"string"},"type":"array"},"minimumXHeightMm":{"minimum":0,"type":"number"},"ruleset":{"enum":["eu-fic","us-fda","generic"],"type":"string"},"status":{"enum":["passed","rejected"],"type":"string"},"timings":{"additionalProperties":false,"properties":{"layoutMs":{"minimum":0,"type":"number"},"renderMs":{"minimum":0,"type":"number"},"totalMs":{"minimum":0,"type":"number"}},"required":["layoutMs","renderMs","totalMs"],"type":"object"},"warnings":{"items":{"maxLength":4096,"type":"string"},"type":"array"}},"required":["status","ruleset","format","minimumXHeightMm","fonts","layout","barcode","allergens","contrast","checks","warnings","limitations","timings","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"label.api.williamrobinson.dev","lastUpdated":"2026-09-11T20:08:19.463Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T20:08:18.958Z"},"liveness":{},"verified":false,"featured":false},{"id":8200,"slug":"8200","resource":"https://prototype.api.williamrobinson.dev/v1/prototype/revise","description":"Apply deterministic parameter edits to a self-contained OpenSCAD model, verify preserve constraints against the baseline, slice it with PrusaSlicer, and return checked alternatives (orientations, partial edits) when goals are unmet.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"150000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"edits":[{"delta":10,"kind":"offset","name":"shelf"}],"goals":{"maxSizeMm":[220,220,250],"noSupports":true},"maxAlternatives":3,"orientationSearch":true,"parameters":{"height":60},"preserve":[{"axis":"z","kind":"bounds_axis","toleranceMm":0.05}],"profile":"fdm-pla-0.4","source":"wall = 5; shelf = 40; height = 60; depth = 30;\nunion() {\n  cube([wall, depth, height]);\n  translate([0, 0, height - wall]) cube([shelf, depth, wall]);\n}\n"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"alternatives":[{"artifact":"alternative-1.gcode","editFraction":null,"kind":"orientation","meetsAllGoals":true,"mesh":{"boundsMm":{"max":[50,1.83697019872103e-15,30.000000000000004],"min":[0,-60,0],"size":[50,60,30.000000000000004]},"triangleCount":20,"volumeMm3":15750,"watertight":true},"orientation":"+y","parametersApplied":null,"slice":{"estimatedPrintTimeMin":48.06666666666667,"filamentG":10.05,"filamentMm":3370.97,"layerCount":150,"needsSupport":false,"supportFilamentMm":0}},{"artifact":"alternative-2.gcode","editFraction":null,"kind":"orientation","meetsAllGoals":true,"mesh":{"boundsMm":{"max":[50,60,3.67394039744206e-15],"min":[0,0,-30],"size":[50,60,30.000000000000004]},"triangleCount":20,"volumeMm3":15750,"watertight":true},"orientation":"-y","parametersApplied":null,"slice":{"estimatedPrintTimeMin":48.1,"filamentG":10.05,"filamentMm":3371.2,"layerCount":150,"needsSupport":false,"supportFilamentMm":0}},{"artifact":"alternative-3.gcode","editFraction":null,"kind":"orientation","meetsAllGoals":true,"mesh":{"boundsMm":{"max":[3.061616997868383e-16,30,50.00000000000001],"min":[-60,0,0],"size":[60,30,50.00000000000001]},"triangleCount":20,"volumeMm3":15750,"watertight":true},"orientation":"+x","parametersApplied":null,"slice":{"estimatedPrintTimeMin":55.266666666666666,"filamentG":9.92,"filamentMm":3326.3,"layerCount":250,"needsSupport":false,"supportFilamentMm":0}}],"artifacts":[{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.scad","mediaType":"text/plain; charset=utf-8","name":"revised.scad","sha256":"6c8f087904109cd19d9a6994a3cfe9eb88d8784730b1f0a4f1e50e41d9a48ab1","sizeBytes":153},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/baseline.stl","mediaType":"model/stl","name":"baseline.stl","sha256":"21dfae091297d772a86b87186a6804950e88b4ca35fc0bd323a979beddb049ad","sizeBytes":1084},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.stl","mediaType":"model/stl","name":"revised.stl","sha256":"81d262c41426000dc34d0da6e2a240a035522d57bc9e7250442a22dba9b2b945","sizeBytes":1084},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.gcode","mediaType":"text/plain; charset=utf-8","name":"revised.gcode","sha256":"1e7175a999f29ec0fedea7a2d247b12df599eea7c54e4649356df2f5f7ef7e24","sizeBytes":737838},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/profile.ini","mediaType":"text/plain; charset=utf-8","name":"profile.ini","sha256":"c69f01a9e2b8aafaf09486afa03a5c2aceffb879d90409b6273a70403c9e4297","sizeBytes":582},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"72fd8c40face6f6400b4e6a26e11dff9a26cd4f323ecda5bc89ef256d3d8e269","sizeBytes":7647},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/changes.diff","mediaType":"text/x-diff; charset=utf-8","name":"changes.diff","sha256":"6876ee6a6ac29b7b73885aed99280aeeb238beef5ce6929c5428c337e12ea994","sizeBytes":254},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-1.gcode","mediaType":"text/plain; charset=utf-8","name":"alternative-1.gcode","sha256":"c4b0c15fa7b5b087e9e8f08b765358f33b899d162c659da0e34d244e3e24646f","sizeBytes":483111},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-2.gcode","mediaType":"text/plain; charset=utf-8","name":"alternative-2.gcode","sha256":"8d1349486f3965ef380a6a553560d7e5790abed5d162a39833d348945e8a65ee","sizeBytes":491287},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-3.gcode","mediaType":"text/plain; charset=utf-8","name":"alternative-3.gcode","sha256":"81bc546b42fc6bcada971e3cbfc8af154020233f69dbaca207e901c23ef7ab08","sizeBytes":375942},{"href":"https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/preview.png","mediaType":"image/png","name":"preview.png","sha256":"8c760f9b61e1bebd29e64089781b4ba39081dc72325eed7883ff34671eb020a0","sizeBytes":7861}],"baseline":{"boundsMm":{"max":[40,30,60],"min":[0,0,0],"size":[40,30,60]},"triangleCount":20,"volumeMm3":14250,"watertight":true},"changes":[{"after":50,"before":40,"name":"shelf"}],"checks":[{"code":"SOURCE_SELF_CONTAINED","detail":"No external file-reading OpenSCAD constructs were found","status":"passed"},{"code":"PARAMETERS_APPLIED","detail":"1 named source parameters were patched","status":"passed"},{"code":"EDITS_APPLIED","detail":"1 edits were applied in order","status":"passed"},{"code":"PRESERVE_PARAMETER","detail":"No parameter preserve constraint was requested","status":"not_checked"},{"code":"BASELINE_COMPILE","detail":"OpenSCAD rendered the baseline model","status":"passed"},{"code":"CAD_COMPILE","detail":"OpenSCAD rendered the revised model","status":"passed"},{"code":"MESH_VALIDITY","detail":"Binary STL has finite vertices and no degenerate triangles","status":"passed"},{"code":"MESH_WATERTIGHT","detail":"Every undirected triangle edge appears exactly twice","status":"passed"},{"code":"MESH_ENCLOSED_VOLUME","detail":"15750.000 mm³ enclosed volume","status":"passed"},{"code":"PRESERVE_BOUNDS","detail":"Every preserved axis stayed within its tolerance","status":"passed"},{"code":"PRESERVE_VOLUME","detail":"No volume preserve constraint was requested","status":"not_checked"},{"code":"PRINTER_BED","detail":"50.000 × 30.000 × 60.000 mm against 220 × 220 × 250 mm printer bed","status":"passed"},{"code":"SLICER","detail":"PrusaSlicer produced bounded G-code with the fixed profile","status":"passed"},{"code":"EXTRUSION_TOOLPATH","detail":"G-code contains at least one extrusion move","status":"passed"},{"code":"GOAL_NO_SUPPORTS","detail":"Support filament used: 3669.318 mm","status":"failed"},{"code":"GOAL_PRINT_TIME","detail":"No maxPrintTimeMin goal was requested","status":"not_checked"},{"code":"GOAL_FILAMENT","detail":"No maxFilamentG goal was requested","status":"not_checked"},{"code":"GOAL_FIT","detail":"50.000 × 30.000 × 60.000 mm against requested 220 × 220 × 250 mm","status":"passed"},{"code":"ORIENTATION_SEARCH","detail":"Every orientation candidate needed by the search budget and maxAlternatives was evaluated","status":"passed"},{"code":"PREVIEW","detail":"Headless OpenSCAD rendered preview.png","status":"passed"}],"delta":{"sizeMm":[10,0,0],"volumeMm3":1500,"volumePercent":10.526315789473683},"evaluations":[{"goals":{"filament":true,"fit":true,"noSupports":false,"printTime":true},"orientation":"+z","overhang":{"bedContactAreaMm2":150,"footprintMm":[50,30],"heightMm":60,"overhangAreaMm2":1350},"rotation":{"xDeg":0,"yDeg":0},"slice":{"estimatedPrintTimeMin":84.75,"filamentG":20.94,"filamentMm":7020.67,"layerCount":480,"needsSupport":true,"supportFilamentMm":3669.3182300001085},"sliced":true},{"goals":null,"orientation":"-z","overhang":{"bedContactAreaMm2":1500,"footprintMm":[50,30.000000000000007],"heightMm":60.00000000000001,"overhangAreaMm2":0},"rotation":{"xDeg":180,"yDeg":0},"slice":null,"sliced":false},{"goals":{"filament":true,"fit":true,"noSupports":true,"printTime":true},"orientation":"+x","overhang":{"bedContactAreaMm2":1800,"footprintMm":[60,30],"heightMm":50.00000000000001,"overhangAreaMm2":0},"rotation":{"xDeg":0,"yDeg":-90},"slice":{"estimatedPrintTimeMin":55.266666666666666,"filamentG":9.92,"filamentMm":3326.3,"layerCount":250,"needsSupport":false,"supportFilamentMm":0},"sliced":true},{"goals":null,"orientation":"-x","overhang":{"bedContactAreaMm2":150,"footprintMm":[60,30],"heightMm":50.00000000000001,"overhangAreaMm2":1650},"rotation":{"xDeg":0,"yDeg":90},"slice":null,"sliced":false},{"goals":{"filament":true,"fit":true,"noSupports":true,"printTime":true},"orientation":"+y","overhang":{"bedContactAreaMm2":525,"footprintMm":[50,60],"heightMm":30.000000000000004,"overhangAreaMm2":0},"rotation":{"xDeg":90,"yDeg":0},"slice":{"estimatedPrintTimeMin":48.06666666666667,"filamentG":10.05,"filamentMm":3370.97,"layerCount":150,"needsSupport":false,"supportFilamentMm":0},"sliced":true},{"goals":{"filament":true,"fit":true,"noSupports":true,"printTime":true},"orientation":"-y","overhang":{"bedContactAreaMm2":525,"footprintMm":[50,60],"heightMm":30.000000000000004,"overhangAreaMm2":0},"rotation":{"xDeg":-90,"yDeg":0},"slice":{"estimatedPrintTimeMin":48.1,"filamentG":10.05,"filamentMm":3371.2,"layerCount":150,"needsSupport":false,"supportFilamentMm":0},"sliced":true}],"expiresAt":"2026-09-13T12:43:55.474Z","limitations":["The service validates CAD, mesh closure, dimensions, preserve constraints, and slicer output only; it does not verify physical printability, strength, tolerances, or material certification.","OpenSCAD coordinates are interpreted as millimetres; no automatic unit conversion is performed.","Overhang analysis is a pure 45°-surface-normal geometric heuristic; the needsSupport goal is decided by PrusaSlicer's own automatic support generator, which can disagree with the heuristic.","G-code is not byte-deterministic across runs (seam placement jitters by a few microns); only the parsed header metrics are treated as stable.","This service charges for every outcome it returns — passed, goals_unmet, or rejected — because CAD compilation, mesh inspection, and slicing work is performed before the outcome is known."],"parametersApplied":{"height":60},"profile":"fdm-pla-0.4","recommendations":[{"code":"BETTER_ORIENTATION","message":"A different axis-aligned orientation meets every requested goal; see the orientation alternatives."}],"requested":{"goals":{"filament":true,"fit":true,"noSupports":false,"printTime":true},"orientation":"+z","overhang":{"bedContactAreaMm2":150,"footprintMm":[50,30],"heightMm":60,"overhangAreaMm2":1350},"rotation":{"xDeg":0,"yDeg":0},"slice":{"estimatedPrintTimeMin":84.75,"filamentG":20.94,"filamentMm":7020.67,"layerCount":480,"needsSupport":true,"supportFilamentMm":3669.3182300001085},"sliced":true},"revised":{"boundsMm":{"max":[50,30,60],"min":[0,0,0],"size":[50,30,60]},"triangleCount":20,"volumeMm3":15750,"watertight":true},"status":"goals_unmet","timings":{"compileMs":117.91681300000005,"previewMs":336.740849,"searchMs":487.178505,"sliceMs":258.936095,"totalMs":1349.33955},"tools":{"openscad":"OpenSCAD version 2021.01","slicer":"PrusaSlicer-2.5.0+UNKNOWN based on Slic3r (with GUI support)"},"warnings":[]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"edits":{"default":[],"description":"Deterministic edits applied in order to a top-level scalar assignment: set a literal, offset a numeric value, or scale it by a positive factor.","items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"set"},"name":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$","type":"string"},"value":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]}},"required":["kind","name","value"]},{"additionalProperties":false,"properties":{"delta":{"maximum":1000000,"minimum":-1000000,"type":"number"},"kind":{"const":"offset"},"name":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$","type":"string"}},"required":["kind","name","delta"]},{"additionalProperties":false,"properties":{"factor":{"exclusiveMinimum":0,"maximum":1000000,"type":"number"},"kind":{"const":"scale"},"name":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$","type":"string"}},"required":["kind","name","factor"]}],"type":"object"},"maxItems":16,"type":"array"},"goals":{"additionalProperties":false,"default":{},"properties":{"maxFilamentG":{"maximum":100000,"minimum":0.01,"type":"number"},"maxPrintTimeMin":{"maximum":100000,"minimum":1,"type":"number"},"maxSizeMm":{"default":[220,220,250],"items":{"exclusiveMinimum":0,"maximum":1000,"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"noSupports":{"default":true,"type":"boolean"}},"type":"object"},"maxAlternatives":{"default":3,"maximum":4,"minimum":0,"type":"integer"},"orientationSearch":{"default":true,"description":"Evaluate the other five axis-aligned orientations as alternatives.","type":"boolean"},"parameters":{"additionalProperties":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"type":"object"},"preserve":{"default":[],"description":"Constraints the revision must not violate: an edit must not target a named parameter, a bounding-box axis must stay within a tolerance, or the volume must stay within a percentage.","items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"parameter"},"name":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$","type":"string"}},"required":["kind","name"]},{"additionalProperties":false,"properties":{"axis":{"enum":["x","y","z"],"type":"string"},"kind":{"const":"bounds_axis"},"toleranceMm":{"default":0.05,"maximum":1000,"minimum":0,"type":"number"}},"required":["kind","axis"]},{"additionalProperties":false,"properties":{"kind":{"const":"volume"},"tolerancePercent":{"default":1,"maximum":100,"minimum":0,"type":"number"}},"required":["kind"]}],"type":"object"},"maxItems":16,"type":"array"},"profile":{"default":"fdm-pla-0.4","enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string"},"source":{"description":"Self-contained OpenSCAD, interpreted in millimetres; maximum 16 KiB UTF-8. External imports are prohibited.","maxLength":16384,"minLength":1,"type":"string"}},"required":["source"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"alternatives":{"items":{"additionalProperties":false,"properties":{"artifact":{"anyOf":[{"type":"null"},{"enum":["alternative-1.gcode","alternative-2.gcode","alternative-3.gcode","alternative-4.gcode"],"type":"string"}]},"editFraction":{"anyOf":[{"type":"null"},{"maximum":1,"minimum":0,"type":"number"}]},"kind":{"enum":["orientation","partial_edit"],"type":"string"},"meetsAllGoals":{"type":"boolean"},"mesh":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"boundsMm":{"additionalProperties":false,"properties":{"max":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"min":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"size":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"}},"required":["min","max","size"],"type":"object"},"triangleCount":{"minimum":0,"type":"integer"},"volumeMm3":{"minimum":0,"type":"number"},"watertight":{"type":"boolean"}},"required":["triangleCount","boundsMm","volumeMm3","watertight"],"type":"object"}]},"orientation":{"enum":["+z","-z","+x","-x","+y","-y"],"type":"string"},"parametersApplied":{"anyOf":[{"type":"null"},{"additionalProperties":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"type":"object"}]},"slice":{"additionalProperties":false,"properties":{"estimatedPrintTimeMin":{"minimum":0,"type":"number"},"filamentG":{"minimum":0,"type":"number"},"filamentMm":{"minimum":0,"type":"number"},"layerCount":{"minimum":0,"type":"integer"},"needsSupport":{"type":"boolean"},"supportFilamentMm":{"minimum":0,"type":"number"}},"required":["estimatedPrintTimeMin","filamentG","filamentMm","supportFilamentMm","layerCount","needsSupport"],"type":"object"}},"required":["kind","artifact","orientation","parametersApplied","editFraction","mesh","slice","meetsAllGoals"],"type":"object"},"maxItems":4,"type":"array"},"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["revised.scad","changes.diff","baseline.stl","revised.stl","revised.gcode","alternative-1.gcode","alternative-2.gcode","alternative-3.gcode","alternative-4.gcode","profile.ini","preview.png","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":12,"type":"array"},"baseline":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"boundsMm":{"additionalProperties":false,"properties":{"max":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"min":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"size":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"}},"required":["min","max","size"],"type":"object"},"triangleCount":{"minimum":0,"type":"integer"},"volumeMm3":{"minimum":0,"type":"number"},"watertight":{"type":"boolean"}},"required":["triangleCount","boundsMm","volumeMm3","watertight"],"type":"object"}]},"changes":{"items":{"additionalProperties":false,"properties":{"after":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"before":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"name":{"type":"string"}},"required":["name","before","after"],"type":"object"},"maxItems":16,"type":"array"},"checks":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"minLength":1,"type":"string"},"detail":{"maxLength":4096,"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"maxItems":32,"type":"array"},"delta":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"sizeMm":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"volumeMm3":{"type":"number"},"volumePercent":{"type":"number"}},"required":["sizeMm","volumeMm3","volumePercent"],"type":"object"}]},"evaluations":{"items":{"additionalProperties":false,"properties":{"goals":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"filament":{"type":"boolean"},"fit":{"type":"boolean"},"noSupports":{"type":"boolean"},"printTime":{"type":"boolean"}},"required":["noSupports","printTime","filament","fit"],"type":"object"}]},"orientation":{"enum":["+z","-z","+x","-x","+y","-y"],"type":"string"},"overhang":{"additionalProperties":false,"properties":{"bedContactAreaMm2":{"minimum":0,"type":"number"},"footprintMm":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"heightMm":{"minimum":0,"type":"number"},"overhangAreaMm2":{"minimum":0,"type":"number"}},"required":["overhangAreaMm2","bedContactAreaMm2","heightMm","footprintMm"],"type":"object"},"rotation":{"additionalProperties":false,"properties":{"xDeg":{"type":"number"},"yDeg":{"type":"number"}},"required":["xDeg","yDeg"],"type":"object"},"slice":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"estimatedPrintTimeMin":{"minimum":0,"type":"number"},"filamentG":{"minimum":0,"type":"number"},"filamentMm":{"minimum":0,"type":"number"},"layerCount":{"minimum":0,"type":"integer"},"needsSupport":{"type":"boolean"},"supportFilamentMm":{"minimum":0,"type":"number"}},"required":["estimatedPrintTimeMin","filamentG","filamentMm","supportFilamentMm","layerCount","needsSupport"],"type":"object"}]},"sliced":{"type":"boolean"}},"required":["orientation","rotation","overhang","slice","goals","sliced"],"type":"object"},"maxItems":6,"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"parametersApplied":{"additionalProperties":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"type":"object"},"profile":{"enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string"},"recommendations":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"type":"string"},"message":{"maxLength":4096,"type":"string"}},"required":["code","message"],"type":"object"},"maxItems":32,"type":"array"},"requested":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"goals":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"filament":{"type":"boolean"},"fit":{"type":"boolean"},"noSupports":{"type":"boolean"},"printTime":{"type":"boolean"}},"required":["noSupports","printTime","filament","fit"],"type":"object"}]},"orientation":{"enum":["+z","-z","+x","-x","+y","-y"],"type":"string"},"overhang":{"additionalProperties":false,"properties":{"bedContactAreaMm2":{"minimum":0,"type":"number"},"footprintMm":{"items":{"type":"number"},"maxItems":2,"minItems":2,"type":"array"},"heightMm":{"minimum":0,"type":"number"},"overhangAreaMm2":{"minimum":0,"type":"number"}},"required":["overhangAreaMm2","bedContactAreaMm2","heightMm","footprintMm"],"type":"object"},"rotation":{"additionalProperties":false,"properties":{"xDeg":{"type":"number"},"yDeg":{"type":"number"}},"required":["xDeg","yDeg"],"type":"object"},"slice":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"estimatedPrintTimeMin":{"minimum":0,"type":"number"},"filamentG":{"minimum":0,"type":"number"},"filamentMm":{"minimum":0,"type":"number"},"layerCount":{"minimum":0,"type":"integer"},"needsSupport":{"type":"boolean"},"supportFilamentMm":{"minimum":0,"type":"number"}},"required":["estimatedPrintTimeMin","filamentG","filamentMm","supportFilamentMm","layerCount","needsSupport"],"type":"object"}]},"sliced":{"type":"boolean"}},"required":["orientation","rotation","overhang","slice","goals","sliced"],"type":"object"}]},"revised":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"boundsMm":{"additionalProperties":false,"properties":{"max":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"min":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"size":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"}},"required":["min","max","size"],"type":"object"},"triangleCount":{"minimum":0,"type":"integer"},"volumeMm3":{"minimum":0,"type":"number"},"watertight":{"type":"boolean"}},"required":["triangleCount","boundsMm","volumeMm3","watertight"],"type":"object"}]},"status":{"enum":["passed","goals_unmet","rejected"],"type":"string"},"timings":{"additionalProperties":false,"properties":{"compileMs":{"minimum":0,"type":"number"},"previewMs":{"minimum":0,"type":"number"},"searchMs":{"minimum":0,"type":"number"},"sliceMs":{"minimum":0,"type":"number"},"totalMs":{"minimum":0,"type":"number"}},"required":["compileMs","sliceMs","searchMs","previewMs","totalMs"],"type":"object"},"tools":{"additionalProperties":false,"properties":{"openscad":{"type":"string"},"slicer":{"type":"string"}},"required":["openscad","slicer"],"type":"object"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"type":"array"}},"required":["status","profile","tools","parametersApplied","changes","baseline","revised","delta","requested","evaluations","alternatives","checks","warnings","recommendations","limitations","timings","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"prototype.api.williamrobinson.dev","lastUpdated":"2026-09-11T20:08:16.068Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T20:08:15.447Z"},"liveness":{},"verified":false,"featured":false},{"id":8201,"slug":"8201","resource":"https://video.api.williamrobinson.dev/v1/video/finish","description":"Finish a short source video (<=60s, <=1080p, <=64MB, fetched by URL) into up to two platform-preset deliverables: caller-guided crop reframing between declared subject regions (never automatic detection), sidecar or burned-in subtitles with reflow, and EBU R128 loudness normalised to the preset target and measured, never claimed compliant. Includes a contact sheet. No rights clearance performed.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"500000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"brand":null,"deliverables":[{"captions":"burned","language":"en","preset":"youtube-16x9","sidecar":true},{"captions":"none","language":null,"preset":"shorts-9x16","sidecar":false}],"options":{"captionFontSizeFraction":0.045,"captionMaxCharsPerLine":42,"captionMaxLines":2,"normalizeLoudness":true},"sourceUrl":"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/friday.mp4","subjects":[{"box":{"h":0.6,"w":0.35,"x":0.325,"y":0.2},"fromS":0,"toS":6}],"subtitles":[{"content":"1\n00:00:00,000 --> 00:00:02,000\nFriday afternoon at the switchboard\n\n2\n00:00:02,000 --> 00:00:04,000\nThe operators keep the calls moving\n\n3\n00:00:04,000 --> 00:00:06,000\nA vintage office comedy short\n","format":"srt","language":"en"}]},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/deliverable-1.mp4","mediaType":"video/mp4","name":"deliverable-1.mp4","sha256":"49ac9f1fc01420744a0382a2c2673b37192293f931f7309209ac1ccfe542f124","sizeBytes":1957309},{"href":"https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/deliverable-1.vtt","mediaType":"text/vtt; charset=utf-8","name":"deliverable-1.vtt","sha256":"6c54fd2c30a64a7fc364f2d1d4db20fc4441e12a188272d5558b12286193d160","sizeBytes":208},{"href":"https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/deliverable-2.mp4","mediaType":"video/mp4","name":"deliverable-2.mp4","sha256":"693b5bddc0ef5fe71b0081447c5b35156793ca26c9c234e07414311661491f73","sizeBytes":1807537},{"href":"https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/contact-sheet.png","mediaType":"image/png","name":"contact-sheet.png","sha256":"6710ddac57c231770d1ca624652ab3094a1d9d8d4a5ac34ff990358cb336a310","sizeBytes":415969},{"href":"https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/qc.json","mediaType":"application/json","name":"qc.json","sha256":"cffabe13efbdb3a47b85dd3d95fa781cc50e7f50751ca1b2445e5118a62daba8","sizeBytes":963},{"href":"https://video.api.williamrobinson.dev/v1/video/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"fca0bf34f54ff0ea12bcced4c52ffe42d6893a4ba0da18d33be6ee182df67f83","sizeBytes":3973}],"checks":[{"code":"source_fetched","detail":"source fetched: 515198 bytes, sha256 339504acdef44f4e50c760e657cf76a8df60f25c91a239682abda56ac1886e90","status":"passed"},{"code":"source_within_limits","detail":"640x480@30fps, 6.17s, codec h264","status":"passed"},{"code":"no_black_or_frozen_segments","detail":"0 black and 0 frozen segment(s) found, none exceeding 3s","status":"passed"},{"code":"subjects_kept_in_frame","detail":"All declared subjects remained within their deliverable's crop window.","status":"passed"},{"code":"deliverables_generated","detail":"2 of 2 requested deliverable(s) generated","status":"passed"},{"code":"subtitles_valid","detail":"all requested subtitle tracks parsed to at least one usable cue","status":"passed"},{"code":"caption_timing_clean","detail":"no caption timing issues found","status":"passed"},{"code":"fps_within_preset","detail":"deliverable-1: 30fps (preset max 60fps), deliverable-2: 30fps (preset max 60fps)","status":"passed"},{"code":"loudness_on_target","detail":"2 of 2 deliverable(s) verified within the 1 LU tolerance","status":"passed"}],"deliverables":[{"captionStats":{"cues":3,"overlapsFixed":0,"reflowedCues":0,"shortCues":0},"captions":"burned","detail":"deliverable generated","encodeMs":3546,"language":"en","loudness":{"integratedLufs":-14.44,"rangeLu":2.4,"truePeakDbtp":-1},"output":{"audioChannels":2,"audioCodec":"aac","bitrateKbps":2526,"bytes":1957309,"container":"mov","durationS":6.2,"fps":30,"height":1080,"sampleRate":48000,"videoCodec":"h264","width":1920},"preset":"youtube-16x9","reframe":[{"fromS":0,"h":360,"toS":6.166,"w":640,"x":0,"y":60}],"slot":"deliverable-1","spec":{"aspect":"16:9","audioBitrateKbps":192,"height":1080,"loudnessLufs":-14,"maxFps":60,"safeMargin":0.05,"truePeakDbtp":-1,"videoBitrateKbps":8000,"width":1920},"status":"generated"},{"captionStats":null,"captions":"none","detail":"deliverable generated","encodeMs":3568,"language":null,"loudness":{"integratedLufs":-14.44,"rangeLu":2.4,"truePeakDbtp":-1},"output":{"audioChannels":2,"audioCodec":"aac","bitrateKbps":2332,"bytes":1807537,"container":"mov","durationS":6.2,"fps":30,"height":1920,"sampleRate":48000,"videoCodec":"h264","width":1080},"preset":"shorts-9x16","reframe":[{"fromS":0,"h":480,"toS":6.166,"w":270,"x":185,"y":0}],"slot":"deliverable-2","spec":{"aspect":"9:16","audioBitrateKbps":192,"height":1920,"loudnessLufs":-14,"maxFps":60,"safeMargin":0.12,"truePeakDbtp":-1,"videoBitrateKbps":8000,"width":1080},"status":"generated"}],"expiresAt":"2026-09-11T15:45:22.967Z","limitations":["Encoded mp4 bytes are not bit-reproducible across runs (multithreaded x264 output); only the artifacts produced by this run are hashed and checked.","Reframing follows only the caller-declared subject boxes; no face, object, or saliency detection is performed.","Loudness is measured and normalised per EBU R128 as computed by ffmpeg's loudnorm/ebur128 filters; this is not a platform loudness-compliance certification.","Delivery presets reflect typical platform recommendations at the time this service was built; verify against the platform's current published specs before publishing.","No rights, copyright, or content-moderation checks are performed on the source video.","Artifacts are retained for up to 6 hours, subject to a 1 GiB storage cap for this product; heavy concurrent demand may evict a job's artifacts sooner than the stated TTL."],"qc":{"blackSegments":[],"frozenSegments":[],"silentSegments":[],"subtitleIssues":[]},"source":{"audioChannels":2,"audioCodec":"aac","bitrateKbps":668,"bytes":515198,"container":"mov","durationS":6.166,"fps":30,"height":480,"loudness":{"integratedLufs":-31.4,"rangeLu":2.5,"truePeakDbtp":-17.1},"sampleRate":44100,"sha256":"339504acdef44f4e50c760e657cf76a8df60f25c91a239682abda56ac1886e90","url":"https://interactive-examples.mdn.mozilla.net/media/cc0-videos/friday.mp4","videoCodec":"h264","width":640},"status":"passed","tools":{"ffmpeg":"7.1.5-0+deb13u1","runner":"23ms"},"truncated":false,"warnings":[]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"brand":{"additionalProperties":false,"properties":{"logoPng":{"contentEncoding":"base64","description":"Base64 PNG (<= 262144 bytes decoded), or null.","maxLength":349528,"type":["string","null"]},"position":{"enum":["top-left","top-right","bottom-left","bottom-right"],"type":"string"},"widthFraction":{"description":"Logo width as a fraction of output width.","maximum":0.3,"minimum":0.05,"type":"number"}},"required":["logoPng","position","widthFraction"],"type":["object","null"]},"deliverables":{"items":{"additionalProperties":false,"properties":{"captions":{"enum":["burned","sidecar","none"],"type":"string"},"language":{"description":"Must reference a subtitles[] language when captions is not \"none\"; must be null when captions is \"none\".","type":["string","null"]},"preset":{"enum":["youtube-16x9","shorts-9x16","reels-9x16","tiktok-9x16","square-1x1","feed-4x5"],"type":"string"},"sidecar":{"description":"Also produce the sidecar .vtt when captions is \"burned\".","type":"boolean"}},"required":["preset","language","captions","sidecar"],"type":"object"},"maxItems":2,"minItems":1,"type":"array"},"options":{"additionalProperties":false,"properties":{"captionFontSizeFraction":{"default":0.045,"maximum":0.12,"minimum":0.02,"type":"number"},"captionMaxCharsPerLine":{"default":42,"maximum":80,"minimum":10,"type":"integer"},"captionMaxLines":{"default":2,"maximum":4,"minimum":1,"type":"integer"},"normalizeLoudness":{"default":true,"type":"boolean"}},"type":"object"},"sourceUrl":{"description":"Public HTTPS URL of the source video (mp4/mov/webm/mkv, <= 67108864 bytes, <= 60s, <= 1080p). Fetched by the service before processing.","format":"uri","maxLength":2048,"type":"string"},"subjects":{"description":"Regions of interest the reframer must keep in view; empty means centre-crop.","items":{"additionalProperties":false,"properties":{"box":{"additionalProperties":false,"description":"Region of interest in source-pixel fractions.","properties":{"h":{"exclusiveMinimum":0,"maximum":1,"type":"number"},"w":{"exclusiveMinimum":0,"maximum":1,"type":"number"},"x":{"maximum":1,"minimum":0,"type":"number"},"y":{"maximum":1,"minimum":0,"type":"number"}},"required":["x","y","w","h"],"type":"object"},"fromS":{"maximum":60,"minimum":0,"type":"number"},"toS":{"description":"Must be greater than fromS.","maximum":60,"minimum":0,"type":"number"}},"required":["fromS","toS","box"],"type":"object"},"maxItems":20,"type":"array"},"subtitles":{"items":{"additionalProperties":false,"properties":{"content":{"description":"Subtitle file contents (UTF-8 bytes capped, not characters).","maxLength":131072,"minLength":1,"type":"string"},"format":{"enum":["srt","vtt"],"type":"string"},"language":{"description":"BCP-47-style language tag, e.g. \"en\" or \"pt-BR\"; unique across subtitles.","pattern":"^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$","type":"string"}},"required":["language","format","content"],"type":"object"},"maxItems":6,"type":"array"}},"required":["sourceUrl","subtitles","subjects","brand","deliverables","options"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"artifact":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"type":"string"},"name":{"enum":["deliverable-1.mp4","deliverable-1.vtt","deliverable-2.mp4","deliverable-2.vtt","contact-sheet.png","qc.json","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"captionStats":{"additionalProperties":false,"properties":{"cues":{"minimum":0,"type":"integer"},"overlapsFixed":{"minimum":0,"type":"integer"},"reflowedCues":{"minimum":0,"type":"integer"},"shortCues":{"minimum":0,"type":"integer"}},"required":["cues","reflowedCues","overlapsFixed","shortCues"],"type":"object"},"loudness":{"additionalProperties":false,"properties":{"integratedLufs":{"type":"number"},"rangeLu":{"minimum":0,"type":"number"},"truePeakDbtp":{"type":"number"}},"required":["integratedLufs","rangeLu","truePeakDbtp"],"type":"object"},"presetSpec":{"additionalProperties":false,"properties":{"aspect":{"enum":["16:9","9:16","1:1","4:5"],"type":"string"},"audioBitrateKbps":{"exclusiveMinimum":0,"type":"number"},"height":{"minimum":1,"type":"integer"},"loudnessLufs":{"type":"number"},"maxFps":{"exclusiveMinimum":0,"type":"number"},"safeMargin":{"maximum":1,"minimum":0,"type":"number"},"truePeakDbtp":{"type":"number"},"videoBitrateKbps":{"exclusiveMinimum":0,"type":"number"},"width":{"minimum":1,"type":"integer"}},"required":["aspect","width","height","maxFps","loudnessLufs","truePeakDbtp","videoBitrateKbps","audioBitrateKbps","safeMargin"],"type":"object"},"reframeWindow":{"additionalProperties":false,"properties":{"fromS":{"minimum":0,"type":"number"},"h":{"exclusiveMinimum":0,"type":"integer"},"toS":{"minimum":0,"type":"number"},"w":{"exclusiveMinimum":0,"type":"integer"},"x":{"minimum":0,"type":"integer"},"y":{"minimum":0,"type":"integer"}},"required":["fromS","toS","x","y","w","h"],"type":"object"},"streamInfo":{"additionalProperties":false,"properties":{"audioChannels":{"minimum":0,"type":["integer","null"]},"audioCodec":{"type":["string","null"]},"bitrateKbps":{"minimum":0,"type":"number"},"bytes":{"minimum":0,"type":"integer"},"container":{"type":"string"},"durationS":{"minimum":0,"type":"number"},"fps":{"exclusiveMinimum":0,"type":"number"},"height":{"minimum":1,"type":"integer"},"sampleRate":{"minimum":0,"type":["integer","null"]},"videoCodec":{"type":"string"},"width":{"minimum":1,"type":"integer"}},"required":["container","videoCodec","width","height","fps","durationS","audioCodec","audioChannels","sampleRate","bitrateKbps","bytes"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"$ref":"#/properties/output/properties/example/$defs/artifact"},"maxItems":7,"type":"array"},"checks":{"items":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"type":"array"},"deliverables":{"items":{"additionalProperties":false,"properties":{"captionStats":{"anyOf":[{"$ref":"#/properties/output/properties/example/$defs/captionStats"},{"type":"null"}]},"captions":{"enum":["burned","sidecar","none"],"type":"string"},"detail":{"type":"string"},"encodeMs":{"minimum":0,"type":"number"},"language":{"type":["string","null"]},"loudness":{"anyOf":[{"$ref":"#/properties/output/properties/example/$defs/loudness"},{"type":"null"}]},"output":{"anyOf":[{"$ref":"#/properties/output/properties/example/$defs/streamInfo"},{"type":"null"}]},"preset":{"enum":["youtube-16x9","shorts-9x16","reels-9x16","tiktok-9x16","square-1x1","feed-4x5"],"type":"string"},"reframe":{"items":{"$ref":"#/properties/output/properties/example/$defs/reframeWindow"},"type":"array"},"slot":{"enum":["deliverable-1","deliverable-2"],"type":"string"},"spec":{"$ref":"#/properties/output/properties/example/$defs/presetSpec"},"status":{"enum":["generated","failed"],"type":"string"}},"required":["slot","preset","spec","language","captions","status","detail","output","loudness","reframe","captionStats","encodeMs"],"type":"object"},"maxItems":2,"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"limitations":{"items":{"type":"string"},"maxItems":100,"type":"array"},"qc":{"additionalProperties":false,"properties":{"blackSegments":{"items":{"additionalProperties":false,"properties":{"fromS":{"minimum":0,"type":"number"},"toS":{"minimum":0,"type":"number"}},"required":["fromS","toS"],"type":"object"},"maxItems":100,"type":"array"},"frozenSegments":{"items":{"additionalProperties":false,"properties":{"fromS":{"minimum":0,"type":"number"},"toS":{"minimum":0,"type":"number"}},"required":["fromS","toS"],"type":"object"},"maxItems":100,"type":"array"},"silentSegments":{"items":{"additionalProperties":false,"properties":{"fromS":{"minimum":0,"type":"number"},"toS":{"minimum":0,"type":"number"}},"required":["fromS","toS"],"type":"object"},"maxItems":100,"type":"array"},"subtitleIssues":{"items":{"additionalProperties":false,"properties":{"code":{"type":"string"},"cue":{"minimum":0,"type":"integer"},"detail":{"type":"string"},"language":{"type":"string"}},"required":["language","cue","code","detail"],"type":"object"},"maxItems":100,"type":"array"}},"required":["blackSegments","frozenSegments","silentSegments","subtitleIssues"],"type":"object"},"source":{"additionalProperties":false,"properties":{"audioChannels":{"minimum":0,"type":["integer","null"]},"audioCodec":{"type":["string","null"]},"bitrateKbps":{"minimum":0,"type":"number"},"bytes":{"minimum":0,"type":"integer"},"container":{"type":"string"},"durationS":{"minimum":0,"type":"number"},"fps":{"exclusiveMinimum":0,"type":"number"},"height":{"minimum":1,"type":"integer"},"loudness":{"anyOf":[{"$ref":"#/properties/output/properties/example/$defs/loudness"},{"type":"null"}]},"sampleRate":{"minimum":0,"type":["integer","null"]},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"url":{"type":"string"},"videoCodec":{"type":"string"},"width":{"minimum":1,"type":"integer"}},"required":["container","videoCodec","width","height","fps","durationS","audioCodec","audioChannels","sampleRate","bitrateKbps","bytes","url","sha256","loudness"],"type":"object"},"status":{"enum":["passed","failed"],"type":"string"},"tools":{"additionalProperties":false,"properties":{"ffmpeg":{"type":"string"},"runner":{"type":"string"}},"required":["ffmpeg","runner"],"type":"object"},"truncated":{"type":"boolean"},"warnings":{"items":{"type":"string"},"maxItems":100,"type":"array"}},"required":["status","tools","source","deliverables","qc","checks","warnings","limitations","truncated","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"video.api.williamrobinson.dev","lastUpdated":"2026-09-11T20:08:09.794Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T20:08:09.141Z"},"liveness":{},"verified":false,"featured":false},{"id":8202,"slug":"8202","resource":"https://lab.api.williamrobinson.dev/v1/lab/compile","description":"Compile a liquid-handling plan (Flex robot, pipettes, deck labware, liquids, transfer/distribute/serial-dilute/mix/delay steps) into a self-contained Python protocol, run a static volume tracker and a real opentrons simulation, and return a pass/fail report with platemap, reagent-usage, and simulation-log artifacts. This proves the protocol runs, never that the experiment is scientifically valid.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"150000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"labware":[{"id":"plate","label":"PCR plate","slot":"A1","type":"opentrons_96_wellplate_200ul_pcr_full_skirt"},{"id":"tips50","label":"50 uL tips","slot":"A2","type":"opentrons_flex_96_tiprack_50ul"},{"id":"mmix_res","label":"Master mix reservoir","slot":"B1","type":"nest_12_reservoir_15ml"},{"id":"tubes","label":"Sample tubes","slot":"B2","type":"opentrons_24_tuberack_nest_1.5ml_snapcap"}],"liquids":[{"deadVolumeUl":300,"id":"mastermix","location":{"labware":"mmix_res","volumeUl":5000,"wells":"A1"},"name":"PCR master mix"},{"deadVolumeUl":20,"id":"samples","location":{"labware":"tubes","volumeUl":200,"wells":"A1:D2"},"name":"Patient samples"}],"name":"PCR setup with 8-sample column and column-12 dilution series","options":{"defaultNewTip":"once","forbidCrossLiquidTipReuse":true,"trashSlot":"A3"},"pipettes":[{"model":"flex_8channel_50","mount":"left"},{"model":"flex_1channel_50","mount":"right"}],"robot":"flex","steps":[{"dests":{"labware":"plate","wells":"A1:H12"},"kind":"distribute","newTip":"once","source":{"labware":"mmix_res","well":"A1"},"volumeUl":20},{"dest":{"labware":"plate","well":"A1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"A1"},"volumeUl":5},{"dest":{"labware":"plate","well":"B1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"A2"},"volumeUl":5},{"dest":{"labware":"plate","well":"C1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"B1"},"volumeUl":5},{"dest":{"labware":"plate","well":"D1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"B2"},"volumeUl":5},{"dest":{"labware":"plate","well":"E1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"C1"},"volumeUl":5},{"dest":{"labware":"plate","well":"F1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"C2"},"volumeUl":5},{"dest":{"labware":"plate","well":"G1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"D1"},"volumeUl":5},{"dest":{"labware":"plate","well":"H1"},"kind":"transfer","newTip":"always","source":{"labware":"tubes","well":"D2"},"volumeUl":5},{"kind":"serial_dilute","labware":"plate","mixRepetitions":3,"mixUl":15,"newTip":"always","transferUl":10,"wells":"A12:H12"},{"kind":"delay","message":"Incubate before sealing","seconds":60}]},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/protocol.py","mediaType":"text/x-python; charset=utf-8","name":"protocol.py","sha256":"02d424abe63b8fd8b2717803b5f3690504e09d695142ece16d8b0f03f7174dba","sizeBytes":6561},{"href":"https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/platemap.csv","mediaType":"text/csv; charset=utf-8","name":"platemap.csv","sha256":"9dc370d60f4ac51c9036bc6d33d90c5af5d24a74ed2adae0a1b7ade1fd76d9f9","sizeBytes":2425},{"href":"https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/platemap.svg","mediaType":"image/svg+xml","name":"platemap.svg","sha256":"c2dc914c4c34cb6d879352e0ed8d66e3f285904e82e3f61ba27b659ba03fc70d","sizeBytes":23733},{"href":"https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/reagents.csv","mediaType":"text/csv; charset=utf-8","name":"reagents.csv","sha256":"3dabbe14d42a323cf294de9b0219d8d66f2cc5867ab4ea86c4925aca057cf7ce","sizeBytes":196},{"href":"https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/simulation-log.txt","mediaType":"text/plain; charset=utf-8","name":"simulation-log.txt","sha256":"11946c6bdbe0ad5d64ecdc45d36fca4422bde6327a0cd9be02e8ebfa2a60d1bb","sizeBytes":12799},{"href":"https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"bccaa49a8943c4008b6ea10c0126367ec6bc64489151a08de291d9ad834ba173","sizeBytes":10756}],"checks":[{"code":"plan_valid","detail":"111 elementary transfer(s) across 4 labware and 2 pipette(s) resolved cleanly","status":"passed"},{"code":"labware_compatible","detail":"every pipette has a compatible tip rack and every multi-channel step is column-aligned","status":"passed"},{"code":"volumes_within_capacity","detail":"no well exceeds its fill limit","status":"passed"},{"code":"liquids_sufficient","detail":"every source liquid has enough usable volume","status":"passed"},{"code":"pipette_ranges_respected","detail":"every transfer volume is within its pipette's range","status":"passed"},{"code":"tips_sufficient","detail":"loaded tip racks cover every pickup","status":"passed"},{"code":"tip_reuse_safe","detail":"no tip touched two different liquids without a fresh pickup","status":"passed"},{"code":"simulation_passed","detail":"147 simulated command(s)","status":"passed"}],"expiresAt":"2026-09-12T08:10:35.369Z","findings":[],"limitations":["Simulation proves the protocol is executable by Opentrons robot software; it is not proof that the underlying experiment is scientifically valid.","No liquid-class or viscosity modelling is performed; every transfer is assumed ideal (no air gaps, splashing, or evaporation effects).","The static volume tracker assumes declared dead volumes are accurate; it cannot detect physically inaccessible liquid the caller did not declare.","OT-2 robots are not supported in v1; every generated protocol targets Opentrons Flex only.","The simulator does not check well overfill; the well_overflow finding above is this compiler's own static check."],"liquids":[{"availableUl":5000,"consumedUl":1920,"id":"mastermix","name":"PCR master mix","remainingUl":3080,"shortfallUl":0},{"availableUl":1600,"consumedUl":40,"id":"samples","name":"Patient samples","remainingUl":1560,"shortfallUl":0}],"robot":"flex","simulation":{"commands":147,"error":null,"ok":true,"ran":true},"status":"passed","summary":{"estimatedMinutes":13.63,"labware":4,"liquids":2,"steps":11,"tipsUsed":{"left":8,"right":15},"transfers":111},"tools":{"apiLevel":"2.20","opentrons":"9.1.2"},"truncated":true,"warnings":[],"wells":[{"labware":"mmix_res","liquids":["mastermix"],"volumeUl":3080,"well":"A1"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"A1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"A11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":10,"well":"A12"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"B1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"B12"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"C1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"C12"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"D1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"D12"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"E1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"E12"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"F1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"F12"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"G1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"G12"},{"labware":"plate","liquids":["mastermix","samples"],"volumeUl":25,"well":"H1"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H2"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H3"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H4"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H5"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H6"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H7"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H8"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H9"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H10"},{"labware":"plate","liquids":["mastermix"],"volumeUl":20,"well":"H11"},{"labware":"plate","liquids":["mastermix"],"volumeUl":30,"well":"H12"},{"labware":"tubes","liquids":["samples"],"volumeUl":195,"well":"A1"},{"labware":"tubes","liquids":["samples"],"volumeUl":195,"well":"A2"},{"labware":"tubes","liquids":["samples"],"volumeUl":195,"well":"B1"}]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"labware":{"items":{"additionalProperties":false,"properties":{"id":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"label":{"maxLength":128,"minLength":1,"type":"string"},"slot":{"enum":["A1","A2","A3","B1","B2","B3","C1","C2","C3","D1","D2","D3"],"type":"string"},"type":{"enum":["opentrons_96_wellplate_200ul_pcr_full_skirt","corning_96_wellplate_360ul_flat","nest_96_wellplate_2ml_deep","corning_384_wellplate_112ul_flat","nest_12_reservoir_15ml","nest_1_reservoir_195ml","opentrons_24_tuberack_nest_1.5ml_snapcap","opentrons_flex_96_tiprack_50ul","opentrons_flex_96_tiprack_200ul","opentrons_flex_96_tiprack_1000ul"],"type":"string"}},"required":["id","type","slot"],"type":"object"},"maxItems":12,"minItems":1,"type":"array"},"liquids":{"items":{"additionalProperties":false,"properties":{"deadVolumeUl":{"maximum":50000,"minimum":0,"type":"number"},"id":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"location":{"additionalProperties":false,"properties":{"labware":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"volumeUl":{"exclusiveMinimum":0,"maximum":300000,"type":"number"},"wells":{"description":"A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.","pattern":"^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$","type":"string"}},"required":["labware","wells","volumeUl"],"type":"object"},"name":{"maxLength":200,"minLength":1,"type":"string"}},"required":["id","name","location"],"type":"object"},"maxItems":32,"type":"array"},"name":{"maxLength":200,"minLength":1,"type":"string"},"options":{"additionalProperties":false,"properties":{"defaultNewTip":{"enum":["always","once","never"],"type":"string"},"forbidCrossLiquidTipReuse":{"type":"boolean"},"trashSlot":{"description":"Flex default is A3. Column 1 or 3 only (column 2 and the column-4 staging area are not valid trash locations).","enum":["A1","B1","C1","D1","A3","B3","C3","D3"],"type":"string"}},"required":["trashSlot","defaultNewTip","forbidCrossLiquidTipReuse"],"type":"object"},"pipettes":{"items":{"additionalProperties":false,"properties":{"model":{"enum":["flex_1channel_50","flex_1channel_1000","flex_8channel_50","flex_8channel_1000"],"type":"string"},"mount":{"enum":["left","right"],"type":"string"}},"required":["mount","model"],"type":"object"},"maxItems":2,"minItems":1,"type":"array"},"robot":{"const":"flex","description":"Opentrons Flex only; OT-2 is not supported (opentrons 9.x's simulator refuses OT-2 protocols)."},"steps":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"dest":{"additionalProperties":false,"properties":{"labware":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"well":{"description":"A single well, e.g. \"A1\" (rows A-P, columns 1-24).","pattern":"^[A-P](?:[1-9]|1[0-9]|2[0-4])$","type":"string"}},"required":["labware","well"],"type":"object"},"kind":{"const":"transfer"},"mixAfterRepetitions":{"maximum":20,"minimum":1,"type":"integer"},"mixAfterUl":{"description":"Microlitres.","exclusiveMinimum":0,"maximum":10000,"type":"number"},"newTip":{"enum":["always","once","never"],"type":"string"},"source":{"additionalProperties":false,"properties":{"labware":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"well":{"description":"A single well, e.g. \"A1\" (rows A-P, columns 1-24).","pattern":"^[A-P](?:[1-9]|1[0-9]|2[0-4])$","type":"string"}},"required":["labware","well"],"type":"object"},"volumeUl":{"description":"Microlitres.","exclusiveMinimum":0,"maximum":10000,"type":"number"}},"required":["kind","source","dest","volumeUl"],"type":"object"},{"additionalProperties":false,"properties":{"dests":{"additionalProperties":false,"properties":{"labware":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"wells":{"description":"A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.","pattern":"^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$","type":"string"}},"required":["labware","wells"],"type":"object"},"kind":{"const":"distribute"},"newTip":{"enum":["always","once","never"],"type":"string"},"source":{"additionalProperties":false,"properties":{"labware":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"well":{"description":"A single well, e.g. \"A1\" (rows A-P, columns 1-24).","pattern":"^[A-P](?:[1-9]|1[0-9]|2[0-4])$","type":"string"}},"required":["labware","well"],"type":"object"},"volumeUl":{"description":"Microlitres.","exclusiveMinimum":0,"maximum":10000,"type":"number"}},"required":["kind","source","dests","volumeUl"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"serial_dilute"},"labware":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"mixRepetitions":{"maximum":20,"minimum":1,"type":"integer"},"mixUl":{"description":"Microlitres.","exclusiveMinimum":0,"maximum":10000,"type":"number"},"newTip":{"enum":["always","once","never"],"type":"string"},"transferUl":{"description":"Microlitres.","exclusiveMinimum":0,"maximum":10000,"type":"number"},"wells":{"description":"A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.","pattern":"^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$","type":"string"}},"required":["kind","labware","wells","transferUl","mixUl","mixRepetitions"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"mix"},"newTip":{"enum":["always","once","never"],"type":"string"},"repetitions":{"maximum":20,"minimum":1,"type":"integer"},"target":{"additionalProperties":false,"properties":{"labware":{"description":"Caller-assigned identifier, unique within its array.","pattern":"^[A-Za-z0-9_-]{1,32}$","type":"string"},"wells":{"description":"A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.","pattern":"^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$","type":"string"}},"required":["labware","wells"],"type":"object"},"volumeUl":{"description":"Microlitres.","exclusiveMinimum":0,"maximum":10000,"type":"number"}},"required":["kind","target","volumeUl","repetitions"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"delay"},"message":{"maxLength":500,"minLength":1,"type":"string"},"seconds":{"maximum":3600,"minimum":1,"type":"integer"}},"required":["kind","seconds"],"type":"object"}]},"maxItems":200,"minItems":1,"type":"array"}},"required":["name","robot","pipettes","labware","liquids","steps","options"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"check":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["protocol.py","platemap.csv","platemap.svg","reagents.csv","simulation-log.txt","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":6,"type":"array"},"checks":{"items":{"$ref":"#/properties/output/properties/example/$defs/check"},"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"findings":{"items":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"type":"string"},"severity":{"enum":["error","warning"],"type":"string"},"step":{"minimum":-1,"type":"integer"}},"required":["step","code","severity","detail"],"type":"object"},"maxItems":100,"type":"array"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"liquids":{"items":{"additionalProperties":false,"properties":{"availableUl":{"type":"number"},"consumedUl":{"type":"number"},"id":{"type":"string"},"name":{"type":"string"},"remainingUl":{"type":"number"},"shortfallUl":{"type":"number"}},"required":["id","name","availableUl","consumedUl","remainingUl","shortfallUl"],"type":"object"},"maxItems":32,"type":"array"},"robot":{"const":"flex"},"simulation":{"additionalProperties":false,"properties":{"commands":{"minimum":0,"type":"integer"},"error":{"type":["string","null"]},"ok":{"type":"boolean"},"ran":{"type":"boolean"}},"required":["ran","ok","commands","error"],"type":"object"},"status":{"enum":["passed","failed"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"estimatedMinutes":{"minimum":0,"type":"number"},"labware":{"maximum":12,"minimum":0,"type":"integer"},"liquids":{"maximum":32,"minimum":0,"type":"integer"},"steps":{"maximum":200,"minimum":0,"type":"integer"},"tipsUsed":{"additionalProperties":{"minimum":0,"type":"integer"},"type":"object"},"transfers":{"maximum":2000,"minimum":0,"type":"integer"}},"required":["steps","transfers","tipsUsed","estimatedMinutes","labware","liquids"],"type":"object"},"tools":{"additionalProperties":false,"properties":{"apiLevel":{"type":"string"},"opentrons":{"type":"string"}},"required":["opentrons","apiLevel"],"type":"object"},"truncated":{"type":"boolean"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":100,"type":"array"},"wells":{"items":{"additionalProperties":false,"properties":{"labware":{"type":"string"},"liquids":{"items":{"type":"string"},"type":"array"},"volumeUl":{"minimum":0,"type":"number"},"well":{"type":"string"}},"required":["labware","well","volumeUl","liquids"],"type":"object"},"maxItems":100,"type":"array"}},"required":["status","tools","robot","summary","liquids","wells","findings","simulation","checks","warnings","limitations","truncated","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"lab.api.williamrobinson.dev","lastUpdated":"2026-09-11T20:07:56.989Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T20:07:56.411Z"},"liveness":{},"verified":false,"featured":false},{"id":8203,"slug":"8203","resource":"https://reduce.api.williamrobinson.dev/v1/reduce/minimize","description":"Given a source bundle, entry file, command, and failure predicate (exit code and/or stdout/stderr patterns), runs a deterministic delta-debugging reducer in a network-isolated sandbox and returns the reduced bundle and entry that still reproduce the failure, plus a replay script and run log. Scoped to a local minimum under the passes listed, never a proof of global minimality.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"500000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"bundle":"UEsDBBQAAAAAAAAAIVwQVBcsKwQAACsEAAAHAAAAbWFpbi5weWltcG9ydCBqc29uCgpmcm9tIGhlbHBlciBpbXBvcnQgbm9ybWFsaXplLCB3ZWlnaHRlZF9hdmVyYWdlCgoKZGVmIGxvYWRfZGF0YShwYXRoPSJkYXRhLmpzb24iKToKICAgIHdpdGggb3BlbihwYXRoKSBhcyBoYW5kbGU6CiAgICAgICAgcmV0dXJuIGpzb24ubG9hZChoYW5kbGUpCgoKZGVmIGJ1aWxkX3JlcG9ydChkYXRhKToKICAgIHZhbHVlcyA9IGRhdGEuZ2V0KCJ2YWx1ZXMiLCBbXSkKICAgIHdlaWdodHMgPSBkYXRhLmdldCgid2VpZ2h0cyIsIFtdKQogICAgbm9ybWFsaXplZCA9IFtub3JtYWxpemUodmFsdWUpIGZvciB2YWx1ZSBpbiB2YWx1ZXNdCiAgICBhdmVyYWdlID0gd2VpZ2h0ZWRfYXZlcmFnZShub3JtYWxpemVkLCB3ZWlnaHRzKQogICAgcmV0dXJuIHsiY291bnQiOiBsZW4odmFsdWVzKSwgImF2ZXJhZ2UiOiBhdmVyYWdlfQoKCmRlZiBhcHBseV9mbGFncyhkYXRhLCByZXBvcnQpOgogICAgZmxhZ3MgPSBkYXRhLmdldCgiZmxhZ3MiLCBbXSkKICAgICMgQlVHOiBhbnkgbm9uLWVtcHR5IGZsYWcgbGlzdCBydW5zIGEgcGVyLWZsYWcgYWRqdXN0bWVudCBwYXNzIHRoYXQgZGl2aWRlcwogICAgIyB0aGUgcnVubmluZyBjb3VudCBieSB0aGUgZmxhZydzIG93biBpbmRleCAtIHRoZSBmaXJzdCBmbGFnJ3MgaW5kZXggaXMKICAgICMgYWx3YXlzIHplcm8sIHNvIGEgc2luZ2xlIGZsYWcgaXMgZW5vdWdoIHRvIGNyYXNoLiBBbiBlbXB0eSBmbGFnIGxpc3QKICAgICMgbmV2ZXIgcmVhY2hlcyB0aGUgZGl2aXNpb24gYW5kIG5ldmVyIGNyYXNoZXMuCiAgICBmb3IgaW5kZXgsIF9mbGFnIGluIGVudW1lcmF0ZShmbGFncyk6CiAgICAgICAgcmVwb3J0W2YiZmxhZ197aW5kZXh9Il0gPSByZXBvcnRbImNvdW50Il0gLyBpbmRleAogICAgcmV0dXJuIHJlcG9ydAoKCmRlZiBtYWluKCk6CiAgICBkYXRhID0gbG9hZF9kYXRhKCkKICAgIHJlcG9ydCA9IGJ1aWxkX3JlcG9ydChkYXRhKQogICAgcmVwb3J0ID0gYXBwbHlfZmxhZ3MoZGF0YSwgcmVwb3J0KQogICAgcHJpbnQoanNvbi5kdW1wcyhyZXBvcnQpKQoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICBtYWluKCkKUEsDBBQAAAAAAAAAIVz9qmy06gAAAOoAAAAJAAAAaGVscGVyLnB5ZGVmIG5vcm1hbGl6ZSh2YWx1ZSk6CiAgICByZXR1cm4gdmFsdWUgLyAxMC4wCgoKZGVmIHdlaWdodGVkX2F2ZXJhZ2UodmFsdWVzLCB3ZWlnaHRzKToKICAgIHRvdGFsX3dlaWdodCA9IHN1bSh3ZWlnaHRzKQogICAgaWYgdG90YWxfd2VpZ2h0ID09IDA6CiAgICAgICAgcmV0dXJuIDAuMAogICAgcmV0dXJuIHN1bSh2ICogdyBmb3IgdiwgdyBpbiB6aXAodmFsdWVzLCB3ZWlnaHRzKSkgLyB0b3RhbF93ZWlnaHQKUEsDBBQAAAAAAAAAIVxYWsf9UAAAAFAAAAAJAAAAZGF0YS5qc29uewogICJ2YWx1ZXMiOiBbNCwgOSwgMTYsIDI1XSwKICAid2VpZ2h0cyI6IFsyLCAzLCA0LCA1XSwKICAiZmxhZ3MiOiBbInJldHJ5Il0KfQpQSwMEFAAAAAAAAAAhXGvxLk6pAQAAqQEAAAkAAABSRUFETUUubWQjIFJlZHVjZWQtYnVuZGxlIGV4YW1wbGUKCmBtYWluLnB5YCBsb2FkcyBgZGF0YS5qc29uYCwgY29tcHV0ZXMgYSBub3JtYWxpemVkIHdlaWdodGVkLWF2ZXJhZ2UgcmVwb3J0IHZpYQpgaGVscGVyLnB5YCwgdGhlbiBhcHBsaWVzIGEgcGVyLWZsYWcgYWRqdXN0bWVudCBwYXNzLiBUaGUgYWRqdXN0bWVudCBwYXNzCmRpdmlkZXMgdGhlIHJ1bm5pbmcgY291bnQgYnkgZWFjaCBmbGFnJ3Mgb3duIGluZGV4OyB0aGUgZmlyc3QgZmxhZyBhbHdheXMgaGFzCmluZGV4IDAsIHNvIGFueSBub24tZW1wdHkgYGZsYWdzYCBsaXN0IGluIGBkYXRhLmpzb25gIGNyYXNoZXMgd2l0aApgWmVyb0RpdmlzaW9uRXJyb3I6IGRpdmlzaW9uIGJ5IHplcm9gLiBBbiBlbXB0eSBgZmxhZ3NgIGxpc3QgbmV2ZXIgcmVhY2hlcyB0aGUKZGl2aXNpb24gYW5kIGV4aXRzIDAuClBLAQIUAxQAAAAAAAAAIVwQVBcsKwQAACsEAAAHAAAAAAAAAAAAAACkgQAAAABtYWluLnB5UEsBAhQDFAAAAAAAAAAhXP2qbLTqAAAA6gAAAAkAAAAAAAAAAAAAAKSBUAQAAGhlbHBlci5weVBLAQIUAxQAAAAAAAAAIVxYWsf9UAAAAFAAAAAJAAAAAAAAAAAAAACkgWEFAABkYXRhLmpzb25QSwECFAMUAAAAAAAAACFca/EuTqkBAACpAQAACQAAAAAAAAAAAAAApIHYBQAAUkVBRE1FLm1kUEsFBgAAAAAEAAQA2gAAAKgHAAAAAA==","command":["python3","main.py"],"entry":"main.py","language":"python","maxRuns":400,"predicate":{"exitCode":1,"stderrPattern":"ZeroDivisionError"},"pruneFiles":true,"timeoutMs":2000},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://reduce.api.williamrobinson.dev/v1/reduce/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/reduced.zip","mediaType":"application/zip","name":"reduced.zip","sha256":"aa10eb1d670feaba930017330f4dc2460f84943e708024169f6407a8ed02b2c3","sizeBytes":781},{"href":"https://reduce.api.williamrobinson.dev/v1/reduce/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/entry.txt","mediaType":"text/plain; charset=utf-8","name":"entry.txt","sha256":"0d48387beee96a0f9d104d8b43a968f5f072e20c12f58f29b4089a4c9a65a20c","sizeBytes":573},{"href":"https://reduce.api.williamrobinson.dev/v1/reduce/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/replay.sh","mediaType":"text/x-shellscript; charset=utf-8","name":"replay.sh","sha256":"d03d747cb6abef5e32753f9ae3e557d528964975966f47cc2997f47be492db39","sizeBytes":551},{"href":"https://reduce.api.williamrobinson.dev/v1/reduce/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/runs.jsonl","mediaType":"application/x-ndjson","name":"runs.jsonl","sha256":"31c14148efc3a0afadb4af5b11d98388299cecad1eefd8d04bee92cf85f36221","sizeBytes":41221},{"href":"https://reduce.api.williamrobinson.dev/v1/reduce/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"9696740bcb531213c19c3cae0bf48014aae88e5b56e7ee2d6b76d47a47b82901","sizeBytes":2651}],"checks":[{"code":"bundle_valid","detail":"The bundle passed the zip guard and entry checks.","status":"passed"},{"code":"command_allowed","detail":"The command's interpreter is on the runner's allowlist.","status":"passed"},{"code":"reproduces_twice","detail":"The original bundle reproduced the failure on both baseline runs.","status":"passed"},{"code":"reduced_reproduces_twice","detail":"The reduced bundle reproduced the failure on both verification runs.","status":"passed"},{"code":"reduction_achieved","detail":"Removed 46.3% of the entry's bytes.","status":"passed"},{"code":"within_budget","detail":"The reducer converged within the run and time budget.","status":"passed"}],"command":["python3","main.py"],"entry":"main.py","expiresAt":"2026-09-12T05:11:08.482Z","limitations":["Reduction is heuristic delta-debugging, not a proof of minimality: the result is a local minimum under the fixed pass order listed in `passes`, never the provably smallest reproduction.","Structure-aware chunk removal understands JSON, Python (indentation blocks), and JavaScript/TypeScript/C-like (statement splitting) syntax only; other languages get line- and token-level passes only.","Identifier and semantic renaming are never attempted.","The buyer's command runs once per candidate in a network-isolated, single-flight container; races, multi-process interactions, and environment-dependent flakiness beyond the two-run reproduction check cannot be captured.","Compiled languages (C/C++/Rust build pipelines), multi-command builds, and parallel candidate execution are out of scope."],"original":{"bytes":1806,"entryBytes":1067,"entryLines":39,"files":4,"run":{"durationMs":44,"exitCode":1,"failing":true,"signal":null,"stderrBytes":395,"stdoutBytes":0,"timedOut":false}},"passes":[{"name":"strip-comments","removedBytes":295,"removedFiles":0,"runs":1},{"name":"file-pruning","removedBytes":425,"removedFiles":1,"runs":3},{"name":"chunk-removal","removedBytes":48,"removedFiles":0,"runs":60},{"name":"line-ddmin","removedBytes":0,"removedFiles":0,"runs":76},{"name":"token-trimming","removedBytes":151,"removedFiles":0,"runs":255},{"name":"cleanup","removedBytes":0,"removedFiles":0,"runs":0}],"predicate":{"exitCode":1,"stderrPattern":"ZeroDivisionError"},"prunedFiles":["README.md"],"reduced":{"bytes":887,"entryBytes":573,"entryLines":19,"files":3,"run":{"durationMs":44,"exitCode":1,"failing":true,"signal":null,"stderrBytes":417,"stdoutBytes":0,"timedOut":false}},"reductionRatio":0.4629803186504217,"runs":{"budgetExhausted":false,"failing":35,"passing":364,"timedOut":0,"total":399},"status":"passed","tools":{"reducer":"reduce/1.0","runner":"628ms"},"truncated":false,"warnings":[]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$defs":{"predicate":{"additionalProperties":false,"anyOf":[{"properties":{"exitCode":true},"required":["exitCode"]},{"properties":{"stdoutPattern":true},"required":["stdoutPattern"]},{"properties":{"stderrPattern":true},"required":["stderrPattern"]},{"properties":{"timeoutIsFailure":true},"required":["timeoutIsFailure"]}],"properties":{"exitCode":{"description":"Exact exit code, or \"nonzero\" to match any non-zero code including signals and timeouts.","oneOf":[{"maximum":255,"minimum":0,"type":"integer"},{"const":"nonzero"}]},"stderrPattern":{"description":"ECMAScript regular expression (compiled with the \"u\" flag) tested against the captured, capped stderr.","maxLength":256,"minLength":1,"type":"string"},"stdoutPattern":{"description":"ECMAScript regular expression (compiled with the \"u\" flag) tested against the captured, capped stdout.","maxLength":256,"minLength":1,"type":"string"},"timeoutIsFailure":{"description":"Treat a run that exceeds timeoutMs as satisfying the predicate.","type":"boolean"}},"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"bundle":{"contentEncoding":"base64","description":"Base64 .zip of the bundle: source files and inputs (<= 2097152 bytes decoded), no symlinks, no absolute paths, no \"..\" entries.","maxLength":2796204,"type":"string"},"command":{"description":"Command run from the bundle root; argv[0] must be one of node, python3, sh.","items":{"maxLength":512,"minLength":1,"type":"string"},"maxItems":16,"minItems":1,"type":"array"},"entry":{"description":"Relative forward-slash path inside the bundle of the file to reduce textually (<= 524288 bytes, UTF-8 text).","maxLength":1024,"minLength":1,"type":"string"},"language":{"default":"auto","description":"Language hint for structure-aware passes; \"auto\" sniffs from the entry's extension.","enum":["auto","text","json","javascript","typescript","python","c-like"],"type":"string"},"maxRuns":{"default":400,"description":"Upper bound on candidate executions.","maximum":600,"minimum":1,"type":"integer"},"predicate":{"$ref":"#/properties/input/properties/body/$defs/predicate"},"pruneFiles":{"default":true,"description":"Whether files other than the entry may be deleted when the failure survives without them.","type":"boolean"},"timeoutMs":{"description":"Per-run wall-clock limit in milliseconds.","maximum":5000,"minimum":100,"type":"integer"}},"required":["bundle","entry","command","predicate","timeoutMs"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"artifact":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"type":"string"},"name":{"enum":["reduced.zip","entry.txt","replay.sh","runs.jsonl","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"check":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"predicate":{"additionalProperties":false,"anyOf":[{"properties":{"exitCode":true},"required":["exitCode"]},{"properties":{"stdoutPattern":true},"required":["stdoutPattern"]},{"properties":{"stderrPattern":true},"required":["stderrPattern"]},{"properties":{"timeoutIsFailure":true},"required":["timeoutIsFailure"]}],"properties":{"exitCode":{"description":"Exact exit code, or \"nonzero\" to match any non-zero code including signals and timeouts.","oneOf":[{"maximum":255,"minimum":0,"type":"integer"},{"const":"nonzero"}]},"stderrPattern":{"description":"ECMAScript regular expression (compiled with the \"u\" flag) tested against the captured, capped stderr.","maxLength":256,"minLength":1,"type":"string"},"stdoutPattern":{"description":"ECMAScript regular expression (compiled with the \"u\" flag) tested against the captured, capped stdout.","maxLength":256,"minLength":1,"type":"string"},"timeoutIsFailure":{"description":"Treat a run that exceeds timeoutMs as satisfying the predicate.","type":"boolean"}},"type":"object"},"runOutcome":{"additionalProperties":false,"properties":{"durationMs":{"minimum":0,"type":"number"},"exitCode":{"type":["integer","null"]},"failing":{"type":"boolean"},"signal":{"type":["string","null"]},"stderrBytes":{"minimum":0,"type":"integer"},"stdoutBytes":{"minimum":0,"type":"integer"},"timedOut":{"type":"boolean"}},"required":["exitCode","signal","timedOut","durationMs","stdoutBytes","stderrBytes","failing"],"type":"object"},"runSummary":{"additionalProperties":false,"properties":{"bytes":{"minimum":0,"type":"integer"},"entryBytes":{"minimum":0,"type":"integer"},"entryLines":{"minimum":0,"type":"integer"},"files":{"minimum":0,"type":"integer"},"run":{"$ref":"#/properties/output/properties/example/$defs/runOutcome"}},"required":["files","bytes","entryBytes","entryLines","run"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"$ref":"#/properties/output/properties/example/$defs/artifact"},"maxItems":5,"type":"array"},"checks":{"items":{"$ref":"#/properties/output/properties/example/$defs/check"},"type":"array"},"command":{"items":{"type":"string"},"type":"array"},"entry":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"limitations":{"items":{"type":"string"},"maxItems":100,"type":"array"},"original":{"$ref":"#/properties/output/properties/example/$defs/runSummary"},"passes":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"removedBytes":{"type":"integer"},"removedFiles":{"minimum":0,"type":"integer"},"runs":{"minimum":0,"type":"integer"}},"required":["name","runs","removedBytes","removedFiles"],"type":"object"},"type":"array"},"predicate":{"$ref":"#/properties/output/properties/example/$defs/predicate"},"prunedFiles":{"items":{"type":"string"},"maxItems":100,"type":"array"},"reduced":{"$ref":"#/properties/output/properties/example/$defs/runSummary"},"reductionRatio":{"maximum":1,"minimum":0,"type":"number"},"runs":{"additionalProperties":false,"properties":{"budgetExhausted":{"type":"boolean"},"failing":{"minimum":0,"type":"integer"},"passing":{"minimum":0,"type":"integer"},"timedOut":{"minimum":0,"type":"integer"},"total":{"minimum":0,"type":"integer"}},"required":["total","failing","passing","timedOut","budgetExhausted"],"type":"object"},"status":{"enum":["passed","failed"],"type":"string"},"tools":{"additionalProperties":false,"properties":{"reducer":{"type":"string"},"runner":{"type":"string"}},"required":["reducer","runner"],"type":"object"},"truncated":{"type":"boolean"},"warnings":{"items":{"type":"string"},"maxItems":100,"type":"array"}},"required":["status","tools","entry","command","predicate","original","reduced","reductionRatio","passes","runs","prunedFiles","checks","warnings","limitations","truncated","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"reduce.api.williamrobinson.dev","lastUpdated":"2026-09-11T20:07:51.105Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T20:07:50.591Z"},"liveness":{},"verified":false,"featured":false},{"id":8204,"slug":"8204","resource":"https://garment.api.williamrobinson.dev/v1/garment/draft","description":"Draft a made-to-measure sewing pattern from a pinned freesewing design (aaron, bruce, teagan, simon, hugo, wahid, bella, sven) using your measurements and design options, run fit/seam-allowance checks, lay pieces out on your fabric width with a bounding-box marker, and return a fabric-yield report plus downloadable pattern, layout, cutlist and piece artifacts. Freesewing designs are CC-BY (freesewing.org); this service adds drafting, layout, and reporting.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"100000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"design":"aaron","fabric":{"folded":true,"gapMm":10,"widthMm":1500},"measurements":{"biceps":300,"chest":1000,"hips":1030,"hpsToBust":320,"hpsToWaistBack":420,"neck":380,"shoulderSlope":13,"shoulderToShoulder":400,"waistToArmpit":220,"waistToHips":200},"options":{"chestEase":10,"hipsEase":12,"lengthBonus":15},"saMm":10},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/pattern.svg","mediaType":"image/svg+xml","name":"pattern.svg","sha256":"7fdc2fed33e9e13816bdc135f63dfd9aa355d137a4979c744945d68eb62486cd","sizeBytes":167624},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/layout.svg","mediaType":"image/svg+xml","name":"layout.svg","sha256":"9c3272c0cbe195c979d5d47afd99cf58ac77b18a953e17f0438cf8fa3bf5dfd0","sizeBytes":2336},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/pieces.json","mediaType":"application/json","name":"pieces.json","sha256":"925703c0e433706e985bc07ef914ea9c34d8c32ddfc93d701502f26dda023770","sizeBytes":2090},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/cutlist.csv","mediaType":"text/csv; charset=utf-8","name":"cutlist.csv","sha256":"f847c8039263f44ca3f6d755484de68d7b023c15c5c5f7757f48be905dc74563","sizeBytes":443},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"3712bddf823468d4b699e8e725cc9b8c7df9499308b8b6aae56a11b725b4789a","sizeBytes":5949}],"checks":[{"code":"DESIGN_SUPPORTED","detail":"\"aaron\" (Aaron A-shirt) is an allowlisted freesewing design","status":"passed"},{"code":"MEASUREMENTS_COMPLETE","detail":"All 10 required measurement(s) are present","status":"passed"},{"code":"MEASUREMENTS_PLAUSIBLE","detail":"Every provided measurement is within its plausible range","status":"passed"},{"code":"OPTIONS_IN_RANGE","detail":"All 3 provided option(s) are in range","status":"passed"},{"code":"DRAFT","detail":"Drafted and rendered without errors in 42.4 ms","status":"passed"},{"code":"PIECES_NONEMPTY","detail":"4 piece(s) drafted","status":"passed"},{"code":"SEAM_ALLOWANCE_APPLIED","detail":"Every piece with seam-allowance geometry used it for its cutting outline; 2 piece(s) are drafted without a seam allowance by the design: aaron.armBinding, aaron.neckBinding","status":"passed"},{"code":"PIECES_FIT_FABRIC","detail":"Every piece fits within the usable fabric width of 750 mm","status":"passed"},{"code":"LAYOUT_PACKED","detail":"4 piece placement(s) packed across 1491.5 mm of fabric length","status":"passed"},{"code":"FABRIC_YIELD","detail":"Utilization 29.6% of the usable fabric area","status":"passed"}],"design":"aaron","designVersion":"4.10.1","expiresAt":"2026-09-13T14:56:37.143Z","freesewingVersion":"4.10.1","layout":{"fabricWidthMm":1500,"folded":true,"gapMm":10,"lengthMm":1491.4860652603518,"method":"bbox-shelf","placements":[{"copy":1,"mirrored":false,"onFold":true,"piece":"aaron.back","rotationDeg":0,"xMm":0,"yMm":0},{"copy":1,"mirrored":false,"onFold":true,"piece":"aaron.front","rotationDeg":0,"xMm":0,"yMm":750.7430326301759},{"copy":1,"mirrored":true,"onFold":false,"piece":"aaron.armBinding","rotationDeg":0,"xMm":293.97999999999996,"yMm":750.7430326301759},{"copy":1,"mirrored":true,"onFold":false,"piece":"aaron.neckBinding","rotationDeg":0,"xMm":363.97999999999996,"yMm":750.7430326301759}],"usableWidthMm":750,"utilization":0.2958254665958102},"limitations":["The layout is a bounding-box shelf packing (NFDH), an upper bound on how little fabric a true irregular-shape nesting could use, not a proven optimum or a real marker.","Every freesewing pattern this product drafts is CC-BY licensed by freesewing.org (https://freesewing.org); the drafted geometry is derivative of their designs and must be attributed on redistribution.","This product does not perform freeform pattern changes, full bust adjustments (beyond a design's own `draftForHighBust`/bust-plugin options), or grading tables; it drafts exactly one size from the measurements given.","Measurements and fabric dimensions are metric-only (mm/degrees); no imperial input or output is supported.","A drafted, checked pattern is not a guarantee of fit on a body: no physical prototype or wear test is performed.","The layout, fabric length, and fabric-yield percentage cover only pieces cut from the design's primary shell fabric; a piece that needs a different material (lining, interfacing, ribbing, etc., named in a warning when present) is still reported with its own bbox/area/cut count but is not laid out or included in that yardage."],"measurementsApplied":{"biceps":300,"chest":1000,"hips":1030,"hpsToBust":320,"hpsToWaistBack":420,"neck":380,"shoulderSlope":13,"shoulderToShoulder":400,"waistToArmpit":220,"waistToHips":200},"optionsApplied":{"chestEase":10,"hipsEase":12,"lengthBonus":15},"pieces":[{"areaMm2":133361.34427204923,"bboxMm":{"heightMm":740.7430326301759,"widthMm":283.97999999999996},"cut":1,"hasGrainline":false,"material":"fabric","name":"aaron.front","onFold":true,"saApplied":true,"title":"front"},{"areaMm2":133361.34427204923,"bboxMm":{"heightMm":740.7430326301759,"widthMm":283.97999999999996},"cut":1,"hasGrainline":false,"material":"fabric","name":"aaron.back","onFold":true,"saApplied":true,"title":"back"},{"areaMm2":32311.488442599337,"bboxMm":{"heightMm":538.5248073766556,"widthMm":60},"cut":2,"hasGrainline":false,"material":"fabric","name":"aaron.armBinding","onFold":false,"saApplied":false,"title":"aaron:armBinding"},{"areaMm2":31880.493895896623,"bboxMm":{"heightMm":531.3415649316104,"widthMm":60},"cut":1,"hasGrainline":false,"material":"fabric","name":"aaron.neckBinding","onFold":false,"saApplied":false,"title":"aaron:neckBinding"}],"saMm":10,"status":"passed","totals":{"cutPieces":5,"draftMs":42.43397900000002,"pieceAreaMm2":629948.8478692923},"warnings":["Part \"aaron.armBinding\" is drafted without a seam allowance by the design; its cutting outline is the seam line.","Part \"aaron.neckBinding\" is drafted without a seam allowance by the design; its cutting outline is the seam line."]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"design":{"description":"aaron (v4.10.1): requires biceps, chest, hpsToBust, hpsToWaistBack, neck, shoulderToShoulder, shoulderSlope, waistToArmpit, waistToHips, hips; optional highBust; options chestEase:pct[0,20], draftForHighBust:bool, lengthBonus:pct[-20,60], armholeDepth:pct[-10,50], legacyArmholeDepth:bool, hipsEase:pct[0,20], stretchFactor:pct[0,15], armholeDrop:pct[0,75], necklineBend:pct[40,100], necklineDrop:pct[10,35], shoulderStrapWidth:pct[10,40], shoulderStrapPlacement:pct[20,80], backlineBend:pct[25,100], knitBindingWidth:pct[300,800] | bruce (v4.10.1): requires hips, upperLeg, waistToHips, waistToUpperLeg; options bulge:deg[0,40], legBonus:pct[-10,20], rise:pct[0,25], stretch:pct[5,25], legStretch:pct[25,45], backRise:pct[0,10] | teagan (v4.10.1): requires biceps, chest, hpsToBust, hpsToWaistBack, neck, shoulderToShoulder, shoulderSlope, waistToArmpit, waistToHips, hips, waist, shoulderToWrist, wrist; optional highBust; options chestEase:pct[5,25], cuffEase:pct[0,200], draftForHighBust:bool, lengthBonus:pct[-20,60], s3Collar:pct[-100,100], s3Armhole:pct[-100,100], acrossBackFactor:pct[93,100], armholeDepth:pct[-10,50], armholeDepthFactor:pct[50,70], backNeckCutout:pct[4,12], legacyArmholeDepth:bool, sleeveWidthGuarantee:pct[25,100], sleeveLength:pct[20,100], fitWaist:bool, waistEase:pct[8,40], hipsEase:pct[8,30], necklineDepth:pct[20,40], necklineWidth:pct[10,50], necklineBend:pct[0,70], sleevecapEase:pct[0,10], sleevecapTopFactorX:pct[25,75], sleevecapTopFactorY:pct[35,125], sleevecapBackFactorX:pct[35,65], sleevecapBackFactorY:pct[30,65], sleevecapFrontFactorX:pct[35,65], sleevecapFrontFactorY:pct[30,65], sleevecapQ1Offset:pct[0,7], sleevecapQ2Offset:pct[0,7], sleevecapQ3Offset:pct[0,7], sleevecapQ4Offset:pct[0,7], sleevecapQ1Spread1:pct[4,20], sleevecapQ1Spread2:pct[4,20], sleevecapQ2Spread1:pct[4,20], sleevecapQ2Spread2:pct[4,20], sleevecapQ3Spread1:pct[4,20], sleevecapQ3Spread2:pct[4,20], sleevecapQ4Spread1:pct[4,20], sleevecapQ4Spread2:pct[4,20], sleeveEase:pct[5,35] | simon (v4.10.1): requires biceps, chest, hpsToBust, hpsToWaistBack, neck, shoulderToShoulder, shoulderSlope, waistToArmpit, waistToHips, waist, hips, shoulderToWrist, wrist; optional highBust; options bicepsEase:pct[0,50], chestEase:pct[-4,35], collarEase:pct[0,10], cuffEase:pct[10,40], draftForHighBust:bool, shoulderEase:pct[0,15], lengthBonus:pct[-4,60], s3Collar:pct[-100,100], s3Armhole:pct[-100,100], acrossBackFactor:pct[93,100], armholeDepth:pct[-10,50], armholeDepthFactor:pct[50,70], backNeckCutout:pct[2,8], frontArmholeDeeper:pct[0,0.5], shoulderSlopeReduction:pct[0,80], legacyArmholeDepth:bool, backDarts:list[auto/never/always], backDartShaping:pct[5,75], boxPleat:bool, boxPleatFold:pct[10,20], boxPleatWidth:pct[4,10], roundBack:pct[0,10], buttonholePlacketWidth:pct[4,12], buttonholePlacketFoldWidth:pct[8,24], buttonPlacketWidth:pct[2,8], hemCurve:pct[25,100], hemStyle:list[straight/baseball/slashed], hipsEase:pct[10,35], yokeHeight:pct[40,90], sleevePlacketWidth:pct[8,18], waistEase:pct[10,35], buttonFreeLength:pct[-10,15], extraTopButton:bool, separateButtonPlacket:bool, separateButtonholePlacket:bool, buttons:count[4,12], ffsa:pct[100,200], collarAngle:deg[60,130], collarBend:pct[0,10], collarFlare:deg[0,10], collarGap:pct[0,6], collarRoll:pct[0,6], collarWidth:pct[90,200], collarStandBend:deg[0,5], collarStandCurve:deg[0,5], collarStandWidth:pct[3,13], barrelCuffNarrowButton:bool, cuffButtonRows:count[1,2], cuffDrape:pct[0,10], cuffLength:pct[3,15], cuffStyle:list[roundedBarrelCuff/angledBarrelCuff/straightBarrelCuff/roundedFrenchCuff/angledFrenchCuff/straightFrenchCuff], sleeveStyle:list[short/long], buttonPlacketStyle:list[classic/seamless], buttonholePlacketStyle:list[classic/seamless], sleevecapEase:pct[0,10], sleevecapTopFactorX:pct[25,75], sleevecapTopFactorY:pct[35,125], sleevecapBackFactorX:pct[35,65], sleevecapBackFactorY:pct[30,65], sleevecapFrontFactorX:pct[35,65], sleevecapFrontFactorY:pct[30,65], sleevecapQ1Offset:pct[0,7], sleevecapQ2Offset:pct[0,7], sleevecapQ3Offset:pct[0,7], sleevecapQ4Offset:pct[0,7], sleevecapQ1Spread1:pct[4,20], sleevecapQ1Spread2:pct[4,20], sleevecapQ2Spread1:pct[4,20], sleevecapQ2Spread2:pct[4,20], sleevecapQ3Spread1:pct[4,20], sleevecapQ3Spread2:pct[4,20], sleevecapQ4Spread1:pct[4,20], sleevecapQ4Spread2:pct[4,20], sleeveLengthBonus:pct[-40,10], sleeveWidthGuarantee:pct[25,100], sleeveLengthShort:pct[20,100], sleeveHemShort:pct[1,20], sleevePlacketLength:pct[15,35], splitYoke:bool | hugo (v4.10.1): requires biceps, chest, hpsToBust, hpsToWaistBack, neck, shoulderToShoulder, shoulderSlope, waistToArmpit, waistToHips, hips, shoulderToWrist, wrist, head; optional highBust; options bicepsEase:pct[0,50], chestEase:pct[4,20], collarEase:pct[0,10], cuffEase:pct[10,50], draftForHighBust:bool, shoulderEase:pct[-2,6], lengthBonus:pct[-4,60], s3Collar:pct[-100,100], s3Armhole:pct[-100,100], acrossBackFactor:pct[93,100], armholeDepth:pct[-10,50], armholeDepthFactor:pct[50,70], backNeckCutout:pct[2,8], frontArmholeDeeper:pct[0,0.5], shoulderSlopeReduction:pct[0,80], legacyArmholeDepth:bool, hipsEase:pct[4,20], ribbingHeight:pct[4,20], pocketWidth:pct[35,65], sleeveLengthBonus:pct[0,10], ribbingStretch:pct[0,10] | wahid (v4.10.1): requires biceps, chest, hpsToBust, hpsToWaistBack, neck, shoulderToShoulder, shoulderSlope, waistToArmpit, waistToHips, hips, waist; optional highBust; options chestEase:pct[1,10], draftForHighBust:bool, lengthBonus:pct[0,8], armholeDepth:pct[-10,50], armholeDepthFactor:pct[60,80], backNeckCutout:pct[-2,8], shoulderSlopeReduction:pct[0,80], legacyArmholeDepth:bool, necklineDrop:pct[35,85], frontStyle:list[classic/rounded], frontInset:pct[10,20], shoulderInset:pct[0,20], neckInset:pct[0,10], hemStyle:list[classic/rounded/square], hemRadius:pct[2,12], pocketWidth:pct[8,15], pocketAngle:deg[0,5], pocketLocation:pct[25,55], frontScyeDart:deg[0,12], buttons:count[4,12], waistEase:pct[2,15], hipsEase:pct[2,15], legacyWaistHips:bool, backInset:pct[10,20], centerBackDart:pct[0,5], backScyeDart:deg[0,6], weltHeight:pct[10,20] | bella (v4.10.1): requires highBust, chest, underbust, waist, waistBack, bustSpan, neck, hpsToBust, hpsToWaistFront, hpsToWaistBack, shoulderToShoulder, shoulderSlope, biceps, shoulderToWrist, waistToArmpit, wrist; options bustSpanEase:pct[0,20], chestEase:pct[5,20], fullChestEaseReduction:pct[0,8], shoulderToShoulderEase:pct[-1,5], waistEase:pct[1,20], backDartHeight:pct[38,54], bustDartCurve:pct[-100,100], bustDartLength:pct[75,100], bustDartAngle:count[-45,45], bustDartMinimumFabric:pct[1,50], waistDartLength:pct[75,95], waistDartCurve:pct[-100,100], armholeDepth:pct[38,46], backArmholeCurvature:pct[50,85], backArmholePitchDepth:pct[30,40], backArmholeSlant:deg[1,9], frontArmholeCurvature:pct[50,85], frontArmholePitchDepth:pct[27,31], backHemSlope:deg[0,5], backNeckCutout:pct[3,9], frontShoulderWidth:pct[92,98], highBustWidth:pct[80,92], sleevecapEase:pct[0,10], sleevecapTopFactorX:pct[25,75], sleevecapTopFactorY:pct[35,125], sleevecapBackFactorX:pct[35,65], sleevecapBackFactorY:pct[30,65], sleevecapFrontFactorX:pct[35,65], sleevecapFrontFactorY:pct[30,65], sleevecapQ1Offset:pct[0,7], sleevecapQ2Offset:pct[0,7], sleevecapQ3Offset:pct[0,7], sleevecapQ4Offset:pct[0,7], sleevecapQ1Spread1:pct[4,20], sleevecapQ1Spread2:pct[4,20], sleevecapQ2Spread1:pct[4,20], sleevecapQ2Spread2:pct[4,20], sleevecapQ3Spread1:pct[4,20], sleevecapQ3Spread2:pct[4,20], sleevecapQ4Spread1:pct[4,20], sleevecapQ4Spread2:pct[4,20], sleeveLengthBonus:pct[-40,10], sleeveWidthGuarantee:pct[25,100], bellaSleeve:bool, bicepsEase:pct[0,50], cuffEase:pct[0,200] | sven (v4.10.1): requires biceps, chest, hpsToBust, hpsToWaistBack, neck, shoulderToShoulder, shoulderSlope, waistToArmpit, waistToHips, hips, waist, shoulderToWrist, wrist; optional highBust; options bicepsEase:pct[0,50], chestEase:pct[-4,35], collarEase:pct[5,30], cuffEase:pct[0,200], draftForHighBust:bool, shoulderEase:pct[-2,6], lengthBonus:pct[0,30], s3Collar:pct[-100,100], s3Armhole:pct[-100,100], acrossBackFactor:pct[93,100], armholeDepth:pct[-10,50], armholeDepthFactor:pct[50,70], backNeckCutout:pct[2,8], frontArmholeDeeper:pct[0,0.5], shoulderSlopeReduction:pct[0,80], legacyArmholeDepth:bool, sleeveLengthBonus:pct[0,10], ribbingHeight:pct[3,15], hipsEase:pct[-4,20], ribbing:bool, sleevecapEase:pct[0,10], sleevecapTopFactorX:pct[25,75], sleevecapTopFactorY:pct[35,125], sleevecapBackFactorX:pct[35,65], sleevecapBackFactorY:pct[30,65], sleevecapFrontFactorX:pct[35,65], sleevecapFrontFactorY:pct[30,65], sleevecapQ1Offset:pct[0,7], sleevecapQ2Offset:pct[0,7], sleevecapQ3Offset:pct[0,7], sleevecapQ4Offset:pct[0,7], sleevecapQ1Spread1:pct[4,20], sleevecapQ1Spread2:pct[4,20], sleevecapQ2Spread1:pct[4,20], sleevecapQ2Spread2:pct[4,20], sleevecapQ3Spread1:pct[4,20], sleevecapQ3Spread2:pct[4,20], sleevecapQ4Spread1:pct[4,20], sleevecapQ4Spread2:pct[4,20], sleeveWidthGuarantee:pct[25,100], ribbingStretch:pct[0,30] | pct options are percent numbers on freesewing's own 0-100 scale (e.g. chestEase 15 = 15% ease), not 0-1 fractions; their [min,max] can exceed 100.","enum":["aaron","bruce","teagan","simon","hugo","wahid","bella","sven"],"type":"string"},"fabric":{"additionalProperties":false,"properties":{"folded":{"default":true,"description":"Lay the fabric folded lengthwise; usable width halves and on-fold pieces sit on the fold.","type":"boolean"},"gapMm":{"default":10,"description":"Minimum gap between placed pieces, millimetres.","maximum":100,"minimum":0,"type":"number"},"widthMm":{"description":"Usable fabric width (selvedge to selvedge), millimetres.","maximum":3000,"minimum":300,"type":"number"}},"required":["widthMm"],"type":"object"},"measurements":{"additionalProperties":{"exclusiveMinimum":0,"maximum":10000,"type":"number"},"description":"Millimetres for lengths, degrees for angles; keys are the chosen design's required/optional freesewing measurement names.","maxProperties":64,"type":"object"},"options":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"boolean"}]},"description":"Freesewing design option overrides by name; type and range/enum are validated per the design's option catalog. Fixed-constant options are never settable.","maxProperties":64,"type":"object"},"saMm":{"default":10,"description":"Seam allowance, millimetres (0 = none).","maximum":50,"minimum":0,"type":"number"}},"required":["design","measurements","fabric"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"bbox":{"additionalProperties":false,"properties":{"heightMm":{"minimum":0,"type":"number"},"widthMm":{"minimum":0,"type":"number"}},"required":["widthMm","heightMm"],"type":"object"},"check":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"maxLength":2048,"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"placement":{"additionalProperties":false,"properties":{"copy":{"minimum":0,"type":"integer"},"mirrored":{"type":"boolean"},"onFold":{"type":"boolean"},"piece":{"type":"string"},"rotationDeg":{"enum":[0,180],"type":"integer"},"xMm":{"type":"number"},"yMm":{"type":"number"}},"required":["piece","copy","xMm","yMm","rotationDeg","mirrored","onFold"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["pattern.svg","layout.svg","pieces.json","cutlist.csv","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":5,"type":"array"},"checks":{"items":{"$ref":"#/properties/output/properties/example/$defs/check"},"type":"array"},"design":{"enum":["aaron","bruce","teagan","simon","hugo","wahid","bella","sven"],"type":"string"},"designVersion":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"freesewingVersion":{"const":"4.10.1","type":"string"},"layout":{"additionalProperties":false,"properties":{"fabricWidthMm":{"minimum":0,"type":"number"},"folded":{"type":"boolean"},"gapMm":{"minimum":0,"type":"number"},"lengthMm":{"minimum":0,"type":"number"},"method":{"const":"bbox-shelf","type":"string"},"placements":{"items":{"$ref":"#/properties/output/properties/example/$defs/placement"},"type":"array"},"usableWidthMm":{"minimum":0,"type":"number"},"utilization":{"maximum":1,"minimum":0,"type":"number"}},"required":["fabricWidthMm","usableWidthMm","folded","gapMm","lengthMm","utilization","method","placements"],"type":["object","null"]},"limitations":{"items":{"maxLength":4096,"type":"string"},"type":"array"},"measurementsApplied":{"additionalProperties":{"type":"number"},"type":"object"},"optionsApplied":{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"boolean"}]},"type":"object"},"pieces":{"items":{"additionalProperties":false,"properties":{"areaMm2":{"minimum":0,"type":"number"},"bboxMm":{"$ref":"#/properties/output/properties/example/$defs/bbox"},"cut":{"minimum":0,"type":"integer"},"hasGrainline":{"type":"boolean"},"material":{"type":["string","null"]},"name":{"type":"string"},"onFold":{"type":"boolean"},"saApplied":{"type":"boolean"},"title":{"type":"string"}},"required":["name","title","bboxMm","areaMm2","cut","onFold","hasGrainline","material","saApplied"],"type":"object"},"type":"array"},"saMm":{"minimum":0,"type":"number"},"status":{"enum":["passed","rejected"],"type":"string"},"totals":{"additionalProperties":false,"properties":{"cutPieces":{"minimum":0,"type":"integer"},"draftMs":{"minimum":0,"type":"number"},"pieceAreaMm2":{"minimum":0,"type":"number"}},"required":["pieceAreaMm2","cutPieces","draftMs"],"type":["object","null"]},"warnings":{"items":{"maxLength":4096,"type":"string"},"type":"array"}},"required":["status","design","designVersion","freesewingVersion","measurementsApplied","optionsApplied","saMm","pieces","layout","totals","checks","warnings","limitations","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"garment.api.williamrobinson.dev","lastUpdated":"2026-09-11T19:22:16.259Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T19:22:15.521Z"},"liveness":{},"verified":false,"featured":false},{"id":8209,"slug":"8209","resource":"https://pcb.api.williamrobinson.dev/v1/pcb/fabricate","description":"Apply structural edits (move/rotate footprints, resize a net's track width, add a mounting hole, edit a field, swap a footprint) to a KiCad 8/9 project, run electrical and design-rule checks under a named fabrication profile, and return a scoped pass/fail report plus downloadable Gerber X2/Excellon, BOM, position file, PDF, and preview artifacts. Claims are scoped: ERC/DRC clean under the listed profile rules, never \"DFM approved\"; footprint swaps are checked structurally, never electrically.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"250000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"edits":[{"kind":"set_track_width","net":"Net-R1_Pad2-LED1_Pad1","widthMm":0.35},{"drillMm":3.2,"kind":"add_mounting_hole","x":2,"y":2},{"field":"Value","kind":"set_field","reference":"R1","value":"1K"}],"options":{"requireDrcClean":true,"requireErcClean":true,"schematicParity":false},"profile":"2-layer-standard","project":"UEsDBBQAAAAIAACQn0/H8GZEtwAAAAQCAAAMAAAAZnAtbGliLXRhYmxllY5BC4IwFMfvfoohHebFIIroGK5QzBTzPqa+YqCbbDOI6Ls3oYMEEbu9/3v83u+PrwPteE0NqzvwEMJ3UJpLgbbBlOwJYcF6QH4JmmsjFb1kxA+weQx2mfKItTaNiiN/8UyTaE929JjnVVEm54qSpHwt52Q4KDDmYRE5GOvRyLdzC7pR0/QtPR2Iu+8DOaoiKQQ0U82CixhYC4quws26793sv/84FsrkKAwXt1h24FZhTv6VBt4bUEsDBBQAAAAIAACQn09Cf2yYuQ8AAN07AAAVAAAAcGNiX2V4YW1wbGUua2ljYWRfcGNi1Vtbc9s4ln7u/AqWax+SqUDBnUC/dS5d07OT2VS6d6r2SYWrrY0saUUqTmZr/vt+ICmJkm3Z3W2ld5yKTB+CwIeDc/uOpOefZsHF6Sr4Z989/5zWzWy5qDjlknFuX0B2mRZp7drlurrAoEW6uTiQTrfPXNgJHd2aP/vuu+ft1Sx8WqSmqdhEvyiSebp04eu0TW4d18tVUy2WkJfHVm6VsMYPsptk7r5i3vIErS5+nLzZXFTN7HLh5t0svLp4fSyzZdwP8So1F9WmKVMNf84+p4tuBGPlsYMhr4+HiPLYB9e0qR/SS1UZeSxVZejPs/mnn/cLlj+bsE5p0c9XlwcPxry+NYaVB9+75tNoblEGHskYJnt7c9lM/hOS7XTlevJ27W5mi8tmmA+aeHPd3jHuzfL6Oi3aYRzHwu/Ckt0eV6TDGNGN4XeO4cMYKOJdvEw4kLYZ4eXA+96tL2eL8ca63b5Zt/8V91p7s9ys26+wiGFC2x3veMzr4zGi0/6Pzo/n7rR2JLMDXjYSSjYI+VgoBqEYC9UglDthsc4mtZtVub+C67TL6TVOahrmMGq3CKmi3bNuPl/eTJvlPKZ1N8CvZ1BTM50tpnm5bFfrGc6idwC4Cg4GZ1jl9XLRVt6FT50YLreaYyxmvi7usPWMNE+hLW5Hv9DhZ7q7UMPPVNVKZZXzi+7JMtF0uZgC2LSfZXp6nlsX/Txx1jiPzcJf22sX1svtJr57Dh1dprVP6/QFGypx4Y57rm3XM79pU1N9Tc3xzfi56DDeNQhO49ph3H8vfZ7N0/5mdM1VitP5bJGm5XqKdWbLivHJAfbRqEu3GgaJgzHN58vVOoVZF9bkXncZZ4Cd5d2OrpcxVWy3Abf5slzPYO+7AVery/kqLRabayDejhyEzSqliEh7IIwzLNGWseoA0irmaWcZ07yarhA4ofqv09VytVmN9FNGFct5cBDWcNCwO5Q2sL85lLcMmxImdruIX/JqOf96uVx0G95r/EueXWORmZtvFrO2ObgDffTpIhd73q/TLJABWgTc3fSrxsnlpl1t9it2lurnZStuEac3V7N2tG7zKbXhCq7XLBfZ+YOnIO21vbe7q1lMcbE6HNvPsROPTGzZNEBz+06z8e3ahba4Mo7iukEY303X489LOHq7Pefr2XqNrLnT4no2nzdX8JrtgCa4edp7IBtPFWewQKTXr9VFF/CGwLNIbUV7UXeNQPa31JK/sOkHFxn52P/e3eb97V7MyV/fvT0aIPoB2xt8mKmL7M93Qaq6+Igc2ZRs//P7t99/nFJNxZRpat4neGm4eLaNS0Ou7kLXZjOL1YU2UbA6CmKjFkRqLYlhNSc0cxF44Dkr148vmqNVPVHdXzEhR+4XrrBwVZatnpd1q37hFy+r5n82bp2q50VdbnG5mbv1iwqOVMGLrmcoDl5WP314Q2qhGI5ikDx/vYxfUTz8I1U47HVI33eDfn5PasOrlbtMVc1fVldtu2q+f/Xq5uZmAmMmIk7C8vrVzXIdESCa5tXNigSYN5zl1QbWB4t8NVsF0lyXedwUvryIxZWmrLNjPoGbAfNQPMH9b2btVdVVYGSnbbKrrXq9tO6yqS7WgyJ62da7i4IyYhIi5gWu2UVnQq4YCWETpLQhfuwOp69FhpDVHVD2lqosKNE0ZyKjk8TxWpOgWV0LJhxXfHgg5Qwtd2moWMei7a5gyEWRbDDgg7KPTpjqpd3rYMlj/H9H8CjYhaAj8HdiL5l9jFwqkUSqLbGB5WJahvhaO+JMZDLWNc0+nxH5WwRQJJPUAv0IOj2Bu4SiUc7rdhGMVJzLRIT3NZHZZWKUronS0gsVdU5UPGoXExRc5eU37aV422xV4tDv2w0NzlsOT6dKlzNRmjglMwkxeill9EzJM+2mVAxVcx27P5ABS47v42zr1m1F6ISLmitTrqBxNaBAqLj7TtOul59SD+9mFuGoWJn3Kz9vv65K7JjP4g7ESS8TtYzWU02Y5IxICw1ZkyhxsQ7C85AUFxe7rZxCfy/4s2F3ikeQwURYzIbI2kYEc85JNtobU6tQC3cSO7y5020t9rCPZXchpupRiHumMEastc2S6kAYD0BsrYG2WSARSBGZE/RtHkZ8CPjWLp4UMWXWe+c14T5wIiWyjbEqEOUSY8Fpj3+nEN+r4jPhldxGTw00zAz8nMPFrWSJJCaYcrROmacH8d6l4DPhtSxoSYMlLkhKpMeVkcgVWcna1DXTzoQH/K/Tr2SHvnckvNPvHgX5OLkFlmohfCZRITfLjJLJuIy0kOrgU0Kiy/ZBwMd4b+/i6QALF+F0OpI6M1gwzBaAoySeMcCNtQu5PgX4XgWfBy7cDTWCSiQgqhEZENl8FrLECZ9pDCLykyHiXvWeCS6tvfXwtzpRRDSpKDGBOqTZZCSLGgHj0N9aMPChefJv//vx3Y/vPr7725t3/3xkat8tmqPPmhhfnMbKQJxFfWh0kq7WkbKaPiaZQyXl/12pnOo7CxOH1dlFyebVerlZxFLdb5EXLXO1BT8sUPRu1Wg/zbZtuGuu7Rp7/ajdvNN13wRAIh0mOM2sdupJCYdRK0GUkhomZCjxXggSAkhPlNxpPYrZ3Z74PXv6Jls6xQZ3m8omM1cLTiyHc0hBFcpRjsCeUb9FRKRo6X5TCVQ7gl5Py5HvelmlTTAvdvfvP7354a2dirfv/+Ptu79O3/708Z+vxlRyImLHiJtXtzjlBNta9da6zLlJvUE9//L1HyPTHfRVePT+NtsV9FuttOBa9z3+oifWI64LvXQ0t/z+FUTXoHyP+AdDQPWO/IiawzpNEBNlzDJ7x+o90dXHRBernZ3jFj470FkcQOtmpE3hquO0PX19FZc3i+6CU8YY5ZQLLoTQoIjid5BXbO4Uby2WOGauYqIeQVwVk5QbFQlzRkLrXoH+MUui5pb6qCPX4RsQ17K3PfZHEVelgqhBTgm3NXys8CPjuQUDpNki9Zgsz0m5n4i4Ui2FNlQS2Ioj0jiKmIGaO3uVVUjQf6z/dYirqHVwQtbEi1LQUsuIVdSj3sqSwf65EuoPIq6lLlZ9cT8uNnrxSPqkpI85n1xCOEMgc4X0oZzTtYGN4nRRAFDBT5Zzt+Ht67nzIE5wHuUcwq7kAgE4gZK47IhlVFiZaKrZgxXdPUom58IMRxHKGU9YSRUy48oYrQgDI6lRTkfKT9K+b0+teTZgpzmT2na5DpWPjUh42omAYtQ7XZ8kfn8AtXZWSMMUSZ4yUD8eiK2dJVnQ6DjTJVr9f6LWykCVhUMlJeB52ibiu3ZLbUKMMGKfHsb7Lam1SEl51ImJyoKXIg8IYUgOyaOaTCbK05FicDw2wjsQqRMe9yiwx4k3UxdpRO2bFexB5tKdzM4TzyNDfECJ+4C7HeAaEdSnBipCnYSWilCLk5dGBGAE+6cZecrUNYpN+gDQLmrJI53u1fx0WGGgNGjnCM8WdRiziLte1XgRDBE5116dbG1uif8B1DH6J1SrQX4AaUW5VQMqF4q4GuTGiKiVziklyR5B+g+P/xxAeRRe6iwRA5RFNeKRxmKBjIrX4Py9Foc+9RR0n4tkc1aSKMGxlGWCmBreAW/m1JhgHHtUQf3kdL829S1yXCR/AD1WKQkvoiWOlXfLdIjEGhQZShmkQSZRwo964Q9w/m+zr1Pv8e7PXsokcgikNqnQfieINxpnH3zwwmFn/vfR/oFV7xn/HfT6j+P8b5aLRfd++/TDbPHn5GJaT/lEyevr7/cC9oXy6YdePP07+Aeo7/xUS8DW1rsIiscFLU1nhEdjkSOz9IqBZgTLw64lII87Ar9c4WAvr6qr5RyRo1272eVVW61mi+qqw/OyKoBeVj0g3GjD1cuq/xAHrO1mTMAP5tpPUf3y51+6WbaTHD99N1//ywFb5xNhHkHXg5HBcGVIcAjA0gQUjlZowhXXKSZjjbLfgK6Xk57SsufRHuTE8gfDY4jO5YDw6BQvDR4DrpjBjaKJnHnkj5DPuYGnYu2lse2SI7X2YEk0CWJpwjEIpkyOzFpr/oVYu9KuVtyQZMub5xqUxIUciXTU0hio8LU/02461t72fjUtfnVfKcaKf3Svo7phLHhSRhktyypGRrh3SFBMRoIaPBAeuA2aMRHZQ/xs784DdzjE/7Tvi7vAhHWcIFCiIk81ooKkAeRMWqMtCz4+RICBbndyI8QCPn0GwDzaEFxEjYs6HPp1DGEs5fI2EiKc1ZLSh94MvwX4SPTEXZEoNCo3IuDZRCpbijqL0JUiShWdmNEnS95jZe7wnkm/wnsGC1YkW1EoWu1LqZUIw6WtqXJKq9Ps9271nguugAYlymXQyECkdOA9LgAuz0k4qmr2oDnUdf96YMAQyok4gfg303VjaR1rKghP0cDjYBDwQUOiVUKz0mF4gK4fges1fD68wXPjE2VEeYPKNCG6e1r6tDCEwoa8Os3Z71fwSPi0iHVmMSJERCfAoxJefGIUpTXTMsfEESceRHyHgs+FF/w8cYQJkg1HZYZijJRGKkGEUJLpUvecbjZ02RM8TR+0Tru/+5snHO9RmG+1HLIyyvnSjRaw4ezLWw+wZs9qESw1zj7YnAZiMTHswCaOdvGEfQdtrRMgVjVDrSIjVchyEZENMY26DJvQ/oF2zpEue6Pg9Xn0y6kNQtYMQTggyRXbMBRFb+IRv7Ri1sfTFnyIbId2r/KnA2sMSruMDAdzZTBfhArvNfgrKI6TUG0MJ/tP99rCOcAmlahBUUOS5mHbY1G8fFJSlU6pEuIwvT3c2Omw2ofYC3OJM+WRUmuoCmphxEWjiWDcUuGklexRn+X4dexlaOygTN50NXJ10AA56H0guJX/vaT7sPz2E/HbLsif+i7In/ouSH9vna6Xn9N0s4CK4vCtlt1H7h/5OQ6qkbFt4kQYBUoUC8XjrCbcaPyg5vCc3+7p7PcUZuvQNyP6XRUuff6NPaqtk6UvTalEFAulXSXB9jLThEZOTfYMBjhiA7+hrXN/42Tf6Xmgg/KNuz6X6+lghNum7vB9reL4HO7UN2H2Ln/k8b3Dx5TdZt7uPbUc66CwwQf334nrpAM9k0xQzjVxonw+WnBPDNc1CdQKV1OjkLsuXmy/ZXZZvjywR7pvERWsdsJqtZNsQYoxhH1DqnOFEQ4fU5I6lJTZxSHLiY0yEMVzZsoqiqrlXhys/7jSGAxTE874r4LDR3CYprlOmRJueQlRVBIjEayo8VxQJB1pdnA+z9yz74ZP0fQt1O2iQw+1/6Zp72kHCPad1NcHSMQYSfZZKCaRoHN5NytQYjSoKU3U1V5mLhy/XzFHgIpmZFEXlfdr5X4syqI0KB9PtALlo5SGwmxQBAfjSqdeFzq/xXKH77549n9QSwMEFAAAAAgAAJCfT2e+ESNiBwAAriAAABUAAABwY2JfZXhhbXBsZS5raWNhZF9wcm/tWdtuGzcQffdXGPvUAoYhyXbi9rl/UQQExaVWhLjkluRKUYL8e2e4N95WMgr0JYhhJzbnaMgZDs/MkN8fHh+rvaamrv58/A5/wJ8v9VnwS6eNszD495enYbjmVjSKWO6cUI2d8V50oL104RiM0q6TVzLJiNPk0JGD4LJG4IFKy5/uoO2RdvzDaMe/ugLWm0d076RQnPh/LqJ2R4BunjdvAZLpruMmhexyBM5EhKNSsMKEIciKb5ygnu1zYaYFcr4JcUfBTopb6xf0soLqOyOaY8kFTPfGXdENt8yvRcuVFVqRznAm8DcAvRYRvRJ+v19K0jgQcLuM0RciuWr8vNvd5w18PYUQMGBUrQ8HCDKAvW0y1InzYZ8J+L5RHMPWmZ5HINt3YIC15Bs32odPBvEqOm2FG4yMZ/HGkYM2LcV1bGbZj8DaA92n3twm4tthMiOCGNmsys/r8jg6tm8lzHpsaHfMY36bAW7bEmBWrEkRuT0B4oZFAWrdpo7WWQzWRkjp9b1Hm33ko5Lt8+5zJJncsXt+ey2GgBXydMtzXn7bcQtkxW8JIHfbAki8VsSs++ybVjxzWisUYZJTQxXjXu3b4omHxCNAAIcD6agwJKKCKYX4TWCEf2WyL8ha7micQc7cjCS0y+YyveSQjAACZ5inqUepXlIzb0vFgYBMFTJiYFRBqpXiDLlhUXGhRkHii2GefHndcHJPoUdaKWDBq9pGkrZEA0rSrqzKAAfSpjzPsgMN7TDnAZsSWNZdeK9g+k7yemRpSKmaSA0rLH4Oz9IH1INGwajjwKXaQeQpnzNKxkNsGrrAVlCRPJtulkKVIR3EDmmFBQpnfv8gXWjDy3h7bfdaRvBbsxN37fgd5Uct7wWFh0Dpgv+vTIkiSxhuBfqxXoEJdQZ+mYuc4mzCaokqyBCLa5ocbwmEfS0s3ftwoNcBnCsEqCVKYy6W+jIsLkON4XQ3VqTYL9tPhLU9X4uVGHpn01oqMZF7u8fzVZy/Fczos6Dkg7HdChwBtZ5WwWMHo2E1s7tKSwGrYCheSB45E+zeYVDcgSp1gCO2CtEqW+eestPNZaoO9ksAe9f83lIxzzrQt6Lp44rsEdoNNNoHVdHhPoflVFuY1iORQm+H+gwbmbYEOfHL/VCAg1XDZC21J7I3ol6DOWrOuBFQwEBUFjF+k+aKpLSkaRsHT/Su7KysHiiqOhrdN0fPP5AFash17ojWToSUq4Wk0FJ1JXBQViY2GF7gqjUNXl4jQAzJpbQwD7K8gSLCLW3Dmrb1LO/lwJ9G+yNVxGDm89ketmY9+noFHYWWuH9nagRyYxHnGeS2db7QgnOBGYqzIJUVa5yksmnpVzKgffsW9W95sbZJpXNdsyIu1zOb53Saxmg4OWEjmQCy9Ad9dKokyX8FxELKgkJ5yE3WkMeoucTfJpB582ynT96nqRLPBre9Fx/OqI9Y5HERvskw4ZmLrHpJkVFsJ10QAtDitNDNLc+89xrqCakLdmIMgHU39JaPHsD2eKoVGZVsarOzIHagqzYaqtHOTUX/rDBqNhwUMJh8gIqKPTuKwXuqHq6FtJLXvI+ZgLatb+nx3uWqXlcAjotNWjqeL7lxHTjM+/i2fb5SIuhFd9HDFpfvJ6Bc6SFbIAlC6vQ1wCZFjBthKPg1bQsHxLg/EyI6xwMC+GSO6F2uAMSgo6wc74kgaUCMIaOtORKSXgOFigLvINPBiN/C4WqvStE+jjESfbM7lPHB8v8oteG/fFzwMbD8Lxf/ry4e+Bkp5L97OOeThfST2xHXYx0BS3WgrXgNH1/AlK7k/SWDUX41tegtAbJnUGINtwnvsWtGpHVXn523kRDLENpCd+/6mhf8ipknlEdJ29feWCESbA3KFGw7yoYSClSXQjKw1VfpP4/Bm+dPRYNHFWMF/XOam1UPQ/lSvkwcCumBi/D5wCgq8bhJ7uY3o4dAXSU6tnt731bh05WwvgKfD7Ef6VQ85ot11C7qWNAemmRg/Gg0r++2faxGL2rjMNSmPH5qi9/fHkZFw0PWAqzYuWP72ZiK/9OLMwWeY550ePJpKfYGOpegoag6Ae1AHdylACZayAgYr8dm6awzurKtcNKJIGFlsCcYIvz5JBgQbGd0Ndk33+u+zKrwNiMjtYpJai0Pa6qA7fYQ4VPhu41e6eK+o0gajW/6k55jEWPc3YGUXwj9c8B0qOIOotTLvBQRxT5mcu1fw9GPLlrA20xL3xVWptnT3zZPj+M3NImb3yOwEdoIh7Xzbvv6+fX95dNr8PBRWXbkLWQr9nGVaa8SOiQz+VMqnK0NnXERZukvJ4YY+GGKzuTBIAir1+j4DRdlYArGEfRLchn38UXgRzQKLxvWEGPaTcIf3K74ZYlWgDqEHqPX8QZOJE14Q9SHeABmkhkVdVKnI9rOZzsYth1nDC/Qa5swl3W8S0bOCWWdTStzzsInBrwmxPugmltm/LwTbrB/jpTABbyh7IpUAZtugolCyWhp4El75CEHDvdX00WL9+aPhx8P/wJQSwMEFAAAAAgAAJCfTzFxU5nRBQAAgSgAABUAAABwY2JfZXhhbXBsZS5raWNhZF9zY2jtWW1v2zYQ/uz+CkIfBjuoFZLya4Ci6Jp2xdoCRVr0qyBLtMNFIgVJTuJ92G/fkdSr47hZbMndsAAxJIrkPXe6e+7E699w3wvc1L9+0evfsiTlUiCK6RgTMhrA2IoJlniZTJDFGExjkWc1xt1ilTW3sX60XvMAWRSbv+GOn/yP6OmxFzPY/c1I32U8C5m7CKV/86KX3yLry9tf0WcZ8CWgzZSwX9B7b5EUd+/EigsGuwxRxAWPvBCxey+KQ6b27PV9GcWe2CBL3SopIV+46SZayDCFO3OFrEt2y312cWWpNTEXrlhHC9AObnv9ax4wtGGp2nBQTvAiZh7L5TJlGcLlY3bvh+uAuctERm7KIySkHodVCxkVO/WluvWSoByIEwn2yADsFVuyhAmfWXBtaSlehqiNHYowmmtRIGe5ZH6mQfT6SykyfQVK8T8ZIjad6h89VwPrVQqUkr574bopBR9ZwnspszjhIgMppZAhsafT2SGSmq9ll+BLL/PSa8aU4L8a6rUoEwIl4bFyTWVUlvIUAqUj4TfcvWGbO5kEqRKOEpaq/44hLGN3ycMMgkeBcM9alVzE75WLXWIkJbCzJ1YhM+vSzEu0v2EyQUNqj0f5hkwEyIzWBtMskTcsR3PHg+waYZsWj4GUNjFDAVt66zBrwAOVw/ocIQXbFRcVYFIABjZBsZem/JahEMjMbKgN5tgzgugU50JCJlaAqLJNX7FQ4d1bdm1Y9hHbFvB7DV0M9yGLHHPbwY90HWpl5yfSlR5bV5MJYPMgYIGrtklNHhg8TDuf3l0ekHi0Ew92LzhuKrqsxbIKmmeH855ElNuicIpji9mZjVrOCSfPQ5/46jpDLOJZxsUKBVwGrCMgX3lkf+FC5QLy6iOir96cJBmCV3Wq9nYeBPlnCH7cr58vL8zVtw/fLrpJjkpamR5jGW4q5o0LpuvfbxQD49EMDbE9ndAB0kMjezylKgzpbJIPaZ5ujOyYlA8Re0xHDai7Muwxsut+zUy52dDMsR28BVqTzZauDyblQz+PZuAQ2GDLr38SUPo3N9put22z2toLcBtfBQ/tNuqwU+wPovfHtaKJyoJDyvKpVtqa8unjv79UzDUlsx/p+ua/VCq+lUKANJm4v6nzF+5fqBEXk3tMq+LxdLXh7x3Uhk2NixJxbOPZ/yXigSVi7lTIL9zsJUq5+opGibx7ibTRYUivQPkJIAtQXx8iDkO+SLxkM1xnPEzPU/8aBs69dSZh5nm55fngJLVfKf9EtV8ZuWcXZy65f/26ozORKlqq/PHY4Uhj9/xoRKU9xbXHTngLz79ZJXItggecvwcetkkDH1bVXDW0Ex0pS7RDa4k9wKA4HBGniYzak0lHyB6vCAwvblcEtTdqsiR8nblHTd+nqQqMuvXzgv0qHzWLn6g4qOoDNUl1NlT7ZW+loLcDc00nNkWzmT03xuqvBYdq4aC6IBBxMdX0gZwn9oEeLSlIyZMa7pzYo67qCmMf8KZxW6VF9ZrAHT8wL2CJq7w3ii6qAc3eX8yw+x02gXQbboEsX2KHpUknkhsFSheigVtyzso9ePRUD67W03+4nlbruYC8Aq5vKngwxB+gF7Jif+EWPU0DP/aA1azzJ/VZc2MkRVzpsCpSTxX1TZ/dTSxlk7QgEf0WTk8idB+JXFUkQshUd1DnU3s0aaWL6ji4Jm3cgqQ6gxTtRX2oeOXiCXZcMsGzzywD1q8BcWxKD1b7uVSx5SSnaLu2COE5lOEcSBmjzinj6kDKUE2dgjQIJvbkJ2ANZx9rAOAabzgYzaG8bLvdpeXM7Tltq+QoGhC6IfAYW2y9ng6ZohvRT++MtYnnObwxPpA3Jp3zhg6jpzDHHU+Y1ssYV527Twl83mvrm3N4Q+IQhvNSi+rTutHaePBFXSOG8VMUeRyUBjGn9pQYUJBTpya1tAyK7gFF8NgekZqpjOn051LLsJwClo5mt+5WhevkjQtvxZTHl+988OJvUEsDBBQAAAAIAACQn09Z7wc9kQAAAAcBAAANAAAAc3ltLWxpYi10YWJsZZWNMQvCMBCF9/6KIziki47iqAlIqSLo5BTS9IbDNilJLBTxv3vFTRfd3se9d59MU286aky2TYcFgBwxJgoe1uVMfALpbY8gNI7kUJQyTwNjTcq2TPdIIBaPulJbvTGX63F3OhhdnZ+r92B5I2dbwx4uhyHz7wSCc4vJxTl9ilTwHl0O0ezRYyT3h/Nr+4u+LF5QSwECHgMUAAAACAAAkJ9Px/BmRLcAAAAEAgAADAAAAAAAAAABAAAApIEAAAAAZnAtbGliLXRhYmxlUEsBAh4DFAAAAAgAAJCfT0J/bJi5DwAA3TsAABUAAAAAAAAAAQAAAKSB4QAAAHBjYl9leGFtcGxlLmtpY2FkX3BjYlBLAQIeAxQAAAAIAACQn09nvhEjYgcAAK4gAAAVAAAAAAAAAAEAAACkgc0QAABwY2JfZXhhbXBsZS5raWNhZF9wcm9QSwECHgMUAAAACAAAkJ9PMXFTmdEFAACBKAAAFQAAAAAAAAABAAAApIFiGAAAcGNiX2V4YW1wbGUua2ljYWRfc2NoUEsBAh4DFAAAAAgAAJCfT1nvBz2RAAAABwEAAA0AAAAAAAAAAQAAAKSBZh4AAHN5bS1saWItdGFibGVQSwUGAAAAAAUABQA+AQAAIh8AAAAA"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/project.zip","mediaType":"application/zip","name":"project.zip","sha256":"0cdbde3d00469410e7f4b3ad16697fd3b7a78f16cecdb9a1791bb4044e90659b","sizeBytes":9899},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/gerbers.zip","mediaType":"application/zip","name":"gerbers.zip","sha256":"014eac7a333c934570537967bbc9aec133f712db8dcf3b2a96eccb3ef11b6415","sizeBytes":17438},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/bom.csv","mediaType":"text/csv; charset=utf-8","name":"bom.csv","sha256":"ecb1d9f39c4d16a26325e2ff77539fe82193747b36252910bd8d6a0c70563858","sizeBytes":225},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/pos.csv","mediaType":"text/csv; charset=utf-8","name":"pos.csv","sha256":"d18d420534f21940552b197a9c7f15bf8253fa44e1cdc4f2c46906a9ce2d459f","sizeBytes":250},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/schematic.pdf","mediaType":"application/pdf","name":"schematic.pdf","sha256":"91ddee5edcae2f616b08c7bbc3eff1266d82d5a77f9643e34f2982e6147bc814","sizeBytes":20762},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/board.pdf","mediaType":"application/pdf","name":"board.pdf","sha256":"2f99af206e0d3ab21865ad8f630bf8afd4dcb12d17fce92507823f4fd8256296","sizeBytes":16520},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/board-top.svg","mediaType":"image/svg+xml","name":"board-top.svg","sha256":"030acd64a19a194237156164998604d5acc3226795940a0a86d5571becb174c9","sizeBytes":53070},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/board-top.png","mediaType":"image/png","name":"board-top.png","sha256":"ad28c684d6527ac62cbd25c4228408e3b9763f471cbb2a06f2a46c58db93f82a","sizeBytes":48049},{"href":"https://pcb.api.williamrobinson.dev/v1/pcb/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"14b5b416d34b826e09509df76c3f170479cc4f5dbcb8b348c65f9e0e004d346f","sizeBytes":4543}],"board":{"copperLayers":2,"footprints":3,"libraries":[{"kind":"footprint","name":"Resistor_SMD","resolved":true,"source":"kicad"},{"kind":"footprint","name":"LED_SMD","resolved":true,"source":"kicad"},{"kind":"footprint","name":"Connector_PinHeader_2.54mm","resolved":true,"source":"kicad"},{"kind":"footprint","name":"MountingHole","resolved":true,"source":"kicad"},{"kind":"symbol","name":"Device","resolved":true,"source":"kicad"},{"kind":"symbol","name":"Connector_Generic","resolved":true,"source":"kicad"}],"name":"pcb_example","nets":4,"pads":6,"sizeMm":{"height":15.1,"width":20.1},"tracks":3,"vias":1,"zones":0},"checks":[{"code":"structure_valid","detail":"project contains exactly one .kicad_pro with matching .kicad_sch/.kicad_pcb","status":"passed"},{"code":"libraries_resolved","detail":"6/6 referenced libraries resolved","status":"passed"},{"code":"within_limits","detail":"3 footprints, 6 pads, 3 tracks, 2 copper layers","status":"passed"},{"code":"edits_applied","detail":"3/3 edits applied","status":"passed"},{"code":"erc_clean","detail":"0 error(s), 0 warning(s)","status":"passed"},{"code":"drc_clean","detail":"0 error(s), 0 warning(s) under profile 2-layer-standard","status":"passed"},{"code":"parity_clean","detail":"schematic parity was not requested","status":"not_checked"},{"code":"outline_present","detail":"board outline 20.1 x 15.1 mm","status":"passed"},{"code":"exports_generated","detail":"7/7 artifacts generated","status":"passed"}],"drc":{"errors":0,"parity":0,"unconnected":0,"violations":[],"warnings":0},"edits":[{"after":{"trackCount":1,"widthMm":0.35},"before":{"trackCount":1,"widthsMm":"0.3"},"detail":"set 1 track segment(s) on net 'Net-R1_Pad2-LED1_Pad1' to 0.35 mm","edit":{"kind":"set_track_width","net":"Net-R1_Pad2-LED1_Pad1","widthMm":0.35},"status":"applied"},{"after":{"drillMm":3.2,"reference":"H1","requestedDrillMm":3.2,"x":2,"y":2},"detail":"added mounting hole 'H1' (3.2 mm drill, closest to the requested 3.2 mm) at (2, 2) mm","edit":{"drillMm":3.2,"kind":"add_mounting_hole","x":2,"y":2},"status":"applied"},{"after":{"schematicUpdated":true,"value":"1K"},"before":{"value":"330"},"detail":"set Value on R1 to '1K'","edit":{"field":"Value","kind":"set_field","reference":"R1","value":"1K"},"status":"applied"}],"erc":{"errors":0,"violations":[],"warnings":0},"expiresAt":"2026-09-11T09:47:12.000Z","exports":[{"detail":"Gerber X2 + Excellon drill, normalised for deterministic output","name":"gerbers.zip","status":"generated"},{"detail":"component position file","name":"pos.csv","status":"generated"},{"detail":"bill of materials","name":"bom.csv","status":"generated"},{"detail":"schematic document","name":"schematic.pdf","status":"generated"},{"detail":"board document","name":"board.pdf","status":"generated"},{"detail":"top-side board preview","name":"board-top.svg","status":"generated"},{"detail":"edited project, deterministic archive","name":"project.zip","status":"generated"}],"limitations":["swap_footprint pin-compatibility is structural only (pad numbers and pad count); it never verifies electrical pin function or footprint land-pattern fit.","ERC/DRC claims are scoped to the checks actually run under the stated profile and options; this is never a DFM (design-for-manufacture) approval.","PDF documents embed a generation timestamp and are not byte-reproducible across runs; every other artifact is.","No 3D/STEP model or courtyard-with-3D check is performed (kicad-packages3d is not installed).","Profile rule numbers reflect typical low-cost fabricator capabilities; confirm exact capabilities with the chosen fab before ordering.","The fabrication profile's .kicad_dru rule file takes precedence over the project's own netclass clearances during this run's DRC; the returned project.zip restores the project's original board-setup minimums.","The min_silk_to_pad rule is scoped to silkscreen-vs-pad clearance only; it does not check silk-vs-silk or silk-vs-mask spacing."],"profile":{"name":"2-layer-standard","rules":{"copperLayers":2,"minAnnularRingMm":0.13,"minClearanceMm":0.15,"minCopperToEdgeMm":0.3,"minHoleToHoleMm":0.25,"minSilkToPadMm":0.15,"minTrackWidthMm":0.15,"minViaDiameterMm":0.45,"minViaDrillMm":0.3}},"status":"passed","tools":{"kicad":"KiCad 9.0.2"},"truncated":false,"warnings":[]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$defs":{"edit":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"move_footprint"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"rotation":{"description":"Degrees.","maximum":360,"minimum":-360,"type":"number"},"x":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"},"y":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"}},"required":["kind","reference","x","y"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"rotate_footprint"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"rotation":{"description":"Degrees.","maximum":360,"minimum":-360,"type":"number"}},"required":["kind","reference","rotation"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"set_track_width"},"net":{"description":"KiCad net name; every track on this net is resized.","maxLength":256,"minLength":1,"type":"string"},"widthMm":{"maximum":20,"minimum":0.01,"type":"number"}},"required":["kind","net","widthMm"],"type":"object"},{"additionalProperties":false,"properties":{"drillMm":{"description":"Desired drill diameter; the worker snaps this to the closest of its fixed mounting-hole footprint set and reports which one it chose.","maximum":25,"minimum":0.01,"type":"number"},"kind":{"const":"add_mounting_hole"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"x":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"},"y":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"}},"required":["kind","x","y","drillMm"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"maxLength":64,"minLength":1,"type":"string"},"kind":{"const":"set_field"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"value":{"maxLength":1024,"type":"string"}},"required":["kind","reference","field","value"],"type":"object"},{"additionalProperties":false,"properties":{"footprint":{"description":"\"LibraryNickname:FootprintName\" from the shipped KiCad 9 footprint libraries or the project's own.","pattern":"^[A-Za-z0-9_.-]{1,64}:[A-Za-z0-9_.+-]{1,80}$","type":"string"},"kind":{"const":"swap_footprint"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"}},"required":["kind","reference","footprint"],"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"edits":{"default":[],"items":{"$ref":"#/properties/input/properties/body/$defs/edit"},"maxItems":50,"type":"array"},"options":{"additionalProperties":false,"properties":{"requireDrcClean":{"description":"Fail the report when DRC reports errors under the profile (warnings never fail).","type":"boolean"},"requireErcClean":{"description":"Fail the report when ERC reports errors (warnings never fail).","type":"boolean"},"schematicParity":{"description":"Include schematic/board parity in DRC.","type":"boolean"}},"required":["requireErcClean","requireDrcClean","schematicParity"],"type":"object"},"profile":{"enum":["2-layer-standard","2-layer-fine","4-layer-standard"],"type":"string"},"project":{"description":"Base64 .zip containing exactly one .kicad_pro with its .kicad_sch and .kicad_pcb (KiCad 8/9 formats), decoded size at most 8388608 bytes.","maxLength":11184812,"minLength":4,"pattern":"^[A-Za-z0-9+/]*={0,2}$","type":"string"}},"required":["project","edits","profile","options"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"edit":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"move_footprint"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"rotation":{"description":"Degrees.","maximum":360,"minimum":-360,"type":"number"},"x":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"},"y":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"}},"required":["kind","reference","x","y"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"rotate_footprint"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"rotation":{"description":"Degrees.","maximum":360,"minimum":-360,"type":"number"}},"required":["kind","reference","rotation"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"set_track_width"},"net":{"description":"KiCad net name; every track on this net is resized.","maxLength":256,"minLength":1,"type":"string"},"widthMm":{"maximum":20,"minimum":0.01,"type":"number"}},"required":["kind","net","widthMm"],"type":"object"},{"additionalProperties":false,"properties":{"drillMm":{"description":"Desired drill diameter; the worker snaps this to the closest of its fixed mounting-hole footprint set and reports which one it chose.","maximum":25,"minimum":0.01,"type":"number"},"kind":{"const":"add_mounting_hole"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"x":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"},"y":{"description":"Millimetres in the board's coordinate system.","maximum":1000,"minimum":-1000,"type":"number"}},"required":["kind","x","y","drillMm"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"maxLength":64,"minLength":1,"type":"string"},"kind":{"const":"set_field"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"},"value":{"maxLength":1024,"type":"string"}},"required":["kind","reference","field","value"],"type":"object"},{"additionalProperties":false,"properties":{"footprint":{"description":"\"LibraryNickname:FootprintName\" from the shipped KiCad 9 footprint libraries or the project's own.","pattern":"^[A-Za-z0-9_.-]{1,64}:[A-Za-z0-9_.+-]{1,80}$","type":"string"},"kind":{"const":"swap_footprint"},"reference":{"description":"KiCad reference designator, e.g. \"R1\".","pattern":"^[A-Za-z][A-Za-z0-9_]{0,15}$","type":"string"}},"required":["kind","reference","footprint"],"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["project.zip","gerbers.zip","bom.csv","pos.csv","schematic.pdf","board.pdf","board-top.svg","board-top.png","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":9,"type":"array"},"board":{"additionalProperties":false,"properties":{"copperLayers":{"maximum":8,"minimum":1,"type":"integer"},"footprints":{"maximum":500,"minimum":0,"type":"integer"},"libraries":{"items":{"additionalProperties":false,"properties":{"kind":{"enum":["symbol","footprint"],"type":"string"},"name":{"type":"string"},"resolved":{"type":"boolean"},"source":{"enum":["kicad","project"],"type":"string"}},"required":["name","kind","source","resolved"],"type":"object"},"type":"array"},"name":{"type":"string"},"nets":{"minimum":0,"type":"integer"},"pads":{"maximum":4000,"minimum":0,"type":"integer"},"sizeMm":{"additionalProperties":false,"properties":{"height":{"type":"number"},"width":{"type":"number"}},"required":["width","height"],"type":"object"},"tracks":{"maximum":20000,"minimum":0,"type":"integer"},"vias":{"minimum":0,"type":"integer"},"zones":{"minimum":0,"type":"integer"}},"required":["name","copperLayers","sizeMm","footprints","pads","nets","tracks","vias","zones","libraries"],"type":"object"},"checks":{"items":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"type":"array"},"drc":{"additionalProperties":false,"properties":{"errors":{"minimum":0,"type":"integer"},"parity":{"minimum":0,"type":"integer"},"unconnected":{"minimum":0,"type":"integer"},"violations":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"items":{"items":{"type":"string"},"type":"array"},"position":{"additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"type":"object"},"severity":{"enum":["error","warning"],"type":"string"},"type":{"type":"string"}},"required":["severity","type","description","items"],"type":"object"},"maxItems":100,"type":"array"},"warnings":{"minimum":0,"type":"integer"}},"required":["errors","warnings","unconnected","parity","violations"],"type":"object"},"edits":{"items":{"additionalProperties":false,"properties":{"after":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"type":"object"},"before":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"type":"object"},"detail":{"type":"string"},"edit":{"$ref":"#/properties/output/properties/example/$defs/edit"},"status":{"enum":["applied","rejected"],"type":"string"}},"required":["edit","status","detail"],"type":"object"},"maxItems":50,"type":"array"},"erc":{"additionalProperties":false,"properties":{"errors":{"minimum":0,"type":"integer"},"violations":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"items":{"items":{"type":"string"},"type":"array"},"position":{"additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"type":"object"},"severity":{"enum":["error","warning"],"type":"string"},"type":{"type":"string"}},"required":["severity","type","description","items"],"type":"object"},"maxItems":100,"type":"array"},"warnings":{"minimum":0,"type":"integer"}},"required":["errors","warnings","violations"],"type":"object"},"expiresAt":{"format":"date-time","type":"string"},"exports":{"items":{"additionalProperties":false,"properties":{"detail":{"type":"string"},"name":{"enum":["project.zip","gerbers.zip","bom.csv","pos.csv","schematic.pdf","board.pdf","board-top.svg","board-top.png","report.json"],"type":"string"},"status":{"enum":["generated","failed"],"type":"string"}},"required":["name","status","detail"],"type":"object"},"maxItems":9,"type":"array"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"profile":{"additionalProperties":false,"properties":{"name":{"enum":["2-layer-standard","2-layer-fine","4-layer-standard"],"type":"string"},"rules":{"additionalProperties":false,"properties":{"copperLayers":{"maximum":8,"minimum":1,"type":"integer"},"minAnnularRingMm":{"type":"number"},"minClearanceMm":{"type":"number"},"minCopperToEdgeMm":{"type":"number"},"minHoleToHoleMm":{"type":"number"},"minSilkToPadMm":{"type":"number"},"minTrackWidthMm":{"type":"number"},"minViaDiameterMm":{"type":"number"},"minViaDrillMm":{"type":"number"}},"required":["copperLayers","minTrackWidthMm","minClearanceMm","minViaDiameterMm","minViaDrillMm","minAnnularRingMm","minHoleToHoleMm","minCopperToEdgeMm","minSilkToPadMm"],"type":"object"}},"required":["name","rules"],"type":"object"},"status":{"enum":["passed","failed"],"type":"string"},"tools":{"additionalProperties":false,"properties":{"kicad":{"type":"string"}},"required":["kicad"],"type":"object"},"truncated":{"type":"boolean"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":100,"type":"array"}},"required":["status","tools","profile","board","edits","erc","drc","exports","checks","warnings","limitations","truncated","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"pcb.api.williamrobinson.dev","lastUpdated":"2026-09-11T03:26:54.825Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T03:26:54.185Z"},"liveness":{},"verified":false,"featured":false},{"id":8216,"slug":"8216","resource":"https://asset.api.williamrobinson.dev/v1/asset/prepare","description":"Normalise a glTF 2.0 binary (.glb) for a target engine and platform (scale, orientation, origin), generate two simplified LODs and convex/trimesh collision, and prove the result loads via a real Godot 4 headless import. Returns a report plus artifacts: normalised .glb LODs, collision data, a Godot scene, a multi-view preview, and the full JSON report. Claims are scoped to the Godot 4 import; Unity/Unreal receive glTF-convention output without import proof.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"100000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"asset":"Z2xURgIAAACQCAAAlAQAAEpTT057ImFzc2V0Ijp7ImdlbmVyYXRvciI6ImdsVEYtVHJhbnNmb3JtIHY0LjUuMCIsInZlcnNpb24iOiIyLjAifSwiYWNjZXNzb3JzIjpbeyJ0eXBlIjoiVkVDMyIsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyNCwibWF4IjpbMC41LDAuNSwwLjVdLCJtaW4iOlstMC41LC0wLjUsLTAuNV0sImJ1ZmZlclZpZXciOjEsImJ5dGVPZmZzZXQiOjB9LHsidHlwZSI6IlZFQzMiLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MjQsImJ1ZmZlclZpZXciOjEsImJ5dGVPZmZzZXQiOjEyfSx7InR5cGUiOiJWRUMyIiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjI0LCJidWZmZXJWaWV3IjoxLCJieXRlT2Zmc2V0IjoyNH0seyJ0eXBlIjoiU0NBTEFSIiwiY29tcG9uZW50VHlwZSI6NTEyMywiY291bnQiOjM2LCJidWZmZXJWaWV3IjoyLCJieXRlT2Zmc2V0IjowfV0sImJ1ZmZlclZpZXdzIjpbeyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjg0MCwiYnl0ZUxlbmd0aCI6MTUyfSx7ImJ1ZmZlciI6MCwiYnl0ZU9mZnNldCI6MCwiYnl0ZUxlbmd0aCI6NzY4LCJieXRlU3RyaWRlIjozMiwidGFyZ2V0IjozNDk2Mn0seyJidWZmZXIiOjAsImJ5dGVPZmZzZXQiOjc2OCwiYnl0ZUxlbmd0aCI6NzIsInRhcmdldCI6MzQ5NjN9XSwic2FtcGxlcnMiOlt7IndyYXBTIjoxMDQ5Nywid3JhcFQiOjEwNDk3fV0sInRleHR1cmVzIjpbeyJzb3VyY2UiOjAsInNhbXBsZXIiOjB9XSwiaW1hZ2VzIjpbeyJuYW1lIjoiY2hlY2tlciIsIm1pbWVUeXBlIjoiaW1hZ2UvcG5nIiwiYnVmZmVyVmlldyI6MH1dLCJidWZmZXJzIjpbeyJieXRlTGVuZ3RoIjo5OTJ9XSwibWF0ZXJpYWxzIjpbeyJuYW1lIjoiY3ViZS1tYXRlcmlhbCIsInBick1ldGFsbGljUm91Z2huZXNzIjp7InJvdWdobmVzc0ZhY3RvciI6MC44LCJtZXRhbGxpY0ZhY3RvciI6MCwiYmFzZUNvbG9yVGV4dHVyZSI6eyJpbmRleCI6MH19fV0sIm1lc2hlcyI6W3sibmFtZSI6ImN1YmUiLCJwcmltaXRpdmVzIjpbeyJhdHRyaWJ1dGVzIjp7IlBPU0lUSU9OIjowLCJOT1JNQUwiOjEsIlRFWENPT1JEXzAiOjJ9LCJtb2RlIjo0LCJtYXRlcmlhbCI6MCwiaW5kaWNlcyI6M31dfV0sIm5vZGVzIjpbeyJuYW1lIjoiY3ViZSIsIm1lc2giOjB9XSwic2NlbmVzIjpbeyJuYW1lIjoic2NlbmUiLCJub2RlcyI6WzBdfV0sInNjZW5lIjowfSAgIOADAABCSU4AAAAAPwAAAL8AAAC/AACAPwAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAPwAAAL8AAIA/AAAAAAAAAAAAAIA/AAAAAAAAAD8AAAA/AAAAPwAAgD8AAAAAAAAAAAAAgD8AAIA/AAAAPwAAAL8AAAA/AACAPwAAAAAAAAAAAAAAAAAAgD8AAAC/AAAAvwAAAL8AAIC/AAAAAAAAAAAAAAAAAAAAAAAAAL8AAAA/AAAAvwAAgL8AAAAAAAAAAAAAgD8AAAAAAAAAvwAAAD8AAAA/AACAvwAAAAAAAAAAAACAPwAAgD8AAAC/AAAAvwAAAD8AAIC/AAAAAAAAAAAAAAAAAACAPwAAAL8AAAA/AAAAvwAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAvwAAAD8AAAA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAAA/AAAAPwAAAD8AAAAAAACAPwAAAAAAAIA/AACAPwAAAD8AAAA/AAAAvwAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAvwAAAL8AAAC/AAAAAAAAgL8AAAAAAAAAAAAAAAAAAAC/AAAAvwAAAD8AAAAAAACAvwAAAAAAAIA/AAAAAAAAAD8AAAC/AAAAPwAAAAAAAIC/AAAAAAAAgD8AAIA/AAAAPwAAAL8AAAC/AAAAAAAAgL8AAAAAAAAAAAAAgD8AAAC/AAAAvwAAAD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAD8AAAC/AAAAPwAAAAAAAAAAAACAPwAAgD8AAAAAAAAAPwAAAD8AAAA/AAAAAAAAAAAAAIA/AACAPwAAgD8AAAC/AAAAPwAAAD8AAAAAAAAAAAAAgD8AAAAAAACAPwAAAL8AAAC/AAAAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAPwAAAL8AAAC/AAAAAAAAAAAAAIC/AACAPwAAAAAAAAA/AAAAPwAAAL8AAAAAAAAAAAAAgL8AAIA/AACAPwAAAL8AAAA/AAAAvwAAAAAAAAAAAACAvwAAAAAAAIA/AAABAAIAAAACAAMABAAFAAYABAAGAAcACAAJAAoACAAKAAsADAANAA4ADAAOAA8AEAARABIAEAASABMAFAAVABYAFAAWABcAiVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABlBMVEXWxKhcbHrpdFJRAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAAOElEQVR42u3UoQ0AAAgDMPj/aQyCIHEknZupmFhEJzvXDvgNGA8wYwt/YDyALQD+AOAPAP4AsIACFA8IAXCt1BQAAAAASUVORK5CYII=","expect":{"size":{"axis":"y","metres":1.5,"tolerance":0.05}},"target":{"collision":"convex","engine":"godot4","origin":"floor","platform":"desktop","size":{"axis":"y","metres":1.5}}},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"artifacts":[{"href":"https://asset.api.williamrobinson.dev/v1/asset/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/asset.glb","mediaType":"model/gltf-binary","name":"asset.glb","sha256":"2a0a6c99a17389b01c396387e77314d0e310b051a9d678615cf93466265a67f3","sizeBytes":2192},{"href":"https://asset.api.williamrobinson.dev/v1/asset/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/asset-lod1.glb","mediaType":"model/gltf-binary","name":"asset-lod1.glb","sha256":"2a0a6c99a17389b01c396387e77314d0e310b051a9d678615cf93466265a67f3","sizeBytes":2192},{"href":"https://asset.api.williamrobinson.dev/v1/asset/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/asset-lod2.glb","mediaType":"model/gltf-binary","name":"asset-lod2.glb","sha256":"2a0a6c99a17389b01c396387e77314d0e310b051a9d678615cf93466265a67f3","sizeBytes":2192},{"href":"https://asset.api.williamrobinson.dev/v1/asset/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/collision.json","mediaType":"application/json","name":"collision.json","sha256":"fdd3b75d3487097c27178cdca98bcac4eb4f11a543a4bcdd6ffc5be5344501a7","sizeBytes":734},{"href":"https://asset.api.williamrobinson.dev/v1/asset/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/godot-scene.tscn","mediaType":"text/plain; charset=utf-8","name":"godot-scene.tscn","sha256":"c1fb2c48896dad0573523724f75dccae20ee908ce9b4b781da13fa5d6008da49","sizeBytes":718},{"href":"https://asset.api.williamrobinson.dev/v1/asset/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/preview.png","mediaType":"image/png","name":"preview.png","sha256":"47b2fd78499eaa90802e7b6cb6975eb768d9265aa4e09f2f44b8e2b0dd265cb8","sizeBytes":58228},{"href":"https://asset.api.williamrobinson.dev/v1/asset/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","mediaType":"application/json","name":"report.json","sha256":"a0cbca1d625aa46f23af80b57a8b98db3e1f77d424cce01643d0b8aec80ad853","sizeBytes":5351}],"checks":[{"code":"structure_valid","detail":"The glTF binary passed header, JSON, and gltf-validator structural checks.","status":"passed"},{"code":"no_external_uris","detail":"No buffer or image referenced an external (non-data:) URI.","status":"passed"},{"code":"within_limits","detail":"Triangle, material, texture, texture-pixel, and node counts are within configured limits.","status":"passed"},{"code":"bounds_expected","detail":"Expected extent along 'y' of 1.5 m; output measures 1.5000 m.","status":"passed"},{"code":"rigged_expected","detail":"No expect.rigged was declared.","status":"not_checked"},{"code":"animations_expected","detail":"No expect.minAnimations was declared.","status":"not_checked"},{"code":"engine_loaded","detail":"The output asset loaded and instantiated in Godot 4 headless.","status":"passed"},{"code":"textures_within_budget","detail":"Largest output texture edge is 64px against a 2048px budget.","status":"passed"},{"code":"power_of_two_textures","detail":"All output textures have power-of-two dimensions.","status":"passed"},{"code":"lods_generated","detail":"LOD1/LOD2 are identical to LOD0; the geometry is already below the simplifier's useful reduction threshold.","status":"passed"},{"code":"collision_generated","detail":"Convex hull has 8 vertices.","status":"passed"}],"collision":{"convexHullVertices":8,"kind":"convex","trimeshTriangles":0},"engineLoad":{"animations":[],"engine":"4.7.2.stable.official.ed1daf0bf","errors":[],"loaded":true,"materials":1,"meshInstances":1,"nodes":2,"skeletons":0},"expiresAt":"2026-01-04T03:04:05.000Z","limitations":["No Unity or Unreal import is executed; for those engines the asset is normalised to standard glTF conventions their importers expect, not verified by running an actual Unity/Unreal import.","Draco, EXT_meshopt_compression, and KTX2 (KHR_texture_basisu) inputs are rejected in v1; only embedded, uncompressed glTF geometry and PNG/JPEG textures are accepted.","Normal-map and other non-colour texture colour space is not verified; textures are resized without reinterpreting their intended colour space.","LOD error is the meshoptimizer geometric error bound actually reached (as a fraction of mesh radius), not a measure of visual/perceptual difference, and is not a proof the LODs are optimal.","Godot's collision generation operates on the LOD0 mesh merged into one shape; per-part or compound collision shapes are not produced."],"lods":[{"bytes":2192,"error":0,"name":"asset.glb","ratio":1,"triangles":12,"vertices":24},{"bytes":2192,"error":0,"name":"asset-lod1.glb","ratio":0.5,"triangles":12,"vertices":24},{"bytes":2192,"error":0,"name":"asset-lod2.glb","ratio":0.25,"triangles":12,"vertices":24}],"normalization":{"rotationXDegrees":0,"scale":1.5,"translation":[0,0.75,0]},"output":{"animations":0,"bones":0,"bounds":{"max":[0.75,1.5,0.75],"min":[-0.75,0,-0.75],"size":[1.5,1.5,1.5]},"bytes":2192,"materials":1,"maxTextureEdge":64,"meshes":1,"nodes":1,"primitives":1,"skins":0,"textures":1,"triangles":12,"vertices":24},"repairs":[],"source":{"animations":0,"bones":0,"bounds":{"max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5],"size":[1,1,1]},"bytes":2192,"materials":1,"maxTextureEdge":64,"meshes":1,"nodes":1,"primitives":1,"skins":0,"textures":1,"triangles":12,"validatorErrors":0,"validatorWarnings":0,"vertices":24},"status":"passed","target":{"collision":"convex","engine":"godot4","maxTextureSize":2048,"origin":"floor","platform":"desktop","size":{"axis":"y","metres":1.5},"sourceUp":"y"},"tools":{"engine":"4.7.2.stable.official.ed1daf0bf","transform":"@gltf-transform/core@4.5.0 meshoptimizer@0.24.0 sharp@0.34.5 resvg@2.6.2","validator":"gltf-validator@2.0.0-dev.3.10"},"truncated":false,"validator":[],"warnings":["LOD simplifier could not reduce a mesh primitive below its LOD0 triangle count (12 triangles); the geometry is likely already below the simplifier's useful reduction threshold.","LOD simplifier could not reduce a mesh primitive below its LOD0 triangle count (12 triangles); the geometry is likely already below the simplifier's useful reduction threshold."]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$defs":{"axis":{"enum":["y","z"],"type":"string"},"collision":{"enum":["none","convex","convex+trimesh"],"type":"string"},"size":{"additionalProperties":false,"properties":{"axis":{"$ref":"#/properties/input/properties/body/$defs/sizeAxis"},"metres":{"exclusiveMinimum":0,"maximum":1000,"type":"number"}},"required":["axis","metres"],"type":"object"},"sizeAxis":{"enum":["x","y","z","max"],"type":"string"},"target":{"additionalProperties":false,"properties":{"collision":{"$ref":"#/properties/input/properties/body/$defs/collision","default":"convex","description":"Generate collision: none, a convex hull, or a convex hull plus a static trimesh."},"engine":{"enum":["godot4","unity","unreal","gltf"],"type":"string"},"maxTextureSize":{"description":"Maximum texture edge in pixels; defaults per platform (mobile 1024, desktop 2048) when omitted.","maximum":8192,"minimum":1,"type":"integer"},"origin":{"default":"keep","description":"Where the origin ends up: unchanged, the bounds centre, or the centre of the bottom face.","enum":["keep","center","floor"],"type":"string"},"platform":{"enum":["mobile","desktop"],"type":"string"},"size":{"$ref":"#/properties/input/properties/body/$defs/size","description":"Desired extent in metres along `axis` after normalisation; omitted keeps the source scale."},"sourceUp":{"$ref":"#/properties/input/properties/body/$defs/axis","default":"y","description":"The source's up axis when known to be Z-up (Blender/Max exports); glTF is Y-up by default."}},"required":["engine","platform"],"type":"object"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"asset":{"contentEncoding":"base64","description":"Base64-encoded glTF 2.0 binary (.glb) with embedded textures only (external URIs are rejected); decoded size must not exceed 4194304 bytes.","maxLength":5592408,"minLength":1,"type":"string"},"expect":{"additionalProperties":false,"properties":{"minAnimations":{"maximum":64,"minimum":0,"type":"integer"},"rigged":{"description":"Require a skeleton (skinned character) to be present.","type":"boolean"},"size":{"additionalProperties":false,"description":"Expected extent in metres along `axis`, checked within `tolerance` (a fraction).","properties":{"axis":{"$ref":"#/properties/input/properties/body/$defs/sizeAxis"},"metres":{"exclusiveMinimum":0,"maximum":1000,"type":"number"},"tolerance":{"default":0.05,"maximum":0.5,"minimum":0,"type":"number"}},"required":["axis","metres"],"type":"object"}},"type":"object"},"target":{"$ref":"#/properties/input/properties/body/$defs/target"}},"required":["asset","target"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$defs":{"artifact":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["asset.glb","asset-lod1.glb","asset-lod2.glb","collision.json","godot-scene.tscn","preview.png","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"bounds":{"additionalProperties":false,"properties":{"max":{"$ref":"#/properties/output/properties/example/$defs/vector3"},"min":{"$ref":"#/properties/output/properties/example/$defs/vector3"},"size":{"$ref":"#/properties/output/properties/example/$defs/vector3"}},"required":["min","max","size"],"type":"object"},"check":{"additionalProperties":false,"properties":{"code":{"type":"string"},"detail":{"maxLength":2048,"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"collision":{"enum":["none","convex","convex+trimesh"],"type":"string"},"lod":{"additionalProperties":false,"properties":{"bytes":{"minimum":0,"type":"integer"},"error":{"minimum":0,"type":"number"},"name":{"enum":["asset.glb","asset-lod1.glb","asset-lod2.glb"],"type":"string"},"ratio":{"maximum":1,"minimum":0,"type":"number"},"triangles":{"maximum":250000,"minimum":0,"type":"integer"},"vertices":{"minimum":0,"type":"integer"}},"required":["name","ratio","triangles","vertices","bytes","error"],"type":"object"},"target":{"additionalProperties":false,"properties":{"collision":{"$ref":"#/properties/output/properties/example/$defs/collision"},"engine":{"enum":["godot4","unity","unreal","gltf"],"type":"string"},"maxTextureSize":{"maximum":8192,"minimum":1,"type":"integer"},"origin":{"enum":["keep","center","floor"],"type":"string"},"platform":{"enum":["mobile","desktop"],"type":"string"},"size":{"additionalProperties":false,"properties":{"axis":{"enum":["x","y","z","max"],"type":"string"},"metres":{"exclusiveMinimum":0,"maximum":1000,"type":"number"}},"required":["axis","metres"],"type":"object"},"sourceUp":{"enum":["y","z"],"type":"string"}},"required":["engine","platform","sourceUp","origin","collision"],"type":"object"},"vector3":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"$ref":"#/properties/output/properties/example/$defs/artifact"},"maxItems":7,"type":"array"},"checks":{"items":{"$ref":"#/properties/output/properties/example/$defs/check"},"maxItems":32,"type":"array"},"collision":{"additionalProperties":false,"properties":{"convexHullVertices":{"minimum":0,"type":"integer"},"kind":{"$ref":"#/properties/output/properties/example/$defs/collision"},"trimeshTriangles":{"minimum":0,"type":"integer"}},"required":["kind","convexHullVertices","trimeshTriangles"],"type":"object"},"engineLoad":{"additionalProperties":false,"properties":{"animations":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"engine":{"type":"string"},"errors":{"items":{"maxLength":2048,"type":"string"},"maxItems":64,"type":"array"},"loaded":{"type":"boolean"},"materials":{"minimum":0,"type":"integer"},"meshInstances":{"minimum":0,"type":"integer"},"nodes":{"minimum":0,"type":"integer"},"skeletons":{"minimum":0,"type":"integer"}},"required":["engine","loaded","nodes","meshInstances","materials","skeletons","animations","errors"],"type":"object"},"expiresAt":{"format":"date-time","type":"string"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"lods":{"items":{"$ref":"#/properties/output/properties/example/$defs/lod"},"maxItems":3,"minItems":1,"type":"array"},"normalization":{"additionalProperties":false,"properties":{"rotationXDegrees":{"type":"number"},"scale":{"type":"number"},"translation":{"$ref":"#/properties/output/properties/example/$defs/vector3"}},"required":["scale","rotationXDegrees","translation"],"type":"object"},"output":{"additionalProperties":false,"properties":{"animations":{"minimum":0,"type":"integer"},"bones":{"minimum":0,"type":"integer"},"bounds":{"$ref":"#/properties/output/properties/example/$defs/bounds"},"bytes":{"minimum":0,"type":"integer"},"materials":{"maximum":32,"minimum":0,"type":"integer"},"maxTextureEdge":{"minimum":0,"type":"integer"},"meshes":{"minimum":0,"type":"integer"},"nodes":{"maximum":2000,"minimum":0,"type":"integer"},"primitives":{"minimum":0,"type":"integer"},"skins":{"minimum":0,"type":"integer"},"textures":{"maximum":32,"minimum":0,"type":"integer"},"triangles":{"maximum":250000,"minimum":0,"type":"integer"},"vertices":{"minimum":0,"type":"integer"}},"required":["triangles","vertices","primitives","meshes","nodes","materials","textures","maxTextureEdge","skins","bones","animations","bytes","bounds"],"type":"object"},"repairs":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"type":"string"},"detail":{"maxLength":2048,"type":"string"}},"required":["code","detail"],"type":"object"},"maxItems":100,"type":"array"},"source":{"additionalProperties":false,"properties":{"animations":{"minimum":0,"type":"integer"},"bones":{"minimum":0,"type":"integer"},"bounds":{"$ref":"#/properties/output/properties/example/$defs/bounds"},"bytes":{"minimum":0,"type":"integer"},"materials":{"maximum":32,"minimum":0,"type":"integer"},"maxTextureEdge":{"minimum":0,"type":"integer"},"meshes":{"minimum":0,"type":"integer"},"nodes":{"maximum":2000,"minimum":0,"type":"integer"},"primitives":{"minimum":0,"type":"integer"},"skins":{"minimum":0,"type":"integer"},"textures":{"maximum":32,"minimum":0,"type":"integer"},"triangles":{"maximum":250000,"minimum":0,"type":"integer"},"validatorErrors":{"minimum":0,"type":"integer"},"validatorWarnings":{"minimum":0,"type":"integer"},"vertices":{"minimum":0,"type":"integer"}},"required":["triangles","vertices","primitives","meshes","nodes","materials","textures","maxTextureEdge","skins","bones","animations","bytes","bounds","validatorErrors","validatorWarnings"],"type":"object"},"status":{"enum":["passed","failed"],"type":"string"},"target":{"$ref":"#/properties/output/properties/example/$defs/target"},"tools":{"additionalProperties":false,"properties":{"engine":{"type":"string"},"transform":{"type":"string"},"validator":{"type":"string"}},"required":["validator","transform","engine"],"type":"object"},"truncated":{"type":"boolean"},"validator":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"type":"string"},"message":{"maxLength":2048,"type":"string"},"pointer":{"maxLength":512,"type":"string"},"severity":{"enum":["error","warning","info"],"type":"string"}},"required":["severity","code","message","pointer"],"type":"object"},"maxItems":100,"type":"array"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":100,"type":"array"}},"required":["status","tools","target","source","output","normalization","lods","collision","engineLoad","repairs","checks","validator","warnings","limitations","truncated","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"a":{"description":"App builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"},"s":{"description":"Service builder codes","items":{"pattern":"^[a-z0-9_]{1,32}$","type":"string"},"maxItems":11,"type":"array"},"w":{"description":"Wallet builder code","pattern":"^[a-z0-9_]{1,32}$","type":"string"}},"type":"object"}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{},"payment-identifier":{"info":{"required":true},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"id":{"maxLength":128,"minLength":16,"pattern":"^[a-zA-Z0-9_-]+$","type":"string"},"required":{"type":"boolean"}},"required":["required"],"type":"object"}}},"tags":["bazaar","builder-code","eip2612GasSponsoring","erc20ApprovalGasSponsoring","payment-identifier"],"sourceHost":"asset.api.williamrobinson.dev","lastUpdated":"2026-09-11T00:17:09.98Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-11T00:17:09.409Z"},"liveness":{},"verified":false,"featured":false}]}