json_schema: {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {
          "positiveNumber": {
              "type": "number",
              "minimum": 0
          },
          "channels": {
              "enum": [
                  1,
                  8
              ]
          },
          "displayCategory": {
              "type": "string",
              "enum": [
                  "GEN1",
                  "GEN2"
              ]
          }
      },
      "description": "Model-level pipette specifications. These do not vary across different versions of the same model",
      "type": "object",
      "$comment": "Example key: 'p10_single'",
      "patternProperties": {
          ".*": {
              "type": "object",
              "required": [
                  "channels",
                  "displayName",
                  "defaultAspirateFlowRate",
                  "defaultDispenseFlowRate",
                  "defaultBlowOutFlowRate",
                  "maxVolume",
                  "minVolume"
              ],
              "additionalProperties": false,
              "properties": {
                  "channels": {
                      "$ref": "#/definitions/channels"
                  },
                  "defaultAspirateFlowRate": {
                      "value": {
                          "$ref": "#/definitions/positiveNumber"
                      },
                      "min": {
                          "$ref": "#/definitions/positiveNumber"
                      },
                      "max": {
                          "$ref": "#/definitions/positiveNumber"
                      }
                  },
                  "defaultDispenseFlowRate": {
                      "value": {
                          "$ref": "#/definitions/positiveNumber"
                      },
                      "min": {
                          "$ref": "#/definitions/positiveNumber"
                      },
                      "max": {
                          "$ref": "#/definitions/positiveNumber"
                      }
                  },
                  "defaultBlowOutFlowRate": {
                      "value": {
                          "$ref": "#/definitions/positiveNumber"
                      },
                      "min": {
                          "$ref": "#/definitions/positiveNumber"
                      },
                      "max": {
                          "$ref": "#/definitions/positiveNumber"
                      }
                  },
                  "displayName": {
                      "type": "string"
                  },
                  "displayCategory": {
                      "$ref": "#/definitions/displayCategory"
                  },
                  "maxVolume": {
                      "$ref": "#/definitions/positiveNumber"
                  },
                  "minVolume": {
                      "$ref": "#/definitions/positiveNumber"
                  },
                  "smoothieConfigs": {
                      "type": "object",
                      "description": "Runtime smoothie configs per pipette type",
                      "properties": {
                          "stepsPerMM": {
                              "type": "number"
                          },
                          "homePosition": {
                              "type": "number"
                          },
                          "travelDistance": {
                              "type": "number"
                          }
                      }
                  }
              }
          }
      }
  }