Labguru · Schema
Labguru API Schemas
JSON Schema definitions for the Labguru REST API
Electronic Lab NotebookELNLIMSLaboratory Information ManagementBiotechLife SciencesResearch Data ManagementInventory ManagementExperiment ManagementREST APIGraphQL
JSON Schema
{
"$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": "[email protected]"
},
"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