{
  "x402Version": 2,
  "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",
  "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,
  "provider": {
    "host": "lab.api.williamrobinson.dev",
    "manifest_name": "lab.api.williamrobinson.dev",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}