{
  "components": {
    "schemas": {
      "AnyStructureGroup": {
        "additionalProperties": false,
        "properties": {
          "conditions": {
            "items": {
              "$ref": "#/components/schemas/StructureCondition"
            },
            "maxItems": 16,
            "title": "Conditions",
            "type": "array"
          },
          "minimum": {
            "default": 0,
            "minimum": 0.0,
            "title": "Minimum",
            "type": "integer"
          }
        },
        "title": "AnyStructureGroup",
        "type": "object"
      },
      "CheeseSearchRequest": {
        "additionalProperties": false,
        "description": "Stable public request for CHEESE exact product reranking.",
        "properties": {
          "database_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Database Id",
            "type": "string"
          },
          "include_synthons": {
            "default": false,
            "title": "Include Synthons",
            "type": "boolean"
          },
          "limit": {
            "default": 20,
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Limit",
            "type": "integer"
          },
          "query_smiles": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Query Smiles",
            "type": "string"
          },
          "scorer": {
            "pattern": "^(shape|esp)$",
            "title": "Scorer",
            "type": "string"
          },
          "shortlist_multiplier": {
            "default": 10,
            "description": "Candidate over-fetch multiplier; 0 disables over-fetch and scores exactly limit proposals, while preserving exact endpoint-specific product scoring.",
            "maximum": 200.0,
            "minimum": 0.0,
            "title": "Shortlist Multiplier",
            "type": "integer"
          }
        },
        "required": [
          "query_smiles",
          "database_id",
          "scorer"
        ],
        "title": "CheeseSearchRequest",
        "type": "object"
      },
      "ConstraintExecution": {
        "properties": {
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message"
          },
          "path": {
            "title": "Path",
            "type": "string"
          },
          "status": {
            "enum": [
              "exact_pushdown",
              "conservative_approximate_pushdown",
              "post_assembly_only",
              "unsupported"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "path",
          "status"
        ],
        "title": "ConstraintExecution",
        "type": "object"
      },
      "Constraints": {
        "additionalProperties": false,
        "properties": {
          "presets": {
            "items": {
              "$ref": "#/components/schemas/PresetReference"
            },
            "maxItems": 16,
            "title": "Presets",
            "type": "array"
          },
          "properties": {
            "items": {
              "$ref": "#/components/schemas/PropertyCondition"
            },
            "maxItems": 32,
            "title": "Properties",
            "type": "array"
          },
          "reactions": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "maxItems": 16,
            "title": "Reactions",
            "type": "array"
          },
          "relationships": {
            "items": {
              "$ref": "#/components/schemas/ScaffoldRelationship"
            },
            "maxItems": 16,
            "title": "Relationships",
            "type": "array"
          },
          "structures": {
            "$ref": "#/components/schemas/StructureConstraints"
          }
        },
        "title": "Constraints",
        "type": "object"
      },
      "CountConstraint": {
        "additionalProperties": false,
        "properties": {
          "max": {
            "anyOf": [
              {
                "minimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max"
          },
          "min": {
            "default": 1,
            "minimum": 0.0,
            "title": "Min",
            "type": "integer"
          }
        },
        "title": "CountConstraint",
        "type": "object"
      },
      "DatabaseSelection": {
        "additionalProperties": false,
        "properties": {
          "database_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Database Id",
            "type": "string"
          },
          "release_id": {
            "anyOf": [
              {
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Release Id"
          }
        },
        "required": [
          "database_id"
        ],
        "title": "DatabaseSelection",
        "type": "object"
      },
      "DefaultSearchRequest": {
        "additionalProperties": false,
        "description": "Stable public request for fixed ECFP4/Tanimoto search.",
        "properties": {
          "database_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Database Id",
            "type": "string"
          },
          "include_synthons": {
            "default": false,
            "title": "Include Synthons",
            "type": "boolean"
          },
          "limit": {
            "default": 20,
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Limit",
            "type": "integer"
          },
          "query_smiles": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Query Smiles",
            "type": "string"
          },
          "shortlist_multiplier": {
            "default": 10,
            "description": "Candidate over-fetch multiplier; 0 disables over-fetch and scores exactly limit proposals, while preserving exact endpoint-specific product scoring.",
            "maximum": 200.0,
            "minimum": 0.0,
            "title": "Shortlist Multiplier",
            "type": "integer"
          }
        },
        "required": [
          "query_smiles",
          "database_id"
        ],
        "title": "DefaultSearchRequest",
        "type": "object"
      },
      "Execution": {
        "additionalProperties": false,
        "properties": {
          "quality": {
            "default": "balanced",
            "enum": [
              "fast",
              "balanced"
            ],
            "title": "Quality",
            "type": "string"
          },
          "seed": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed"
          },
          "shortlist_multiplier": {
            "default": 10,
            "description": "Candidate over-fetch multiplier; 0 disables over-fetch and scores exactly the portfolio limit with the selected objective.",
            "maximum": 200.0,
            "minimum": 0.0,
            "title": "Shortlist Multiplier",
            "type": "integer"
          }
        },
        "title": "Execution",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "LegacySubstructureRequest": {
        "additionalProperties": false,
        "properties": {
          "database_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Database Id",
            "type": "string"
          },
          "include_synthons": {
            "default": false,
            "title": "Include Synthons",
            "type": "boolean"
          },
          "limit": {
            "default": 100,
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Limit",
            "type": "integer"
          },
          "query_smiles": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Query Smiles",
            "type": "string"
          },
          "timeout_seconds": {
            "default": 50,
            "maximum": 120.0,
            "minimum": 1.0,
            "title": "Timeout Seconds",
            "type": "integer"
          }
        },
        "required": [
          "query_smiles",
          "database_id"
        ],
        "title": "LegacySubstructureRequest",
        "type": "object"
      },
      "Page": {
        "properties": {
          "data": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Data",
            "type": "array"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "required": [
          "data"
        ],
        "title": "Page",
        "type": "object"
      },
      "Portfolio": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 100,
            "maximum": 1000.0,
            "minimum": 1.0,
            "title": "Limit",
            "type": "integer"
          },
          "max_per_scaffold": {
            "anyOf": [
              {
                "maximum": 1000.0,
                "minimum": 1.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Per Scaffold"
          }
        },
        "title": "Portfolio",
        "type": "object"
      },
      "PresetReference": {
        "additionalProperties": false,
        "properties": {
          "preset_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Preset Id",
            "type": "string"
          },
          "version": {
            "maxLength": 32,
            "minLength": 1,
            "title": "Version",
            "type": "string"
          }
        },
        "required": [
          "preset_id",
          "version"
        ],
        "title": "PresetReference",
        "type": "object"
      },
      "PropertyCondition": {
        "additionalProperties": false,
        "properties": {
          "missing": {
            "const": "reject",
            "default": "reject",
            "title": "Missing",
            "type": "string"
          },
          "operator": {
            "enum": [
              "gt",
              "gte",
              "lt",
              "lte",
              "range"
            ],
            "title": "Operator",
            "type": "string"
          },
          "property_id": {
            "maxLength": 256,
            "minLength": 1,
            "title": "Property Id",
            "type": "string"
          },
          "required_fidelity": {
            "const": "exact_product",
            "default": "exact_product",
            "title": "Required Fidelity",
            "type": "string"
          },
          "type": {
            "const": "property",
            "default": "property",
            "title": "Type",
            "type": "string"
          },
          "units": {
            "maxLength": 32,
            "minLength": 1,
            "title": "Units",
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "$ref": "#/components/schemas/RangeValue"
              }
            ],
            "title": "Value"
          }
        },
        "required": [
          "property_id",
          "operator",
          "value",
          "units"
        ],
        "title": "PropertyCondition",
        "type": "object"
      },
      "PropertyPreset": {
        "enum": [
          "lipinski-ro5",
          "navigator-druglike-v1"
        ],
        "title": "PropertyPreset",
        "type": "string"
      },
      "PropertyRange": {
        "properties": {
          "max": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max"
          },
          "max_inclusive": {
            "default": true,
            "title": "Max Inclusive",
            "type": "boolean"
          },
          "min": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Min"
          },
          "min_inclusive": {
            "default": true,
            "title": "Min Inclusive",
            "type": "boolean"
          }
        },
        "title": "PropertyRange",
        "type": "object"
      },
      "RangeValue": {
        "additionalProperties": false,
        "properties": {
          "lower": {
            "title": "Lower",
            "type": "number"
          },
          "lower_inclusive": {
            "default": true,
            "title": "Lower Inclusive",
            "type": "boolean"
          },
          "upper": {
            "title": "Upper",
            "type": "number"
          },
          "upper_inclusive": {
            "default": true,
            "title": "Upper Inclusive",
            "type": "boolean"
          }
        },
        "required": [
          "lower",
          "upper"
        ],
        "title": "RangeValue",
        "type": "object"
      },
      "RankedStrategy": {
        "additionalProperties": false,
        "properties": {
          "type": {
            "const": "ranked",
            "default": "ranked",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "RankedStrategy",
        "type": "object"
      },
      "Reference": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "pattern": "^[A-Za-z0-9._-]{1,128}$",
            "title": "Id",
            "type": "string"
          },
          "structure": {
            "$ref": "#/components/schemas/Structure"
          }
        },
        "required": [
          "id",
          "structure"
        ],
        "title": "Reference",
        "type": "object"
      },
      "RunInput": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "pattern": "^[A-Za-z0-9._-]{1,128}$",
            "title": "Id",
            "type": "string"
          },
          "references": {
            "items": {
              "$ref": "#/components/schemas/Reference"
            },
            "maxItems": 32,
            "minItems": 1,
            "title": "References",
            "type": "array"
          }
        },
        "required": [
          "id",
          "references"
        ],
        "title": "RunInput",
        "type": "object"
      },
      "RunItemResource": {
        "properties": {
          "attempt_count": {
            "default": 0,
            "title": "Attempt Count",
            "type": "integer"
          },
          "completed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "error": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "input_index": {
            "title": "Input Index",
            "type": "integer"
          },
          "result": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Result"
          },
          "started_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Started At"
          },
          "status": {
            "enum": [
              "pending",
              "running",
              "succeeded",
              "failed",
              "cancelled"
            ],
            "title": "Status",
            "type": "string"
          },
          "timing_ms": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Timing Ms"
          }
        },
        "required": [
          "id",
          "input_index",
          "status"
        ],
        "title": "RunItemResource",
        "type": "object"
      },
      "RunLinks": {
        "properties": {
          "events": {
            "title": "Events",
            "type": "string"
          },
          "items": {
            "title": "Items",
            "type": "string"
          },
          "results": {
            "title": "Results",
            "type": "string"
          },
          "self": {
            "title": "Self",
            "type": "string"
          }
        },
        "required": [
          "self",
          "items",
          "results",
          "events"
        ],
        "title": "RunLinks",
        "type": "object"
      },
      "RunProgress": {
        "properties": {
          "cancelled": {
            "title": "Cancelled",
            "type": "integer"
          },
          "failed": {
            "title": "Failed",
            "type": "integer"
          },
          "pending": {
            "title": "Pending",
            "type": "integer"
          },
          "running": {
            "title": "Running",
            "type": "integer"
          },
          "succeeded": {
            "title": "Succeeded",
            "type": "integer"
          },
          "total": {
            "title": "Total",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "pending",
          "running",
          "succeeded",
          "failed",
          "cancelled"
        ],
        "title": "RunProgress",
        "type": "object"
      },
      "RunResource": {
        "properties": {
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "expires_at": {
            "title": "Expires At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "kind": {
            "enum": [
              "selection",
              "selection_batch"
            ],
            "title": "Kind",
            "type": "string"
          },
          "last_event_sequence": {
            "title": "Last Event Sequence",
            "type": "integer"
          },
          "links": {
            "$ref": "#/components/schemas/RunLinks"
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Metadata",
            "type": "object"
          },
          "object": {
            "const": "run",
            "default": "run",
            "title": "Object",
            "type": "string"
          },
          "progress": {
            "$ref": "#/components/schemas/RunProgress"
          },
          "schema_version": {
            "const": "run/1",
            "default": "run/1",
            "title": "Schema Version",
            "type": "string"
          },
          "specification_hash": {
            "title": "Specification Hash",
            "type": "string"
          },
          "status": {
            "enum": [
              "queued",
              "running",
              "completed",
              "completed_with_errors",
              "failed",
              "cancelling",
              "cancelled"
            ],
            "title": "Status",
            "type": "string"
          },
          "updated_at": {
            "title": "Updated At",
            "type": "string"
          },
          "warnings": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "title": "Warnings",
            "type": "array"
          }
        },
        "required": [
          "id",
          "kind",
          "status",
          "created_at",
          "updated_at",
          "expires_at",
          "progress",
          "last_event_sequence",
          "specification_hash",
          "links"
        ],
        "title": "RunResource",
        "type": "object"
      },
      "RunSpecification": {
        "additionalProperties": false,
        "properties": {
          "failure_policy": {
            "const": "continue",
            "default": "continue",
            "title": "Failure Policy",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/RunInput"
            },
            "maxItems": 1000,
            "title": "Items",
            "type": "array"
          },
          "kind": {
            "enum": [
              "selection",
              "selection_batch"
            ],
            "title": "Kind",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": {
              "type": "string"
            },
            "maxProperties": 32,
            "title": "Metadata",
            "type": "object"
          },
          "schema_version": {
            "const": "run/1",
            "default": "run/1",
            "title": "Schema Version",
            "type": "string"
          },
          "selection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SelectionDocument"
              },
              {
                "type": "null"
              }
            ]
          },
          "selection_template": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selection Template"
          }
        },
        "required": [
          "kind"
        ],
        "title": "RunSpecification",
        "type": "object"
      },
      "SampleHit": {
        "properties": {
          "index": {
            "title": "Index",
            "type": "integer"
          },
          "price": {
            "anyOf": [
              {
                "exclusiveMinimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Price"
          },
          "product_id": {
            "title": "Product Id",
            "type": "string"
          },
          "properties": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Properties"
          },
          "reaction_id": {
            "title": "Reaction Id",
            "type": "string"
          },
          "smiles": {
            "title": "Smiles",
            "type": "string"
          },
          "synthons": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SynthonProvenance"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Synthons"
          }
        },
        "required": [
          "index",
          "smiles",
          "product_id",
          "reaction_id"
        ],
        "title": "SampleHit",
        "type": "object"
      },
      "SampleRequest": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "default": 100,
            "maximum": 1000.0,
            "minimum": 1.0,
            "title": "Count",
            "type": "integer"
          },
          "database_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Database Id",
            "type": "string"
          },
          "include_properties": {
            "default": false,
            "title": "Include Properties",
            "type": "boolean"
          },
          "include_synthons": {
            "default": false,
            "title": "Include Synthons",
            "type": "boolean"
          },
          "property_constraints": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PropertyRange"
            },
            "maxProperties": 17,
            "title": "Property Constraints",
            "type": "object"
          },
          "seed": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed"
          }
        },
        "required": [
          "database_id"
        ],
        "title": "SampleRequest",
        "type": "object"
      },
      "SampleResponse": {
        "properties": {
          "database_id": {
            "title": "Database Id",
            "type": "string"
          },
          "database_release": {
            "title": "Database Release",
            "type": "string"
          },
          "deduplicated": {
            "default": 0,
            "title": "Deduplicated",
            "type": "integer"
          },
          "requested": {
            "title": "Requested",
            "type": "integer"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/SampleHit"
            },
            "title": "Results",
            "type": "array"
          },
          "returned": {
            "title": "Returned",
            "type": "integer"
          },
          "sampling_method": {
            "default": "route_product_tuple",
            "title": "Sampling Method",
            "type": "string"
          },
          "sampling_version": {
            "default": "1",
            "title": "Sampling Version",
            "type": "string"
          },
          "seed": {
            "title": "Seed",
            "type": "integer"
          },
          "warnings": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "title": "Warnings",
            "type": "array"
          }
        },
        "required": [
          "database_id",
          "database_release",
          "seed",
          "requested",
          "returned",
          "results"
        ],
        "title": "SampleResponse",
        "type": "object"
      },
      "SampleStrategy": {
        "additionalProperties": false,
        "properties": {
          "distribution": {
            "default": "route_product_tuple",
            "enum": [
              "route_product_tuple",
              "eligible_row"
            ],
            "title": "Distribution",
            "type": "string"
          },
          "type": {
            "const": "sample",
            "default": "sample",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "SampleStrategy",
        "type": "object"
      },
      "ScaffoldRelationship": {
        "additionalProperties": false,
        "properties": {
          "method_id": {
            "const": "rdkit.bemis_murcko",
            "title": "Method Id",
            "type": "string"
          },
          "operator": {
            "enum": [
              "different",
              "same"
            ],
            "title": "Operator",
            "type": "string"
          },
          "reference_id": {
            "pattern": "^[A-Za-z0-9._-]{1,128}$",
            "title": "Reference Id",
            "type": "string"
          },
          "type": {
            "const": "scaffold_relation",
            "default": "scaffold_relation",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "reference_id",
          "method_id",
          "operator"
        ],
        "title": "ScaffoldRelationship",
        "type": "object"
      },
      "ScorerName": {
        "enum": [
          "morgan",
          "shape",
          "esp"
        ],
        "title": "ScorerName",
        "type": "string"
      },
      "SearchCounts": {
        "properties": {
          "additive_property_dropped": {
            "default": 0,
            "title": "Additive Property Dropped",
            "type": "integer"
          },
          "admet_acquisition_dropped": {
            "default": 0,
            "title": "Admet Acquisition Dropped",
            "type": "integer"
          },
          "admet_out_of_domain": {
            "default": 0,
            "title": "Admet Out Of Domain",
            "type": "integer"
          },
          "assembled": {
            "default": 0,
            "title": "Assembled",
            "type": "integer"
          },
          "duplicate_products": {
            "default": 0,
            "title": "Duplicate Products",
            "type": "integer"
          },
          "duplicate_tuples": {
            "default": 0,
            "title": "Duplicate Tuples",
            "type": "integer"
          },
          "exact_constraint_dropped": {
            "default": 0,
            "title": "Exact Constraint Dropped",
            "type": "integer"
          },
          "exact_property_dropped": {
            "default": 0,
            "title": "Exact Property Dropped",
            "type": "integer"
          },
          "invalid": {
            "default": 0,
            "title": "Invalid",
            "type": "integer"
          },
          "property_approximation_unavailable": {
            "default": 0,
            "title": "Property Approximation Unavailable",
            "type": "integer"
          },
          "proposed": {
            "default": 0,
            "title": "Proposed",
            "type": "integer"
          },
          "returned": {
            "default": 0,
            "title": "Returned",
            "type": "integer"
          }
        },
        "title": "SearchCounts",
        "type": "object"
      },
      "SearchHit": {
        "properties": {
          "admet_acquisition_scores": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Admet Acquisition Scores"
          },
          "admet_in_domain": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Admet In Domain"
          },
          "approximate_properties": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approximate Properties"
          },
          "constraint_evidence": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Constraint Evidence"
          },
          "metric": {
            "title": "Metric",
            "type": "string"
          },
          "price": {
            "anyOf": [
              {
                "exclusiveMinimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Price"
          },
          "product_id": {
            "title": "Product Id",
            "type": "string"
          },
          "properties": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Properties"
          },
          "proposal_score": {
            "title": "Proposal Score",
            "type": "number"
          },
          "rank": {
            "title": "Rank",
            "type": "integer"
          },
          "reaction_id": {
            "title": "Reaction Id",
            "type": "string"
          },
          "score": {
            "title": "Score",
            "type": "number"
          },
          "smiles": {
            "title": "Smiles",
            "type": "string"
          },
          "synthons": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SynthonProvenance"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Synthons"
          }
        },
        "required": [
          "rank",
          "smiles",
          "score",
          "metric",
          "proposal_score",
          "product_id",
          "reaction_id"
        ],
        "title": "SearchHit",
        "type": "object"
      },
      "SearchResponse": {
        "properties": {
          "admet_acquisition_models": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Admet Acquisition Models",
            "type": "object"
          },
          "admet_acquisition_semantics": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Admet Acquisition Semantics"
          },
          "counts": {
            "$ref": "#/components/schemas/SearchCounts"
          },
          "database_id": {
            "title": "Database Id",
            "type": "string"
          },
          "database_release": {
            "title": "Database Release",
            "type": "string"
          },
          "effective_shortlist": {
            "title": "Effective Shortlist",
            "type": "integer"
          },
          "engine_version": {
            "title": "Engine Version",
            "type": "string"
          },
          "exact_property_postfilter": {
            "default": true,
            "title": "Exact Property Postfilter",
            "type": "boolean"
          },
          "metric": {
            "title": "Metric",
            "type": "string"
          },
          "model_version": {
            "title": "Model Version",
            "type": "string"
          },
          "property_constraints": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PropertyRange"
            },
            "title": "Property Constraints",
            "type": "object"
          },
          "property_preset": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PropertyPreset"
              },
              {
                "type": "null"
              }
            ]
          },
          "query_smiles": {
            "title": "Query Smiles",
            "type": "string"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Id"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/SearchHit"
            },
            "title": "Results",
            "type": "array"
          },
          "scorer": {
            "$ref": "#/components/schemas/ScorerName"
          },
          "shortlist_multiplier": {
            "title": "Shortlist Multiplier",
            "type": "integer"
          },
          "timing_ms": {
            "$ref": "#/components/schemas/SearchTimings"
          },
          "warnings": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "title": "Warnings",
            "type": "array"
          }
        },
        "required": [
          "query_smiles",
          "database_id",
          "database_release",
          "model_version",
          "engine_version",
          "scorer",
          "metric",
          "shortlist_multiplier",
          "effective_shortlist",
          "results",
          "counts",
          "timing_ms"
        ],
        "title": "SearchResponse",
        "type": "object"
      },
      "SearchTimings": {
        "properties": {
          "assembly_and_scoring": {
            "default": 0.0,
            "title": "Assembly And Scoring",
            "type": "number"
          },
          "proposal": {
            "default": 0.0,
            "title": "Proposal",
            "type": "number"
          },
          "query": {
            "default": 0.0,
            "title": "Query",
            "type": "number"
          },
          "total": {
            "default": 0.0,
            "title": "Total",
            "type": "number"
          }
        },
        "title": "SearchTimings",
        "type": "object"
      },
      "SelectionDocument": {
        "additionalProperties": false,
        "description": "Portable, replayable selection intent.",
        "properties": {
          "constraints": {
            "$ref": "#/components/schemas/Constraints"
          },
          "database": {
            "$ref": "#/components/schemas/DatabaseSelection"
          },
          "execution": {
            "$ref": "#/components/schemas/Execution"
          },
          "include": {
            "items": {
              "enum": [
                "properties",
                "constraint_evidence",
                "objective_components",
                "execution_plan",
                "synthons",
                "match_evidence"
              ],
              "type": "string"
            },
            "title": "Include",
            "type": "array"
          },
          "objectives": {
            "items": {
              "$ref": "#/components/schemas/SimilarityObjective"
            },
            "maxItems": 16,
            "title": "Objectives",
            "type": "array"
          },
          "portfolio": {
            "$ref": "#/components/schemas/Portfolio"
          },
          "references": {
            "items": {
              "$ref": "#/components/schemas/Reference"
            },
            "maxItems": 32,
            "title": "References",
            "type": "array"
          },
          "schema_version": {
            "const": "molecule-selection/1",
            "default": "molecule-selection/1",
            "title": "Schema Version",
            "type": "string"
          },
          "strategy": {
            "discriminator": {
              "mapping": {
                "ranked": "#/components/schemas/RankedStrategy",
                "sample": "#/components/schemas/SampleStrategy"
              },
              "propertyName": "type"
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/RankedStrategy"
              },
              {
                "$ref": "#/components/schemas/SampleStrategy"
              }
            ],
            "title": "Strategy"
          }
        },
        "required": [
          "database",
          "strategy"
        ],
        "title": "SelectionDocument",
        "type": "object"
      },
      "SelectionEstimate": {
        "properties": {
          "coverage": {
            "additionalProperties": true,
            "title": "Coverage",
            "type": "object"
          },
          "execution_tier": {
            "enum": [
              "synchronous",
              "durable"
            ],
            "title": "Execution Tier",
            "type": "string"
          },
          "normalized_selection": {
            "$ref": "#/components/schemas/SelectionDocument"
          },
          "reusable_run_request": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reusable Run Request"
          },
          "selection_hash": {
            "title": "Selection Hash",
            "type": "string"
          },
          "warnings": {
            "items": {
              "$ref": "#/components/schemas/WarningMessage"
            },
            "title": "Warnings",
            "type": "array"
          },
          "work": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ]
            },
            "title": "Work",
            "type": "object"
          }
        },
        "required": [
          "normalized_selection",
          "selection_hash",
          "execution_tier",
          "work"
        ],
        "title": "SelectionEstimate",
        "type": "object"
      },
      "SelectionResponse": {
        "additionalProperties": true,
        "properties": {
          "counts": {
            "additionalProperties": true,
            "title": "Counts",
            "type": "object"
          },
          "database_release": {
            "title": "Database Release",
            "type": "string"
          },
          "execution_plan": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Execution Plan"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "normalized_selection": {
            "$ref": "#/components/schemas/SelectionDocument"
          },
          "object": {
            "const": "selection",
            "default": "selection",
            "title": "Object",
            "type": "string"
          },
          "request_id": {
            "title": "Request Id",
            "type": "string"
          },
          "results": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Results",
            "type": "array"
          },
          "selection_hash": {
            "title": "Selection Hash",
            "type": "string"
          },
          "status": {
            "enum": [
              "completed",
              "completed_with_warnings"
            ],
            "title": "Status",
            "type": "string"
          },
          "timing_ms": {
            "additionalProperties": {
              "type": "number"
            },
            "title": "Timing Ms",
            "type": "object"
          },
          "warnings": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "title": "Warnings",
            "type": "array"
          }
        },
        "required": [
          "id",
          "status",
          "request_id",
          "selection_hash",
          "normalized_selection",
          "database_release"
        ],
        "title": "SelectionResponse",
        "type": "object"
      },
      "SelectionValidation": {
        "properties": {
          "constraint_execution": {
            "items": {
              "$ref": "#/components/schemas/ConstraintExecution"
            },
            "title": "Constraint Execution",
            "type": "array"
          },
          "normalized_selection": {
            "$ref": "#/components/schemas/SelectionDocument"
          },
          "selection_hash": {
            "title": "Selection Hash",
            "type": "string"
          },
          "valid": {
            "title": "Valid",
            "type": "boolean"
          },
          "warnings": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "title": "Warnings",
            "type": "array"
          }
        },
        "required": [
          "valid",
          "normalized_selection",
          "selection_hash"
        ],
        "title": "SelectionValidation",
        "type": "object"
      },
      "SimilarityObjective": {
        "additionalProperties": false,
        "properties": {
          "direction": {
            "const": "maximize",
            "default": "maximize",
            "title": "Direction",
            "type": "string"
          },
          "metric_id": {
            "enum": [
              "rdkit.ecfp4_tanimoto",
              "cheese.shape",
              "cheese.electrostatic"
            ],
            "title": "Metric Id",
            "type": "string"
          },
          "reference_id": {
            "pattern": "^[A-Za-z0-9._-]{1,128}$",
            "title": "Reference Id",
            "type": "string"
          },
          "type": {
            "const": "similarity",
            "default": "similarity",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "reference_id",
          "metric_id"
        ],
        "title": "SimilarityObjective",
        "type": "object"
      },
      "Structure": {
        "additionalProperties": false,
        "properties": {
          "format": {
            "$ref": "#/components/schemas/StructureFormat"
          },
          "value": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "format",
          "value"
        ],
        "title": "Structure",
        "type": "object"
      },
      "StructureCondition": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "$ref": "#/components/schemas/CountConstraint"
          },
          "id": {
            "anyOf": [
              {
                "pattern": "^[A-Za-z0-9._-]{1,128}$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "pattern_id": {
            "anyOf": [
              {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pattern Id"
          },
          "query": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Structure"
              },
              {
                "type": "null"
              }
            ]
          },
          "relation": {
            "const": "contains",
            "default": "contains",
            "title": "Relation",
            "type": "string"
          },
          "type": {
            "const": "structure",
            "default": "structure",
            "title": "Type",
            "type": "string"
          }
        },
        "title": "StructureCondition",
        "type": "object"
      },
      "StructureConstraints": {
        "additionalProperties": false,
        "properties": {
          "all": {
            "items": {
              "$ref": "#/components/schemas/StructureCondition"
            },
            "maxItems": 16,
            "title": "All",
            "type": "array"
          },
          "any": {
            "$ref": "#/components/schemas/AnyStructureGroup"
          },
          "none": {
            "items": {
              "$ref": "#/components/schemas/StructureCondition"
            },
            "maxItems": 16,
            "title": "None",
            "type": "array"
          }
        },
        "title": "StructureConstraints",
        "type": "object"
      },
      "StructureFormat": {
        "enum": [
          "smiles",
          "smarts"
        ],
        "title": "StructureFormat",
        "type": "string"
      },
      "SubstructureQuery": {
        "additionalProperties": false,
        "properties": {
          "format": {
            "pattern": "^(smiles|smarts)$",
            "title": "Format",
            "type": "string"
          },
          "value": {
            "maxLength": 2048,
            "minLength": 1,
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "format",
          "value"
        ],
        "title": "SubstructureQuery",
        "type": "object"
      },
      "SubstructureSearchCounts": {
        "properties": {
          "duplicate_products": {
            "default": 0,
            "title": "Duplicate Products",
            "type": "integer"
          },
          "exact_mismatches": {
            "default": 0,
            "title": "Exact Mismatches",
            "type": "integer"
          },
          "invalid": {
            "default": 0,
            "title": "Invalid",
            "type": "integer"
          },
          "native_candidates": {
            "default": 0,
            "title": "Native Candidates",
            "type": "integer"
          },
          "returned": {
            "default": 0,
            "title": "Returned",
            "type": "integer"
          }
        },
        "title": "SubstructureSearchCounts",
        "type": "object"
      },
      "SubstructureSearchHit": {
        "properties": {
          "matched_atom_indices": {
            "items": {
              "type": "integer"
            },
            "title": "Matched Atom Indices",
            "type": "array"
          },
          "matched_bond_indices": {
            "items": {
              "type": "integer"
            },
            "title": "Matched Bond Indices",
            "type": "array"
          },
          "price": {
            "anyOf": [
              {
                "exclusiveMinimum": 0.0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Price"
          },
          "product_id": {
            "title": "Product Id",
            "type": "string"
          },
          "rank": {
            "title": "Rank",
            "type": "integer"
          },
          "reaction_id": {
            "title": "Reaction Id",
            "type": "string"
          },
          "smiles": {
            "title": "Smiles",
            "type": "string"
          },
          "synthons": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SynthonProvenance"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Synthons"
          }
        },
        "required": [
          "rank",
          "smiles",
          "product_id",
          "reaction_id",
          "matched_atom_indices",
          "matched_bond_indices"
        ],
        "title": "SubstructureSearchHit",
        "type": "object"
      },
      "SubstructureSearchRequest": {
        "additionalProperties": false,
        "description": "Exact positive substructure search over assembled products.",
        "properties": {
          "database_id": {
            "maxLength": 128,
            "minLength": 1,
            "title": "Database Id",
            "type": "string"
          },
          "include_synthons": {
            "default": false,
            "title": "Include Synthons",
            "type": "boolean"
          },
          "limit": {
            "default": 100,
            "maximum": 200.0,
            "minimum": 1.0,
            "title": "Limit",
            "type": "integer"
          },
          "query": {
            "$ref": "#/components/schemas/SubstructureQuery"
          },
          "timeout_seconds": {
            "default": 50,
            "maximum": 120.0,
            "minimum": 1.0,
            "title": "Timeout Seconds",
            "type": "integer"
          }
        },
        "required": [
          "query",
          "database_id"
        ],
        "title": "SubstructureSearchRequest",
        "type": "object"
      },
      "SubstructureSearchResponse": {
        "properties": {
          "available_products": {
            "title": "Available Products",
            "type": "integer"
          },
          "available_reactions": {
            "title": "Available Reactions",
            "type": "integer"
          },
          "counts": {
            "$ref": "#/components/schemas/SubstructureSearchCounts"
          },
          "coverage_fraction": {
            "title": "Coverage Fraction",
            "type": "number"
          },
          "database_id": {
            "title": "Database Id",
            "type": "string"
          },
          "database_release": {
            "title": "Database Release",
            "type": "string"
          },
          "engine_version": {
            "title": "Engine Version",
            "type": "string"
          },
          "indexed_products": {
            "title": "Indexed Products",
            "type": "integer"
          },
          "indexed_reactions": {
            "title": "Indexed Reactions",
            "type": "integer"
          },
          "metric": {
            "default": "exact assembled-product substructure",
            "title": "Metric",
            "type": "string"
          },
          "query": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SubstructureQuery"
              },
              {
                "type": "null"
              }
            ]
          },
          "query_smiles": {
            "title": "Query Smiles",
            "type": "string"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/SubstructureSearchHit"
            },
            "title": "Results",
            "type": "array"
          },
          "timed_out": {
            "title": "Timed Out",
            "type": "boolean"
          },
          "timing_ms": {
            "$ref": "#/components/schemas/SearchTimings"
          },
          "warnings": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "title": "Warnings",
            "type": "array"
          }
        },
        "required": [
          "query_smiles",
          "database_id",
          "database_release",
          "engine_version",
          "results",
          "counts",
          "timing_ms",
          "indexed_reactions",
          "available_reactions",
          "indexed_products",
          "available_products",
          "coverage_fraction",
          "timed_out"
        ],
        "title": "SubstructureSearchResponse",
        "type": "object"
      },
      "SynthonProvenance": {
        "properties": {
          "slot": {
            "title": "Slot",
            "type": "integer"
          },
          "smiles": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Smiles"
          },
          "synthon_id": {
            "title": "Synthon Id",
            "type": "string"
          }
        },
        "required": [
          "slot",
          "synthon_id"
        ],
        "title": "SynthonProvenance",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "WarningMessage": {
        "properties": {
          "code": {
            "title": "Code",
            "type": "string"
          },
          "message": {
            "title": "Message",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "title": "WarningMessage",
        "type": "object"
      }
    },
    "securitySchemes": {
      "APIKeyHeader": {
        "in": "header",
        "name": "x-api-key",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "contact": {
      "name": "DeepMedChem",
      "url": "https://docs.deepmedchem.com/"
    },
    "description": "Use the default search for ECFP4/Tanimoto neighbors, CHEESE search for shape or electrostatic reranking, substructure search for exact matching, and selections for composable scientific intent.",
    "summary": "Versioned chemical-space search and molecule selection API.",
    "title": "DeepMedChem CHEESE API",
    "version": "0.2.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/api/v2/catalog": {
      "get": {
        "operationId": "listChemicalSpaces",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Listchemicalspaces",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Catalog",
        "tags": [
          "Catalog"
        ]
      }
    },
    "/api/v2/runs": {
      "get": {
        "operationId": "listRuns",
        "parameters": [
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "status_filter",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status Filter"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "List Runs",
        "tags": [
          "Runs"
        ]
      },
      "post": {
        "operationId": "createRun",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 256,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Idempotency-Key"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunSpecification"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunResource"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Create Run",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/runs/{run_id}": {
      "get": {
        "operationId": "retrieveRun",
        "parameters": [
          {
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "title": "Run Id",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "If-None-Match",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "If-None-Match"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunResource"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Retrieve Run",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/runs/{run_id}/events": {
      "get": {
        "operationId": "listRunEvents",
        "parameters": [
          {
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "title": "Run Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "after",
            "required": false,
            "schema": {
              "default": 0,
              "title": "After",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 200,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "List Run Events",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/runs/{run_id}/items": {
      "get": {
        "operationId": "listRunItems",
        "parameters": [
          {
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "title": "Run Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "status_filter",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status Filter"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "List Run Items",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/runs/{run_id}/items/{item_id}": {
      "get": {
        "operationId": "retrieveRunItem",
        "parameters": [
          {
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "title": "Run Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "title": "Item Id",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunItemResource"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Retrieve Run Item",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/runs/{run_id}/results": {
      "get": {
        "operationId": "listRunResults",
        "parameters": [
          {
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "title": "Run Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "default": "completion",
              "title": "Order",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "List Run Results",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/runs/{run_id}:cancel": {
      "post": {
        "operationId": "cancelRun",
        "parameters": [
          {
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "title": "Run Id",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunResource"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Cancel Run",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/runs:estimate": {
      "post": {
        "operationId": "estimateRun",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunSpecification"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Estimaterun",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Estimate Run",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/v2/sample": {
      "post": {
        "operationId": "sampleMolecules",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SampleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SampleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Sample molecules from one chemical space",
        "tags": [
          "Sampling"
        ]
      }
    },
    "/api/v2/search": {
      "post": {
        "operationId": "searchSynthonOR",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DefaultSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Find ECFP4/Tanimoto neighbors",
        "tags": [
          "Search"
        ]
      }
    },
    "/api/v2/search_cheese": {
      "post": {
        "operationId": "searchCheese",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheeseSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Rerank candidates by CHEESE shape or electrostatic similarity",
        "tags": [
          "Search"
        ]
      }
    },
    "/api/v2/search_substructure": {
      "post": {
        "operationId": "searchSubstructure",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubstructureSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubstructureSearchResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Find exact assembled-product substructure matches",
        "tags": [
          "Search"
        ]
      }
    },
    "/api/v2/selections": {
      "post": {
        "operationId": "createSelection",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectionDocument"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SelectionResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Create Selection",
        "tags": [
          "Selections"
        ]
      }
    },
    "/api/v2/selections:estimate": {
      "post": {
        "operationId": "estimateSelection",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectionDocument"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SelectionEstimate"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Estimate Selection",
        "tags": [
          "Selections"
        ]
      }
    },
    "/api/v2/selections:validate": {
      "post": {
        "operationId": "validateSelection",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelectionDocument"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SelectionValidation"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Validate Selection",
        "tags": [
          "Selections"
        ]
      }
    },
    "/api/v2/substructure": {
      "post": {
        "deprecated": true,
        "operationId": "searchSubstructureLegacy",
        "parameters": [
          {
            "in": "header",
            "name": "x-dmc-client",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Dmc-Client"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegacySubstructureRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubstructureSearchResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Legacy Substructure Search",
        "tags": [
          "Deprecated"
        ]
      }
    },
    "/health/live": {
      "get": {
        "operationId": "getLiveness",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Getliveness",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Live",
        "tags": [
          "Operations"
        ]
      }
    },
    "/health/ready": {
      "get": {
        "operationId": "getReadiness",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Getreadiness",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Ready",
        "tags": [
          "Operations"
        ]
      }
    }
  }
}
