{"api":"v1","generated_at":"2026-09-16T03:38:38.362Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/garment-api-williamrobinson-dev-v1-garment-draft-6a5535","pinned_page":"https://tollindex.com/e/garment-api-williamrobinson-dev-v1-garment-draft-6a5535/at/2026-09-15T21-20Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-15T21:20:12.737Z","snapshot_stamp":"2026-09-15T21-20Z","endpoint":{"slug":"garment-api-williamrobinson-dev-v1-garment-draft-6a5535","canonical_url":"https://garment.api.williamrobinson.dev/v1/garment/draft","resource":"https://garment.api.williamrobinson.dev/v1/garment/draft","http_method":"POST","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"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.","service_name":"Garment-Pattern Engineer","declared_category":null,"declared_tags":["sewing","pattern","freesewing","grading","marker"],"route_template":null,"registry_updated":"2026-09-11T19:22:16.259Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"garment draft","category":"market-data","first_observed_by_toll":"2026-09-11T20:57:00.628Z","last_observed_by_toll":"2026-09-15T21:20:12.737Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-11T20:57:00.628Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.1 USDC","amount_units":0.1,"decimals_known":true,"pay_to":"0x26026370fe8b2bb17af9092a17691c76519366da","scheme":"exact"}],"counters":{"observed_at":"2026-09-15T21:20:12.737Z","calls_30d":1,"unique_payers_30d":1,"last_called_at":"2026-09-11T19:22:15.521Z"},"validation":{"latest":{"observed_at":"2026-09-15T05:23:33.705Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-09-15"},"uptime":[{"days":7,"observed":5,"passed":5,"ratio":1},{"days":30,"observed":5,"passed":5,"ratio":1},{"days":90,"observed":5,"passed":5,"ratio":1}],"history_90d":[{"observed_at":"2026-09-15T05:23:33.705Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-15","state_changed":false},{"observed_at":"2026-09-14T04:58:35.563Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-14","state_changed":false},{"observed_at":"2026-09-13T04:55:23.171Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-13","state_changed":false},{"observed_at":"2026-09-12T07:11:27.276Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-12","state_changed":false},{"observed_at":"2026-09-11T23:29:06.462Z","state":"pass","failed_checks":[],"run_id":"new-2026-09-11T23-29-05-284Z","state_changed":true}]},"seller":{"wallet":"0x26026370fe8b2bb17af9092a17691c76519366da","page":"https://tollindex.com/seller/0x26026370fe8b2bb17af9092a17691c76519366da","endpoints":12,"hosts":12},"reports":0,"registry_record":{"cdp":[{"tags":["sewing","pattern","freesewing","grading","marker"],"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0x26026370fe8b2bb17af9092a17691c76519366da","amount":"100000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":300}],"quality":{"lastCalledAt":"2026-09-11T19:22:15.521Z","l30DaysTotalCalls":1,"l30DaysUniquePayers":1},"resource":"https://garment.api.williamrobinson.dev/v1/garment/draft","extensions":{"bazaar":{"info":{"input":{"body":{"saMm":10,"design":"aaron","fabric":{"gapMm":10,"folded":true,"widthMm":1500},"options":{"hipsEase":12,"chestEase":10,"lengthBonus":15},"measurements":{"hips":1030,"neck":380,"chest":1000,"biceps":300,"hpsToBust":320,"waistToHips":200,"shoulderSlope":13,"waistToArmpit":220,"hpsToWaistBack":420,"shoulderToShoulder":400}},"type":"http","method":"POST","bodyType":"json"},"output":{"type":"json","example":{"saMm":10,"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","layout":{"gapMm":10,"folded":true,"method":"bbox-shelf","lengthMm":1491.4860652603518,"placements":[{"xMm":0,"yMm":0,"copy":1,"piece":"aaron.back","onFold":true,"mirrored":false,"rotationDeg":0},{"xMm":0,"yMm":750.7430326301759,"copy":1,"piece":"aaron.front","onFold":true,"mirrored":false,"rotationDeg":0},{"xMm":293.97999999999996,"yMm":750.7430326301759,"copy":1,"piece":"aaron.armBinding","onFold":false,"mirrored":true,"rotationDeg":0},{"xMm":363.97999999999996,"yMm":750.7430326301759,"copy":1,"piece":"aaron.neckBinding","onFold":false,"mirrored":true,"rotationDeg":0}],"utilization":0.2958254665958102,"fabricWidthMm":1500,"usableWidthMm":750},"pieces":[{"cut":1,"name":"aaron.front","title":"front","bboxMm":{"widthMm":283.97999999999996,"heightMm":740.7430326301759},"onFold":true,"areaMm2":133361.34427204923,"material":"fabric","saApplied":true,"hasGrainline":false},{"cut":1,"name":"aaron.back","title":"back","bboxMm":{"widthMm":283.97999999999996,"heightMm":740.7430326301759},"onFold":true,"areaMm2":133361.34427204923,"material":"fabric","saApplied":true,"hasGrainline":false},{"cut":2,"name":"aaron.armBinding","title":"aaron:armBinding","bboxMm":{"widthMm":60,"heightMm":538.5248073766556},"onFold":false,"areaMm2":32311.488442599337,"material":"fabric","saApplied":false,"hasGrainline":false},{"cut":1,"name":"aaron.neckBinding","title":"aaron:neckBinding","bboxMm":{"widthMm":60,"heightMm":531.3415649316104},"onFold":false,"areaMm2":31880.493895896623,"material":"fabric","saApplied":false,"hasGrainline":false}],"status":"passed","totals":{"draftMs":42.43397900000002,"cutPieces":5,"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."],"artifacts":[{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/pattern.svg","name":"pattern.svg","sha256":"7fdc2fed33e9e13816bdc135f63dfd9aa355d137a4979c744945d68eb62486cd","mediaType":"image/svg+xml","sizeBytes":167624},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/layout.svg","name":"layout.svg","sha256":"9c3272c0cbe195c979d5d47afd99cf58ac77b18a953e17f0438cf8fa3bf5dfd0","mediaType":"image/svg+xml","sizeBytes":2336},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/pieces.json","name":"pieces.json","sha256":"925703c0e433706e985bc07ef914ea9c34d8c32ddfc93d701502f26dda023770","mediaType":"application/json","sizeBytes":2090},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/cutlist.csv","name":"cutlist.csv","sha256":"f847c8039263f44ca3f6d755484de68d7b023c15c5c5f7757f48be905dc74563","mediaType":"text/csv; charset=utf-8","sizeBytes":443},{"href":"https://garment.api.williamrobinson.dev/v1/garment/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json","name":"report.json","sha256":"3712bddf823468d4b699e8e725cc9b8c7df9499308b8b6aae56a11b725b4789a","mediaType":"application/json","sizeBytes":5949}],"expiresAt":"2026-09-13T14:56:37.143Z","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."],"designVersion":"4.10.1","optionsApplied":{"hipsEase":12,"chestEase":10,"lengthBonus":15},"freesewingVersion":"4.10.1","measurementsApplied":{"hips":1030,"neck":380,"chest":1000,"biceps":300,"hpsToBust":320,"waistToHips":200,"shoulderSlope":13,"waistToArmpit":220,"hpsToWaistBack":420,"shoulderToShoulder":400}}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["design","measurements","fabric"],"properties":{"saMm":{"type":"number","default":10,"maximum":50,"minimum":0,"description":"Seam allowance, millimetres (0 = none)."},"design":{"enum":["aaron","bruce","teagan","simon","hugo","wahid","bella","sven"],"type":"string","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."},"fabric":{"type":"object","required":["widthMm"],"properties":{"gapMm":{"type":"number","default":10,"maximum":100,"minimum":0,"description":"Minimum gap between placed pieces, millimetres."},"folded":{"type":"boolean","default":true,"description":"Lay the fabric folded lengthwise; usable width halves and on-fold pieces sit on the fold."},"widthMm":{"type":"number","maximum":3000,"minimum":300,"description":"Usable fabric width (selvedge to selvedge), millimetres."}},"additionalProperties":false},"options":{"type":"object","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,"additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"boolean"}]}},"measurements":{"type":"object","description":"Millimetres for lengths, degrees for angles; keys are the chosen design's required/optional freesewing measurement names.","maxProperties":64,"additionalProperties":{"type":"number","maximum":10000,"exclusiveMinimum":0}}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","$defs":{"bbox":{"type":"object","required":["widthMm","heightMm"],"properties":{"widthMm":{"type":"number","minimum":0},"heightMm":{"type":"number","minimum":0}},"additionalProperties":false},"check":{"type":"object","required":["code","status","detail"],"properties":{"code":{"type":"string"},"detail":{"type":"string","maxLength":2048},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"additionalProperties":false},"placement":{"type":"object","required":["piece","copy","xMm","yMm","rotationDeg","mirrored","onFold"],"properties":{"xMm":{"type":"number"},"yMm":{"type":"number"},"copy":{"type":"integer","minimum":0},"piece":{"type":"string"},"onFold":{"type":"boolean"},"mirrored":{"type":"boolean"},"rotationDeg":{"enum":[0,180],"type":"integer"}},"additionalProperties":false}},"$schema":"https://json-schema.org/draft/2020-12/schema","required":["status","design","designVersion","freesewingVersion","measurementsApplied","optionsApplied","saMm","pieces","layout","totals","checks","warnings","limitations","expiresAt","artifacts"],"properties":{"saMm":{"type":"number","minimum":0},"checks":{"type":"array","items":{"$ref":"#/properties/output/properties/example/$defs/check"}},"design":{"enum":["aaron","bruce","teagan","simon","hugo","wahid","bella","sven"],"type":"string"},"layout":{"type":["object","null"],"required":["fabricWidthMm","usableWidthMm","folded","gapMm","lengthMm","utilization","method","placements"],"properties":{"gapMm":{"type":"number","minimum":0},"folded":{"type":"boolean"},"method":{"type":"string","const":"bbox-shelf"},"lengthMm":{"type":"number","minimum":0},"placements":{"type":"array","items":{"$ref":"#/properties/output/properties/example/$defs/placement"}},"utilization":{"type":"number","maximum":1,"minimum":0},"fabricWidthMm":{"type":"number","minimum":0},"usableWidthMm":{"type":"number","minimum":0}},"additionalProperties":false},"pieces":{"type":"array","items":{"type":"object","required":["name","title","bboxMm","areaMm2","cut","onFold","hasGrainline","material","saApplied"],"properties":{"cut":{"type":"integer","minimum":0},"name":{"type":"string"},"title":{"type":"string"},"bboxMm":{"$ref":"#/properties/output/properties/example/$defs/bbox"},"onFold":{"type":"boolean"},"areaMm2":{"type":"number","minimum":0},"material":{"type":["string","null"]},"saApplied":{"type":"boolean"},"hasGrainline":{"type":"boolean"}},"additionalProperties":false}},"status":{"enum":["passed","rejected"],"type":"string"},"totals":{"type":["object","null"],"required":["pieceAreaMm2","cutPieces","draftMs"],"properties":{"draftMs":{"type":"number","minimum":0},"cutPieces":{"type":"integer","minimum":0},"pieceAreaMm2":{"type":"number","minimum":0}},"additionalProperties":false},"warnings":{"type":"array","items":{"type":"string","maxLength":4096}},"artifacts":{"type":"array","items":{"type":"object","required":["name","mediaType","sizeBytes","sha256","href"],"properties":{"href":{"type":"string","format":"uri"},"name":{"enum":["pattern.svg","layout.svg","pieces.json","cutlist.csv","report.json"],"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mediaType":{"type":"string","maxLength":128,"minLength":1},"sizeBytes":{"type":"integer","minimum":0}},"additionalProperties":false},"maxItems":5},"expiresAt":{"type":"string","format":"date-time"},"limitations":{"type":"array","items":{"type":"string","maxLength":4096}},"designVersion":{"type":"string"},"optionsApplied":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"boolean"}]}},"freesewingVersion":{"type":"string","const":"4.10.1"},"measurementsApplied":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false}}}}}},"builder-code":{"info":{"s":["cdp_sdk_server"]},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"a":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"App builder code"},"s":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9_]{1,32}$"},"maxItems":11,"description":"Service builder codes"},"w":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"Wallet builder code"}},"additionalProperties":false}},"payment-identifier":{"info":{"required":true},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["required"],"properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9_-]+$","maxLength":128,"minLength":16},"required":{"type":"boolean"}}}},"eip2612GasSponsoring":{},"erc20ApprovalGasSponsoring":{}},"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.","lastUpdated":"2026-09-11T19:22:16.259Z","serviceName":"Garment-Pattern Engineer","x402Version":2}]}}