Labguru · Schema

Labguru API Schemas

JSON Schema definitions for the Labguru REST API

Electronic Lab NotebookELNLIMSLaboratory Information ManagementBiotechnologyLife SciencesResearch Data ManagementInventoryExperiment ManagementREST APIGraphQL
View JSON Schema on GitHub

JSON Schema

labguru-schemas.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/labguru-schemas.json",
  "title": "Labguru API Schemas",
  "description": "JSON Schema definitions for the Labguru REST API",
  "definitions": {
    "createSession": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createSession.json",
      "title": "createSession",
      "type": "object",
      "required": [
        "login",
        "password"
      ],
      "properties": {
        "login": {
          "type": "string",
          "description": "E-mail",
          "example": "labuser@email.com"
        },
        "password": {
          "type": "string",
          "description": "password"
        },
        "account_id": {
          "type": "integer",
          "description": "(optional) The account id to generate the token for"
        }
      }
    },
    "createAttachment": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createAttachment.json",
      "title": "createAttachment",
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        },
        "item[attachment]": {
          "type": "string",
          "format": "binary",
          "description": "The file that will be uploaded."
        },
        "item[title]": {
          "type": "string",
          "example": "Project_report.pdf",
          "description": "The title of the attachment. <b>This should match the file name exactly, including the file extension (.xlsx, .csv, etc.)</b>."
        },
        "item[attach_to_uuid]": {
          "type": "string",
          "description": "The UUID of the object to which the attachment will be linked.<br>\n                If this parameter is not provided, the uploaded file will be stored but not associated with any specific entity (unattached file)."
        },
        "item[description]": {
          "type": "string",
          "example": "Detailed project report",
          "description": "A brief description of the attachment content."
        }
      },
      "required": [
        "token",
        "item[attachment]",
        "item[title]"
      ]
    },
    "updateAttachment": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateAttachment.json",
      "title": "updateAttachment",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "required": [
            "element_id"
          ],
          "properties": {
            "element_id": {
              "type": "integer",
              "description": "The ID of the attachment element to which the attachment will be linked"
            }
          }
        }
      }
    },
    "WormBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/WormBaseRequest.json",
      "title": "WormBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the worm"
            },
            "alternative_name": {
              "type": "string",
              "description": "An alternative name for the worm"
            },
            "gene_id": {
              "type": "integer",
              "description": "An ID reference to a gene from your labguru genes collection"
            },
            "source": {
              "type": "string",
              "description": "Origin of the worm"
            },
            "genotype": {
              "type": "string",
              "description": "Genetic constitution of the worm"
            },
            "phenotype": {
              "type": "string",
              "description": "Observable physical or biochemical characteristics of the worm"
            },
            "mutagen": {
              "type": "string",
              "description": "The agent used to induce mutations in the worm"
            },
            "growth_conditions": {
              "type": "string",
              "description": "Specific conditions under which the worm is maintained"
            },
            "outcrossed": {
              "type": "integer",
              "description": "Number of times the worm strain has been outcrossed with another"
            },
            "made_by": {
              "type": "string",
              "description": "researcher name input"
            },
            "dauer_defective": {
              "type": "boolean",
              "description": "Indicates whether the worm is defective in entering or exiting the dauer stage,\n                    with '1' for yes and '0' for no.",
              "example": 0
            },
            "description": {
              "type": "string",
              "description": "Description of the worm"
            }
          }
        }
      }
    },
    "createWorm": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createWorm.json",
      "title": "createWorm",
      "allOf": [
        {
          "$ref": "#/components/schemas/WormBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "name"
              ]
            }
          }
        }
      ]
    },
    "updateWorm": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateWorm.json",
      "title": "updateWorm",
      "allOf": [
        {
          "$ref": "#/components/schemas/WormBaseRequest"
        }
      ]
    },
    "AntibodyBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/AntibodyBaseRequest.json",
      "title": "AntibodyBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The name of the antibody"
            },
            "owner_id": {
              "type": "integer",
              "description": "The ID of the owner - by default it's your member id"
            },
            "alternative_name": {
              "type": "string",
              "description": "An additional name for the antibody"
            },
            "antigene": {
              "type": "string",
              "description": "Antigen / immunogen"
            },
            "tags_fluorophores": {
              "type": "string",
              "description": "Tags / fluorophores"
            },
            "clone_field": {
              "type": "string",
              "description": "The clone from which the antibody was derived."
            },
            "isotype": {
              "type": "string",
              "description": "The class or type of the antibody (e.g., IgG, IgM)."
            },
            "preparation_date": {
              "type": "string",
              "format": "date",
              "description": "The date on which the antibody was prepared, formatted as YYYY-MM-DD.",
              "example": "yyyy-mm-dd"
            },
            "source": {
              "type": "string",
              "description": "The origin or source from which the antibody was obtained."
            },
            "immune": {
              "type": "integer",
              "description": "Indicates the antibody's clonality: \"Monoclonal\" (immune = 1), \"Polyclonal\" (immune = 0), or \"None\" (Empty value).",
              "example": 1
            },
            "organism_id": {
              "type": "integer",
              "description": "The ID for the organism in which the antibody was raised. This ID corresponds to specific organisms (e.g., 5 for Mouse, 6 for Chicken, etc.)."
            },
            "reacts_with": {
              "type": "string",
              "description": "Specifies the organism or group the antibody is reactive with, chosen from a predefined list of options such as \"Mouse\", \"Human\", \"Chicken\", and \"Zebrafish\", etc.",
              "example": "Mouse"
            },
            "description": {
              "type": "string",
              "description": "A detailed description of the antibody"
            }
          }
        }
      }
    },
    "createAntibody": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createAntibody.json",
      "title": "createAntibody",
      "allOf": [
        {
          "$ref": "#/components/schemas/AntibodyBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "title"
              ]
            }
          }
        }
      ]
    },
    "updateAntibody": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateAntibody.json",
      "title": "updateAntibody",
      "allOf": [
        {
          "$ref": "#/components/schemas/AntibodyBaseRequest"
        }
      ]
    },
    "ExperimentBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/ExperimentBaseRequest.json",
      "title": "ExperimentBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The experiment title"
            },
            "project_id": {
              "type": "integer",
              "description": "The project id"
            },
            "milestone_id": {
              "type": "integer",
              "description": "You can also provide a milestone_name(string) instead of milestone_id(integer)"
            },
            "protocol_id": {
              "type": "integer",
              "description": "Start experiment from protocol by providing the protocol id "
            }
          }
        }
      }
    },
    "addExperiment": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/addExperiment.json",
      "title": "addExperiment",
      "allOf": [
        {
          "$ref": "#/components/schemas/ExperimentBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "title",
                "project_id",
                "milestone_id"
              ]
            }
          }
        }
      ]
    },
    "updateExperiment": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateExperiment.json",
      "title": "updateExperiment",
      "allOf": [
        {
          "$ref": "#/components/schemas/ExperimentBaseRequest"
        }
      ]
    },
    "PlasmidBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/PlasmidBaseRequest.json",
      "title": "PlasmidBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The name of the plasmid"
            },
            "alternative_name": {
              "type": "string",
              "description": "Any alternative name by which the plasmid may be known"
            },
            "owner_id": {
              "type": "integer",
              "description": "id of the owner - by default it's your member id"
            },
            "length": {
              "type": "integer",
              "description": "The total number of base pairs (bp) in the plasmid\u2019s DNA sequence."
            },
            "usage": {
              "type": "string",
              "description": "Intended or common uses of the plasmid (cloning, gene expression, etc.)"
            },
            "host": {
              "type": "string",
              "description": "Typical host organism for the plasmid"
            },
            "resistance": {
              "type": "string",
              "description": "Antibiotic resistance markers present in the plasmid"
            },
            "clone_number": {
              "type": "string",
              "description": "Unique identifier or clone number associated with the plasmid"
            },
            "source": {
              "type": "string",
              "description": "Origin or provider of the plasmid"
            },
            "sequence": {
              "type": "string",
              "description": "The nucleotide sequence of the plasmid"
            },
            "description": {
              "type": "string",
              "description": "A detailed description of the plasmid"
            }
          }
        }
      }
    },
    "createPlasmid": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createPlasmid.json",
      "title": "createPlasmid",
      "allOf": [
        {
          "$ref": "#/components/schemas/PlasmidBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "title"
              ]
            }
          }
        }
      ]
    },
    "updatePlasmid": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updatePlasmid.json",
      "title": "updatePlasmid",
      "allOf": [
        {
          "$ref": "#/components/schemas/PlasmidBaseRequest"
        }
      ]
    },
    "SOPBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/SOPBaseRequest.json",
      "title": "SOPBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The name of the SOP"
            }
          }
        }
      }
    },
    "createSOP": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createSOP.json",
      "title": "createSOP",
      "allOf": [
        {
          "$ref": "#/components/schemas/SOPBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "title"
              ]
            }
          }
        }
      ]
    },
    "updateSOP": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateSOP.json",
      "title": "updateSOP",
      "allOf": [
        {
          "$ref": "#/components/schemas/SOPBaseRequest"
        }
      ]
    },
    "createComment": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createComment.json",
      "title": "createComment",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "required": [
            "comment",
            "commentable_id",
            "commentable_type"
          ],
          "properties": {
            "comment": {
              "type": "string",
              "description": "The text content of the comment"
            },
            "commentable_id": {
              "type": "integer",
              "description": "The id of the item to which the comment is being added"
            },
            "commentable_type": {
              "type": "string",
              "description": "Specifies the class name of the item to which the comment is attached, such as Biocollections::Plasmid"
            }
          }
        }
      }
    },
    "LinkBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/LinkBaseRequest.json",
      "title": "LinkBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "source_id": {
              "type": "integer",
              "description": "The ID of the source item"
            },
            "source_type": {
              "type": "string",
              "description": "Specifies the class name of the source item, such as Biocollections::Plasmid"
            },
            "target_id": {
              "type": "integer",
              "description": "The ID of the target item"
            },
            "target_type": {
              "type": "string",
              "description": "Specifies the class name of the target item, such as Biocollections::Antibody"
            },
            "source_uuid": {
              "type": "string",
              "description": "The UUID of the source item"
            },
            "target_uuid": {
              "type": "string",
              "description": "The UUID of the target item"
            }
          }
        }
      }
    },
    "createLink": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createLink.json",
      "title": "createLink",
      "allOf": [
        {
          "$ref": "#/components/schemas/LinkBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "source_id",
                "source_type",
                "target_id",
                "target_type",
                "source_uuid",
                "target_uuid"
              ]
            }
          }
        }
      ]
    },
    "updateLink": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateLink.json",
      "title": "updateLink",
      "allOf": [
        {
          "$ref": "#/components/schemas/LinkBaseRequest"
        }
      ]
    },
    "CompoundBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/CompoundBaseRequest.json",
      "title": "CompoundBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "smiles": {
          "type": "string",
          "example": "C(=O)N1CCC(CCCC(=O)c2ccc(Cl)n(Cc3ncc(o3)-c3ccc(Cl)cc3)c2=O)CC1"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the compound"
            },
            "description": {
              "type": "string",
              "description": "Updated description of the compound"
            },
            "structure": {
              "type": "string",
              "description": "Compound structure",
              "example": "C(=O)N1CCC(CCCC(=O)c2ccc(Cl)n(Cc3ncc(o3)-c3ccc(Cl)cc3)c2=O)CC1"
            },
            "cas": {
              "type": "string",
              "description": "Compound CAS"
            },
            "formula": {
              "type": "string",
              "description": "Compound formula"
            },
            "molar_mass": {
              "type": "string",
              "description": "Compound molar mass"
            },
            "density": {
              "type": "string",
              "description": "Compound density"
            },
            "boiling_point": {
              "type": "string",
              "description": "Compound boiling point"
            },
            "melting_point": {
              "type": "string",
              "description": "Compound melting point"
            },
            "hazards": {
              "type": "string",
              "description": "Compound hazards"
            }
          }
        }
      }
    },
    "createCompound": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createCompound.json",
      "title": "createCompound",
      "allOf": [
        {
          "$ref": "#/components/schemas/CompoundBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "name"
              ]
            }
          }
        }
      ]
    },
    "updateCompound": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateCompound.json",
      "title": "updateCompound",
      "allOf": [
        {
          "$ref": "#/components/schemas/CompoundBaseRequest"
        }
      ]
    },
    "TaskBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/TaskBaseRequest.json",
      "title": "TaskBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "required": [
            "name"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the Task"
            },
            "start_date": {
              "type": "string",
              "format": "date",
              "description": "Start Date (yyyy-mm-dd)"
            },
            "assigned_to": {
              "type": "integer",
              "description": "id of assigner"
            },
            "description": {
              "type": "string",
              "description": "Description of the task"
            },
            "owner_id": {
              "type": "integer",
              "description": "id of the owner - by default it's your member id"
            },
            "notify_at": {
              "type": "string",
              "format": "date",
              "description": "notification date & time (yyyy-mm-dd)"
            }
          }
        }
      }
    },
    "createTask": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createTask.json",
      "title": "createTask",
      "allOf": [
        {
          "$ref": "#/components/schemas/TaskBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "name"
              ]
            }
          }
        }
      ]
    },
    "updateTask": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateTask.json",
      "title": "updateTask",
      "allOf": [
        {
          "$ref": "#/components/schemas/TaskBaseRequest"
        }
      ]
    },
    "RodentCageBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/RodentCageBaseRequest.json",
      "title": "RodentCageBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the Rodent cage"
            },
            "breeding": {
              "type": "boolean",
              "description": "Breeding - by default it's true"
            },
            "parent_id": {
              "type": "integer",
              "description": "The ID of the storage location"
            },
            "description": {
              "type": "string",
              "description": "Detailed cage information"
            },
            "owner_id": {
              "type": "integer",
              "description": "id of the owner - by default it's your member id"
            }
          }
        }
      }
    },
    "createRodentCage": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createRodentCage.json",
      "title": "createRodentCage",
      "allOf": [
        {
          "$ref": "#/components/schemas/RodentCageBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "name"
              ]
            }
          }
        }
      ]
    },
    "updateRodentCage": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateRodentCage.json",
      "title": "updateRodentCage",
      "allOf": [
        {
          "$ref": "#/components/schemas/RodentCageBaseRequest"
        }
      ]
    },
    "GeneBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/GeneBaseRequest.json",
      "title": "GeneBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The name of the gene"
            },
            "alternative_name": {
              "type": "string",
              "description": "Alternative gene name."
            },
            "expression_location": {
              "type": "string",
              "description": "Location of gene expression."
            },
            "pathway": {
              "type": "string",
              "description": "Involved metabolic pathway."
            },
            "sequence": {
              "type": "string",
              "description": "Gene sequence.",
              "example": "ACTGACGACATGGTTCTGACCTGA"
            },
            "owner_id": {
              "type": "integer",
              "description": "id of the owner - by default it's your member id"
            },
            "source": {
              "type": "string",
              "description": "The origin or source from which the gene was obtained."
            },
            "description": {
              "type": "string",
              "description": "Detailed gene information."
            }
          }
        }
      }
    },
    "createGene": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/createGene.json",
      "title": "createGene",
      "allOf": [
        {
          "$ref": "#/components/schemas/GeneBaseRequest"
        },
        {
          "type": "object",
          "properties": {
            "item": {
              "type": "object",
              "required": [
                "title"
              ]
            }
          }
        }
      ]
    },
    "updateGene": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/updateGene.json",
      "title": "updateGene",
      "allOf": [
        {
          "$ref": "#/components/schemas/GeneBaseRequest"
        }
      ]
    },
    "VirusBaseRequest": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://raw.githubusercontent.com/api-evangelist/labguru/main/json-schema/VirusBaseRequest.json",
      "title": "VirusBaseRequest",
      "type": "object",
      "required": [
        "token"
      ],
      "properties": {
        "token": {
          "type": "string",
          "example": "YOUR TOKEN IS HERE"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the virus"
            },
            "alternative_name": {
              "type": "string",
              "description": "alternative name for the virus"
            },
            "gene_insert": {
              "type": "string",
              "description": "Specific gene or genetic insert present in the virus"
            },
            "virus_type": {
              "type": "string",
              "description": "The virus type"
            },
            "plasmid": {
              "type": "string",
              "description": "The plasmid that is used in the creation or manipulation of the virus"
            },
            "serotype_strain": {
              "type": "string",
              "description": "serotype or strain of the virus"
            },
            "mutations_deletions": {
              "type": "string",
              "description": "genetic mutations or deletions within the virus details"
            },
            "tag": {
              "type": "string",
              "description": "Tag"
            },
            "selectable_marker": {
              "type": "string",
              "description": "Selectable marker"
            },
            "producer_cell_type": {
              "type": "string",
              "description": "Producer cell type"
            },
            "viral_coat": {
              "type": "string",
              "description": "Viral coat"
            },
            "tropism": {
              "type": "string",
              "description": "Tropism"
            },
            "species": {
              "type": "string",
              "

# --- truncated at 32 KB (174 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/labguru/refs/heads/main/json-schema/labguru-schemas.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/labguru-schemas"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.