{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-monomers-paginated-list-schema.json",
  "title": "MonomersPaginatedList",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/benchling-monomers-api-openapi.yml#/components/schemas/MonomersPaginatedList",
  "additionalProperties": false,
  "allOf": [
    {
      "$ref": "#/$defs/Pagination"
    },
    {
      "properties": {
        "monomers": {
          "items": {
            "$ref": "#/$defs/Monomer"
          },
          "type": "array"
        },
        "nextToken": {
          "type": "string"
        }
      }
    }
  ],
  "$defs": {
    "ArchiveRecord": {
      "properties": {
        "reason": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "Monomer": {
      "properties": {
        "archiveRecord": {
          "allOf": [
            {
              "$ref": "#/$defs/ArchiveRecord"
            }
          ]
        },
        "attachmentPoints": {
          "description": "A list of the capping group present at each location where the monomer can form a bond with other monomers",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "calculatedMolecularWeight": {
          "description": "The molecular weight of the monomer as calculated by RDKit based on the monomer chemical structure",
          "type": "number"
        },
        "canonicalSmiles": {
          "description": "The canonicalized chemical structure in SMILES format.",
          "type": "string"
        },
        "createdAt": {
          "description": "DateTime the monomer was created.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "customMolecularWeight": {
          "description": "Optional molecular weight value that the user can provide to override the calculated molecular weight",
          "type": [
            "number",
            "null"
          ]
        },
        "exactMolecularWeight": {
          "description": "The exact molecular weight of the monomer as calculated by RDKit based on the monomer chemical structure",
          "type": "number"
        },
        "id": {
          "description": "ID of the monomer",
          "type": "string"
        },
        "modifiedAt": {
          "description": "DateTime the monomer was last modified.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "monomerType": {
          "allOf": [
            {
              "$ref": "#/$defs/MonomerType"
            }
          ]
        },
        "name": {
          "description": "Name of the monomer",
          "type": "string"
        },
        "naturalAnalog": {
          "description": "Symbol for the natural equivalent of the monomer. Acceptable natural analog values include IUPAC bases, r, and p.",
          "type": "string"
        },
        "originalSmiles": {
          "description": "The original chemical structure supplied by the user in SMILES format. Null if the user did not originally supply SMILES.",
          "type": [
            "string",
            "null"
          ]
        },
        "polymerType": {
          "allOf": [
            {
              "$ref": "#/$defs/MonomerPolymerType"
            }
          ]
        },
        "symbol": {
          "description": "User-defined identifier of the monomer, unique on the monomer type.",
          "type": "string"
        },
        "visualColor": {
          "description": "The hex color code of the monomer visual symbol",
          "type": [
            "string",
            "null"
          ]
        },
        "visualSymbol": {
          "allOf": [
            {
              "$ref": "#/$defs/MonomerVisualSymbol"
            }
          ]
        }
      },
      "type": "object"
    },
    "MonomerPolymerType": {
      "description": "The polymer type of the monomer. Currently only RNA monomers are supported.",
      "enum": [
        "RNA"
      ],
      "type": "string"
    },
    "MonomerType": {
      "description": "The part of the nucleotide structure that the monomer fits into, i.e. backbone or branch",
      "enum": [
        "BACKBONE",
        "BRANCH"
      ],
      "type": "string"
    },
    "MonomerVisualSymbol": {
      "description": "The shape of the monomer visual symbol.",
      "enum": [
        "DIAMOND_FILLED",
        "DIAMOND_HOLLOW",
        "DIAMOND_DASHED",
        "STAR_FILLED",
        "STAR_HOLLOW",
        "TRIANGLE_FILLED",
        "TRIANGLE_HOLLOW",
        "DYAD_FILLED",
        "DYAD_HOLLOW",
        "CLOVER_FILLED",
        "CLOVER_HOLLOW",
        "TRIAD_FILLED",
        "TRIAD_HOLLOW",
        "RECTANGLE_FILLED",
        "RECTANGLE_HOLLOW",
        "LETTERS_P",
        "LETTERS_PS"
      ],
      "type": "string"
    },
    "Pagination": {
      "properties": {
        "nextToken": {
          "type": "string"
        }
      }
    }
  }
}