openapi: 3.0.0 paths: /api/v1/sessions: post: summary: Create a token tags: - Authentication parameters: [] responses: '200': description: token created requestBody: content: application/json: schema: $ref: '#/components/schemas/createSession' application/xml: schema: $ref: '#/components/schemas/createSession' required: true /api/v1/antibodies: post: summary: Create an antibody tags: - Antibodies description: 'Create an antibody. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' '500': description: 'Error: Internal Server Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/createAntibody' required: true get: summary: List all antibodies in your account tags: - Antibodies description: 'List all antibodies. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/antibodies/{id}: put: summary: Update an antibody tags: - Antibodies description: 'Update an antibody. ' parameters: - name: id in: path required: true description: The ID of the antibody schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateAntibody' required: true get: summary: Get an antibody by ID tags: - Antibodies description: 'Get an antibody by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the antibody schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/attachments: post: summary: Upload file attachment tags: - Attachments description: 'This endpoint is used for uploading file attachments to various entities. For a detailed guide on uploading files to sections within ELN & Knowledgebase entities, including a step-by-step process and practical examples in **Python**, refer to our article on: [Uploading Files to Experiments via API](https://help.labguru.com/en/articles/9636468-uploading-files-to-experiments-via-api) ' parameters: [] responses: '201': description: Created '500': description: Internal Server Error '401': description: Unauthorized requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/createAttachment' /api/v1/attachments/{id}: put: summary: Link an attachment to an attachment element tags: - Attachments description: 'This endpoint links an existing attachment with a specified attachment element by their IDs. **Important Note:** An attachment can only be linked with an attachment element on the same page (such as an experiment, protocol, report, or document) where it was initially uploaded. Before linking the attachment, ensure that the target section and attachment element are already in place; if not, create them beforehand. To do this, use the "Add a section" and "Add element" requests. For further instructions, refer to our article on [Uploading Files to Experiments via API](https://help.labguru.com/en/articles/9636468-uploading-files-to-experiments-via-api) . ' parameters: - name: id in: path required: true description: The ID of the attachment to be linked with the attachment element schema: type: integer responses: '200': description: OK '404': description: Not Found requestBody: content: application/json: schema: $ref: '#/components/schemas/updateAttachment' required: true get: summary: Get an attachment by id tags: - Attachments description: 'Get an attachment by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: 'The ID of the attachment ' schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/bacteria: post: summary: Create a bacterium tags: - Bacteria description: 'Create a bacterium. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createBacterium' required: true get: summary: List all bacteria in your account tags: - Bacteria description: 'List all bacteria. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not Found /api/v1/bacteria/{id}: put: summary: Update bacterium tags: - Bacteria description: 'Update bacterium. ' parameters: - name: id in: path required: true description: The ID of the bacterium schema: type: integer responses: '200': description: OK '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateBacterium' required: true get: summary: Get bacterium by id tags: - Bacteria description: 'Get a bacterium by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the bacterium schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/boxes: post: summary: Add a box tags: - Boxes parameters: [] responses: '201': description: box created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createBox' required: true get: summary: List all boxes in your account tags: - Boxes parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/boxes/{id}: put: summary: Update box attributes tags: - Boxes parameters: - name: id in: path required: true description: box id schema: type: integer responses: '200': description: box updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateBox' required: true get: summary: Get box by id tags: - Boxes parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: box id schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/cell_lines: post: summary: Create a cell line tags: - Cell lines description: 'Create a cell line. ' parameters: [] responses: '201': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createCellLine' required: true get: summary: List all cell lines in your account tags: - Cell lines description: 'List all cell lines. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not Found /api/v1/cell_lines/{id}: put: summary: 'Update a cell line ' tags: - Cell lines description: 'Update a cell line. ' parameters: - name: id in: path required: true description: The ID of the Cell line schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateCellLine' required: true get: summary: Get a cell line by id tags: - Cell lines description: 'Get a cell line by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the Cell line schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/comments: post: summary: Creates a comment tags: - Comments parameters: [] responses: '201': description: comment created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createComment' required: true get: summary: List all comments in your account tags: - Comments parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/comments/{id}: get: summary: Get comment by id tags: - Comments parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: comment id schema: type: integer responses: '200': description: success '404': description: comment not found /api/v1/companies: post: summary: Add a company tags: - Companies parameters: [] responses: '200': description: company created '422': description: Title cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createCompany' required: true get: summary: List all companies in your account tags: - Companies parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/companies/{id}: put: summary: Update company attributes tags: - Companies parameters: - name: id in: path required: true description: company id schema: type: integer responses: '200': description: company updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateCompany' required: true get: summary: Get company by id tags: - Companies parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: company id schema: type: integer responses: '200': description: success '404': description: company not found /api/v1/compounds: post: summary: Creates a compound tags: - Compounds parameters: [] responses: '201': description: compound created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createCompound' required: true get: summary: List all compounds in your account tags: - Compounds parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/compounds/{id}: put: summary: Update compound attributes tags: - Compounds parameters: - name: id in: path required: true description: compound id schema: type: integer responses: '200': description: compound updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateCompound' required: true get: summary: Get compound by id tags: - Compounds parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: compound id schema: type: integer responses: '200': description: success '404': description: compound not found /api/v1/datasets: post: summary: Creates a dataset tags: - Datasets parameters: [] responses: '201': description: dataset created '422': description: invalid request - data_attachment_id can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createDataset' required: true get: summary: List all datasets in your account tags: - Datasets parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/datasets/{id}: get: summary: Get dataset by id tags: - Datasets parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: dataset id schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/documents: post: summary: Creates a document tags: - Documents parameters: [] responses: '201': description: document created '422': description: invalid request - Title cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createDocument' required: true get: summary: List all documents in your account tags: - Documents parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/documents/{id}: put: summary: Update document attributes tags: - Documents parameters: - name: id in: path required: true description: document id schema: type: integer responses: '200': description: document updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateDocument' required: true get: summary: Get document by id tags: - Documents parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: document id schema: type: integer responses: '200': description: success '404': description: document not found /api/v1/elements: post: summary: Add element tags: - Elements description: 'This endpoint creates an element within a specific section of an ELN or knowledgebase item. To add an element, specify its type and the corresponding section ID, Once created, the element is automatically integrated and displayed in the designated section. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/addElement' - $ref: '#/components/schemas/addPlateElement' required: true /api/v1/elements/sort: post: summary: Rearrange elements tags: - Elements description: 'This endpoint enables you to change the order of elements within a chosen section. ' parameters: [] responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: type: object required: - token - container_id - container_type - list properties: token: type: string example: YOUR TOKEN IS HERE container_id: type: integer description: The ID of the section in which the element will be rearranged container_type: type: string default: Projects::Experiment description: The type of container in which the elements will be rearranged list: type: array items: type: integer description: An array of element IDs that determines the new order in which the elements will be rearranged example: - 112 - 110 - 111 required: true /api/v1/elements/{id}: put: summary: Update element tags: - Elements description: 'This endpoint updates the content of a specified element by its ID. Note: Updating the data/form_json field will replace any existing data. ' parameters: - name: id in: path required: true description: The ID of the element schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/updateFormElement' - $ref: '#/components/schemas/updateTextElement' required: true get: summary: Get element by id tags: - Elements parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the element schema: type: integer description: 'Get an element by ID. ' responses: '200': description: OK '404': description: Not Found /api/v1/instruments: post: summary: Add an equipment tags: - Equipment parameters: [] responses: '201': description: equipment created '422': description: invalid request - Title cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createEquipment' required: true get: summary: List all equipment in your account tags: - Equipment deprecated: true description: "List all equipment.\n\n**Note:** An improved version of this endpoint\ \ is available in API v2.\n Please visit [API v2 docs](/api-docs/index.html?urls.primaryName=API%20V2%20Docs#/Equipment/get_api_v2_instruments).\n" parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/instruments/{id}: put: summary: Update equipment attributes tags: - Equipment parameters: - name: id in: path required: true description: equipment id schema: type: integer responses: '200': description: equipment updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateEquipment' required: true get: summary: Get equipment by id tags: - Equipment parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: equipment id schema: type: integer responses: '200': description: success '404': description: equipment not found /api/v1/events: post: summary: Add an event tags: - Events parameters: [] responses: '201': description: event created '422': description: Repeats frame should be a number and greater than 0 '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createEvent' required: true get: summary: List all event in your account tags: - Events parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/events/{id}: put: summary: Update event attributes tags: - Events parameters: - name: id in: path required: true description: event id schema: type: integer responses: '200': description: event updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateEvent' required: true get: summary: Get event by id tags: - Events parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: event id schema: type: integer responses: '200': description: success '404': description: event not found delete: summary: Delete event tags: - Events parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: event id schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/experiments: post: summary: Add an experiment tags: - Experiments parameters: [] responses: '201': description: experiment created '400': description: Bad Request - Invalid input '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/addExperiment' required: true get: summary: List all experiments in your account tags: - Experiments deprecated: true description: 'List all experiments. **Note:** An improved version of this endpoint is available in API v2. Please visit [API v2 docs](/api-docs/index.html?urls.primaryName=API%20V2%20Docs#/Experiments/get_api_v2_experiments). ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: success '404': description: page not found /api/v1/experiments/{id}: put: summary: Update an experiment tags: - Experiments parameters: - name: id in: path required: true description: experiment id schema: type: integer responses: '200': description: experiment updated '400': description: Bad Request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateExperiment' required: true get: summary: Get experiment by id tags: - Experiments parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true schema: type: integer responses: '200': description: success '404': description: experiment not found /api/v1/experiments/{id}/elements: get: summary: 'List all elements of an experiment ' tags: - Experiments parameters: - name: token in: query required: true schema: type: string - name: id in: path description: the id of the experiment required: true schema: type: integer - name: element_type in: query description: 'The element type: - excel - text - form - attachments - samples - plate - steps - equipment - sketch - compound - reaction - pdf' schema: type: string - name: name in: query description: The element name - Table 1 / My Samples / Plate - MM D, YYYY HH:MM:SS schema: type: string responses: '200': description: success /api/v1/experiments/{id}/set_flag_as: post: summary: Add flag to an experiment tags: - Experiments parameters: - name: id in: path description: The ID of the experiment that will be flagged required: true schema: type: integer responses: '200': description: ok content: application/json: schema: type: object properties: id: type: integer description: The ID of the experiment flag: type: object properties: id: type: integer description: The ID of the flag title: type: string description: type: string color: type: string icon: type: string active: type: boolean default: type: boolean state: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: type: object required: - token - flag_id properties: token: type: string example: YOUR TOKEN IS HERE flag_id: type: integer description: The ID of the flag required: true /api/v1/{collection_name}: get: summary: Filter Biocollections items tags: - Filters parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer default: 1 - name: meta in: query description: show summarized data information - true/false schema: type: string default: 'true' - name: kendo in: query required: true schema: type: string default: 'true' - name: collection_name in: path description: 'the collection name to filter, example: antibodies' required: true schema: type: string - name: filter[logic] in: query required: true schema: type: string default: and - name: filter[filters][0][field] in: query required: true description: 'Valid fields are: - title - auto_name(SySID) - alternative_name - description - owner_id ' schema: type: string - name: filter[filters][0][operator] in: query required: true description: 'Valid operators are: - contains\doesnotcontain - eq\neq - startswith\endswith - isnullorempty\isnotnullorempty ' schema: type: string - name: filter[filters][0][value] in: query description: the filter term required: true schema: type: string responses: '200': description: filtered /api/v1/biocollections/{collection_name}: get: summary: Filter Custom collections items tags: - Filters parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer default: 1 - name: meta in: query description: show summarized data information - true/false schema: type: string default: 'true' - name: kendo in: query required: true schema: type: string default: 'true' - name: collection_name in: path description: 'the collection name to filter, example: myCollection' required: true schema: type: string - name: filter[logic] in: query required: true schema: type: string default: and - name: filter[filters][0][field] in: query required: true description: 'Valid fields are: - title - auto_name(SySID) - alternative_name - description - owner_id ' schema: type: string - name: filter[filters][0][operator] in: query required: true description: 'Valid operators are: - contains\doesnotcontain - eq\neq - startswith\endswith - isnullorempty\isnotnullorempty ' schema: type: string - name: filter[filters][0][value] in: query description: the filter term required: true schema: type: string responses: '200': description: success /api/v1/{knowledgbase_collection}: get: summary: Filter knowledgbase items tags: - Filters parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer default: 1 - name: meta in: query description: ' show summarized data information - true/false' schema: type: string default: 'true' - name: kendo in: query required: true schema: type: string default: 'true' - name: knowledgbase_collection in: path required: true description: 'The collection name to filter: - projects - experiments - protocols - documents - reports - datasets - recipes - papers - sops ' schema: type: string - name: filter[logic] in: query required: true schema: type: string default: and - name: filter[filters][0][field] in: query required: true description: 'Valid fields are: - title - id - flag (true for Succesful,false for Failed) - projects.title(relevant for experiments) - start_date\end_date ' schema: type: string - name: filter[filters][0][operator] in: query required: true description: 'Valid operators are: - contains\doesnotcontain - eq\neq - startswith\endswith - isnullorempty\isnotnullorempty ' schema: type: string - name: filter[filters][0][value] in: query description: the filter term required: true schema: type: string - name: tag_ids in: query description: tag id example: '[''3'']' schema: type: string responses: '200': description: success /api/v1/flags: post: summary: Create a Flag tags: - Flags description: 'Create a flag. ' parameters: [] responses: '200': description: ok content: application/json: schema: type: object properties: flag: type: object properties: id: type: integer description: The ID of the flag title: type: string description: type: string color: type: string icon: type: string active: type: boolean default: type: boolean state: type: string '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: '''icon2'' is not a valid icon / ''Greenn'' is not a valid color' '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/createFlag' required: true get: summary: List all flags in your account tags: - Flags parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string description: 'List all flags. ' responses: '200': description: ok '404': description: Not Found content: application/json: schema: type: object properties: error: type: string example: Resource not found /api/v1/flags/{id}: put: summary: Update a flag tags: - Flags description: 'Update a flag. ' parameters: - name: id in: path required: true description: The ID of the flag schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: 'Validation failed: Title has already been taken, Title Cannot be changed' '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/updateFlag' required: true get: summary: Get flag by id tags: - Flags parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the flag schema: type: integer description: 'Get a flag by ID. ' responses: '200': description: OK '404': description: Not Found content: application/json: schema: type: object properties: error: type: string example: Resource not found '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/flies: post: summary: Create a Fly tags: - Flies description: 'Create a fly. ' parameters: [] responses: '201': description: OK '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createFly' required: true get: summary: List all flies in your account tags: - Flies parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string description: 'List all flies. ' responses: '200': description: OK '404': description: Not Found /api/v1/flies/{id}: put: summary: Update a fly tags: - Flies description: 'Update a fly. ' parameters: - name: id in: path required: true description: The ID of the fly schema: type: integer responses: '200': description: OK '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateFly' required: true get: summary: Get fly by id tags: - Flies parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the fly schema: type: integer description: 'Get a fly by ID. ' responses: '200': description: OK '404': description: Not Found /api/v1/fungi: post: summary: Create a fungus tags: - Fungi description: 'Creates a fungus. ' parameters: [] responses: '201': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createFungus' required: true get: summary: List all fungi in your account tags: - Fungi parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string description: 'List all fungi. ' responses: '200': description: OK '404': description: Not Found /api/v1/fungi/{id}: put: summary: Update fungus tags: - Fungi description: 'Update a fungus. ' parameters: - name: id in: path required: true description: The ID of the fungus schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateFungus' required: true get: summary: Get fungus by id tags: - Fungi parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the fungus schema: type: integer description: 'Get fungus by id. ' responses: '200': description: OK '404': description: Not Found /api/v1/biocollections/{generic_collection_name}: post: summary: Add a generic item tags: - Generic Items parameters: - name: generic_collection_name in: path required: true description: generic collection name schema: type: string responses: '201': description: generic item created '422': description: invalid request - name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createGenericItem' required: true get: summary: List all generic items in your account tags: - Generic Items parameters: - name: token in: query required: true schema: type: string - name: generic_collection_name in: path required: true description: generic collection name schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/biocollections/{generic_collection_name}/{id}: put: summary: Update generic item attributes tags: - Generic Items parameters: - name: generic_collection_name in: path required: true description: generic collection name schema: type: string - name: id in: path required: true description: generic item id schema: type: integer responses: '200': description: vector updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateGenericItem' required: true get: summary: Get generic item by id tags: - Generic Items parameters: - name: token in: query required: true schema: type: string - name: generic_collection_name in: path required: true description: generic collection name schema: type: string - name: id in: path required: true description: generic item id schema: type: integer responses: '200': description: success '404': description: generic item not found /api/v1/genes: post: summary: Create a gene tags: - Genes description: 'Create a gene. ' parameters: [] responses: '201': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createGene' required: true get: summary: List all genes in your account tags: - Genes parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string description: 'List all genes. ' responses: '200': description: OK '404': description: Not found /api/v1/genes/{id}: put: summary: Update gene tags: - Genes description: 'Update a gene. ' parameters: - name: id in: path required: true description: The ID of the gene schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateGene' required: true get: summary: Get gene by id tags: - Genes parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the gene schema: type: integer description: 'Get a gene by ID. ' responses: '200': description: OK '404': description: Not found /api/v1/links: post: summary: Creates a link tags: - Links parameters: [] responses: '201': description: Created '500': description: Internal Server Error '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createLink' required: true get: summary: Get link by uuid tags: - Links parameters: - name: token in: query required: true schema: type: string - name: item_uuid in: query required: true description: A unique identifier of the link, Provide a UUID value. schema: type: string responses: '200': description: OK '404': description: Not found content: application/json: schema: type: object properties: error: type: string example: Couldn't find LgUuid '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' /api/v1/links/{id}: put: summary: Update a link tags: - Links parameters: - name: id in: path required: true description: link id schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Source can't be blank '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateLink' required: true get: summary: Get link by id tags: - Links parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: link id schema: type: integer responses: '200': description: OK '404': description: Not found '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' /api/v1/lipids: post: summary: Create a lipid tags: - Lipids description: 'Create a lipid. ' parameters: [] responses: '201': description: Created '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createLipid' required: true get: summary: List all lipids in your account tags: - Lipids description: 'List all lipids. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/lipids/{id}: put: summary: Update lipid tags: - Lipids description: 'Update lipid. ' parameters: - name: id in: path required: true description: The ID of the lipid schema: type: integer responses: '200': description: OK '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateLipid' required: true get: summary: Get lipid by ID tags: - Lipids description: 'Get lipid by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the lipid schema: type: integer responses: '200': description: OK '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/maintenance_events: post: summary: Creates a Maintenance event tags: - Maintenance event parameters: [] responses: '201': description: maintenance event created '422': description: maintenance id cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createMaintenanceEvent' required: true get: summary: List all maintenance events in your account tags: - Maintenance event parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/maintenance_events/{id}: put: summary: Update maintenance event tags: - Maintenance event parameters: - name: id in: path required: true description: maintenance event id schema: type: integer responses: '200': description: maintenance event updated '422': description: item type cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateMaintenanceEvent' required: true get: summary: Get maintenance event by id tags: - Maintenance event parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: maintenance event id schema: type: integer responses: '200': description: success '404': description: maintenance tempalte not found /api/v1/maintenance_templates: post: summary: Creates a Maintenance template tags: - Maintenance template parameters: [] responses: '201': description: maintenance template created '422': description: '"maintenance type id cannot be blank"' '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createMaintenanceTemplate' required: true get: summary: List all maintenance templates in your account tags: - Maintenance template parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/maintenance_templates/{id}: put: summary: Update maintenance template tags: - Maintenance template parameters: - name: id in: path required: true description: maintenance template id schema: type: integer responses: '200': description: maintenance template updated '422': description: maintenance type cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateMaintenanceTemplate' required: true get: summary: Get maintenance template by id tags: - Maintenance template parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: maintenance template id schema: type: integer responses: '200': description: success '404': description: maintenance tempalte not found /api/v1/maintenance_types: post: summary: Creates a Maintenance type tags: - Maintenance types parameters: [] responses: '201': description: maintenance type created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createMaintenanceType' required: true get: summary: List all maintenance types in your account tags: - Maintenance types parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/maintenance_types/{id}: put: summary: Update maintenance type tags: - Maintenance types parameters: - name: id in: path required: true description: maintenance type id schema: type: integer responses: '200': description: maintenance type updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateMaintenanceType' required: true get: summary: Get maintenance type by id tags: - Maintenance types parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: maintenance type id schema: type: integer responses: '200': description: success '404': description: maintenance type not found /api/v1/maintenances: post: summary: Add maintenance to equipment tags: - Maintenances parameters: [] responses: '201': description: maintenance created '401': description: invalid request requestBody: content: application/json: schema: $ref: '#/components/schemas/createMaintenance' required: true get: summary: List all maintenances in your account tags: - Maintenances parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/maintenances/{id}: put: summary: Update maintenance of equipment tags: - Maintenances parameters: - name: id in: path required: true description: maintenance id schema: type: integer responses: '200': description: maintenance updated '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateMaintenance' required: true get: summary: Get maintenances by id tags: - Maintenances parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: maintenance id schema: type: integer responses: '200': description: success '404': description: maintenance not found /api/v1/manifests: get: summary: List the objects that have changed today tags: - Manifest parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/materials: post: summary: Add consumable tags: - Consumables parameters: [] responses: '201': description: consumable created '422': description: name cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createMaterial' required: true get: summary: List all consumables in your account tags: - Consumables parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/materials/{id}: put: summary: Update material attributes tags: - Consumables parameters: - name: id in: path required: true description: consumable id schema: type: integer responses: '201': description: consumable updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateMaterial' required: true get: summary: Get consumable by id tags: - Consumables parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: consumable id schema: type: integer responses: '200': description: success '404': description: note not found /api/v1/measurements: post: summary: Add measurements tags: - Measurements description: 'This endpoint allows the submission of measurement data from connected equipment to a specific experiment, It accepts a measurement value and populates it into a designated form input field. For more information and a detailed example of how to use the ‘Measurement’ endpoint, refer to our article on [How to capture data from instruments using the ''measurement'' API endpoint](https://help.labguru.com/en/articles/10300263-how-to-capture-data-from-instruments-using-the-measurement-api-endpoint) ' parameters: [] responses: '201': description: OK '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFound' requestBody: content: application/json: schema: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE input_name: type: string description: The name of the form input field where the value should be positioned experiment_id: type: integer description: The ID of the experiment item: type: object required: - measurement - input_name - experiment_id properties: measurement: type: string description: The measurement value received from the connected equipment required: true /api/v1/admin/members: get: summary: List all members in the account tags: - Members parameters: - name: token in: query required: true schema: type: string - name: filter in: query description: The name/id of the user in the following format - {"name":"Labuser Biodata"} / {"id":11} schema: type: string responses: '200': description: success '404': description: page not found /api/v1/milestones: post: summary: Add a folder tags: - Folders parameters: [] responses: '201': description: folder created '422': description: project_id cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createFolder' required: true get: summary: List all folders in your account tags: - Folders parameters: - name: token in: query required: true schema: type: string - name: period in: query example: current_milestones description: 'Filters milestones based on their status: - `last_milestones`: Retrieves completed milestones. - `current_milestones`: Retrieves milestones currently in progress. - `future_milestones`: Retrieves planned milestones.' schema: type: string - name: project_id in: query description: The ID of the project for which milestones are being requested. schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/milestones/{id}: put: summary: Update folder attributes tags: - Folders parameters: - name: id in: path required: true description: The ID of the folder schema: type: integer responses: '200': description: folder updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateFolder' required: true get: summary: Get folder by id tags: - Folders parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the folder schema: type: integer responses: '200': description: success '404': description: folder not found /api/v1/notes: post: summary: Add a note tags: - Notes parameters: [] responses: '201': description: note created '422': description: Title cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createNote' required: true get: summary: List all notes in your account tags: - Notes parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/notes/{id}: put: summary: Update notes attributes tags: - Notes parameters: - name: id in: path required: true description: note id schema: type: integer responses: '201': description: note updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateNote' required: true get: summary: Get note by id tags: - Notes parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: note id schema: type: integer responses: '200': description: success '404': description: note not found /api/v1/papers: post: summary: Add a paper tags: - Papers parameters: [] responses: '201': description: paper created '422': description: Name can't be blank requestBody: content: application/json: schema: $ref: '#/components/schemas/createPaper' required: true get: summary: List all papers in your account tags: - Papers parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/papers/{id}: put: summary: Update paper attributes tags: - Papers parameters: - name: id in: path required: true description: paper id schema: type: integer responses: '200': description: paper updated '422': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePaper' required: true get: summary: Get paper by id tags: - Papers parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: paper id schema: type: integer responses: '200': description: success '404': description: paper not found /api/v1/plants: post: summary: Create a plant tags: - Plants description: 'Create a plant. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createPlant' required: true get: summary: List all plants in your account tags: - Plants description: 'List all plants. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/plants/{id}: put: summary: Update plant tags: - Plants description: 'Update plant. ' parameters: - name: id in: path required: true description: The ID of the plant schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePlant' required: true get: summary: Get a plant by ID tags: - Plants description: 'Get plant by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the plant schema: type: integer responses: '200': description: OK '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/plasmids: post: summary: Create a plasmid tags: - Plasmids description: 'Create a plasmid. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createPlasmid' required: true get: summary: List all plasmids in your account tags: - Plasmids description: 'List all plasmids. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/plasmids/{id}: put: summary: Update a plasmid tags: - Plasmids description: 'Update plasmid. ' parameters: - name: id in: path required: true description: The ID of the plasmid schema: type: integer responses: '200': description: plasmid updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePlasmid' required: true get: summary: Get plasmid by ID tags: - Plasmids description: 'Get plasmid by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the plasmid schema: type: integer responses: '200': description: success '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/plates/{id}/duplicate: post: summary: Duplicate a master plate tags: - Plates parameters: - name: id in: path required: true description: plate id schema: type: integer responses: '200': description: plate duplicated '500': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: type: object required: - token properties: names: type: array items: type: string example: Plate A required: true /api/v1/plates/find_by_name: get: summary: Find a plate by name tags: - Plates parameters: - name: token in: query required: true schema: type: string - name: name in: query required: true description: plate name example: Plate A schema: type: string responses: '200': description: plate found '422': description: invalid request '401': description: 'Error: Unauthorized' /api/v1/plates/{id}: get: summary: Get plate by id tags: - Plates parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: plate id schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/plates: get: summary: List all plates in your account tags: - Plates parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/primers: post: summary: Creates a primer tags: - Primers description: 'Create a primer. ' parameters: [] responses: '201': description: Created '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createPrimer' required: true get: summary: List all primers in your account tags: - Primers description: 'List all primers. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: The default call is with page = 1 schema: type: integer - name: meta in: query description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/primers/{id}: put: summary: Update primer tags: - Primers description: 'Update a primer. ' parameters: - name: id in: path required: true description: The ID of the primer schema: type: integer responses: '200': description: OK '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePrimer' required: true get: summary: Get primer by ID tags: - Primers description: 'Get primer by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the primer schema: type: integer responses: '200': description: OK '404': description: Not found '401': description: 'Error: Unauthorized' /api/v1/projects: post: summary: Create a project tags: - Projects parameters: [] responses: '201': description: project created '422': description: invalid request - Title can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createProject' required: true get: summary: List all projects in your account tags: - Projects parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: success '404': description: page not found /api/v1/projects/{id}: put: summary: Update a project tags: - Projects parameters: - name: id in: path required: true description: project id schema: type: integer responses: '200': description: project updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateProject' required: true get: summary: Get project by id tags: - Projects parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: project id schema: type: integer responses: '200': description: success '404': description: project not found /api/v1/proteins: post: summary: Create a protein tags: - Proteins description: 'Create a protein. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createProtein' required: true get: summary: List all proteins in your account tags: - Proteins description: 'List all proteins. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/proteins/{id}: put: summary: Update protein attributes tags: - Proteins description: 'Update a protein. ' parameters: - name: id in: path required: true description: The ID of the protein schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateProtein' required: true get: summary: Get a protein by id tags: - Proteins description: 'Get a protein by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the protein schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/protocols: post: summary: Creates a protocol tags: - Protocols parameters: [] responses: '201': description: protocol created '422': description: unprocessable Entity - name cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createProtocol' required: true get: summary: List all protocols in your account tags: - Protocols parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: success '404': description: page not found /api/v1/protocols/{id}: put: summary: Update protocol tags: - Protocols parameters: - name: id in: path required: true description: protocol id schema: type: integer responses: '200': description: protocol updated '422': description: unprocessable Entity - name cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateProtocol' required: true get: summary: Get protocol by id tags: - Protocols parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: protocol id schema: type: integer responses: '200': description: success '404': description: protocol not found /api/v1/reports: post: summary: Add a report tags: - Reports parameters: [] responses: '201': description: report created '422': description: invalid request - Title cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createReport' required: true get: summary: List all reports in your account tags: - Reports parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/reports/add_section_to_report: post: summary: Add section to report tags: - Reports parameters: [] responses: '201': description: Success! Sections copied to report. '500': description: Internal server error '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/addAnExperimentSectionToReport' required: true /api/v1/reports/add_cover_to_report: post: summary: Add cover to report tags: - Reports parameters: [] responses: '200': description: cover page created '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/addCoverToReport' required: true /api/v1/reports/{id}: put: summary: Update reports attributes tags: - Reports parameters: - name: id in: path required: true description: report id schema: type: integer responses: '200': description: report updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateReport' required: true get: summary: Get report by id tags: - Reports parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: report id schema: type: integer responses: '200': description: success '404': description: report not found /api/v1/requests: post: summary: Create a request tags: - Requests description: 'Create a new request based on a specific request template. The request will be opened in ''Draft'' status. ' parameters: [] responses: '201': description: Created '404': description: Not Found content: application/json: schema: type: object properties: error: type: string example: Resource not found '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/createRequest' required: true get: summary: List all requests in your account tags: - Requests description: 'List all requests in your account. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query default: 1 description: The default call is with page = 1 schema: type: integer - name: meta in: query default: true description: Show summarized data information - true/false schema: type: string responses: '200': description: OK '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/requests/{id}: put: summary: Update a request  tags: - Requests description: 'Update a request by its ID. ' parameters: - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: ok '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Team not found '400': description: Bad Request content: application/json: schema: type: array items: type: string example: - Owner id does not exist '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/updateRequest' required: true get: summary: Get request by id tags: - Requests description: 'Get a request by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '404': description: Not Found content: application/json: schema: type: object properties: error: type: string example: Resource not found '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/requests/{id}/submit: patch: summary: Submit a request  tags: - Requests description: 'This end point allows authorized users to submit a request for approval from the requester’s team leader. Draft >> Pending - Authorized users: admins and request owner. ' parameters: - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '400': description: Bad Request content: application/json: schema: type: array items: type: string example: - Owner id does not exist '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Team not found / Name can't be blank '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/submitRequest' required: true /api/v1/requests/{id}/approve: patch: summary: Approve a request  tags: - Requests description: 'This end point allows authorized users to approve a request which was assigned to them, this will automatically move request to be reviewed by the performing team leader. Pending >> Approved - Authorized users: admins and assignee at the time. ' parameters: - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Team not found / Invalid action for request status '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/approvedRequest' required: true /api/v1/requests/{id}/accept: patch: summary: Accept a request  tags: - Requests description: 'This end point allows authorized users to accept a request which was assigned to them, and will enable the assignment of a performer from the performing team. Approved >> Awaiting Assignment - Authorized users: admins and assignee at the time. ' parameters: - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Invalid action for request status '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/acceptRequest' required: true /api/v1/requests/{id}/select_performer: patch: summary: Select performer tags: - Requests description: 'This end point allows authorized users to assign a performer from the performing team. Awaiting Assignment >> Assigned - Authorized users: admins and team leader of the performing team. ' parameters: - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Invalid action for request status '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/selectPerformer' required: true /api/v1/requests/{id}/start: patch: summary: Start a request  tags: - Requests description: " This end point allows authorized users to update request status\ \ to 'In Progress'.\n\n Assigned >> In Progress\n\n- Authorized users: admins\ \ and the performer.\n" parameters: - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Invalid action for request status '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/startRequest' required: true /api/v1/requests/{id}/done: patch: summary: Complete a request  tags: - Requests description: " This end point allows authorized users to update request status\ \ to 'Completed'\n\n In Progress >> Completed\n\n- Authorized users: admins\ \ and the performer.\n" parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Invalid action for request status '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/requests/{id}/reject: patch: summary: Reject a request  tags: - Requests description: "This end point allows authorized users to reject a request\n\n\ Request can be rejected from the following statuses:\n - Pending\n - Approved\n\ \ - Assigned\n\n\nAuthorized users: admins and assignee at the time.\n" parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The request ID schema: type: integer responses: '200': description: OK '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/request_templates: post: summary: Create a request template tags: - Request templates description: Create a request template. parameters: [] responses: '201': description: Created '422': description: Unprocessable entity content: application/json: schema: type: object properties: error_message: type: string example: Cannot create item '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/createRequestTemplate' required: true get: summary: List all request templates in your account tags: - Request templates description: List all request templates in your account you have visibility permissions to. parameters: - name: token in: query required: true schema: type: string - name: page in: query default: 1 description: The default call is with page = 1 schema: type: integer - name: meta in: query default: true description: Show summarized data information schema: type: string responses: '200': description: OK '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/request_templates/{id}: put: summary: Update request template tags: - Request templates description: Update a request template you have editing permissions to. parameters: - name: id in: path required: true description: The request template ID schema: type: integer responses: '200': description: OK '422': description: Unprocessable entity content: application/json: schema: type: object properties: error_message: type: string example: Name can't be blank '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. requestBody: content: application/json: schema: $ref: '#/components/schemas/updateRequestTemplate' required: true get: summary: Get request by id tags: - Request templates description: Get request template by ID that you have access to. parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The request template ID schema: type: integer responses: '200': description: OK '404': description: Not Found content: application/json: schema: type: object properties: error_message: type: string example: Cannot find request template '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/rodent_cages: post: summary: Creates a rodent cage tags: - Rodent cages description: 'Create a rodent cage. ' parameters: [] responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Name can't be blank '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createRodentCage' required: true get: summary: List all rodent cages in your account tags: - Rodent cages deprecated: true description: 'List all rodent cages. **Note:** An improved version of this endpoint is available in API v2. Please visit [API v2 docs](/api-docs/index.html?urls.primaryName=API%20V2%20Docs#/Rodent%20cages/get_api_v2_rodent_cages). ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not Found /api/v1/rodent_cages/{id}: put: summary: Update rodent cage attributes tags: - Rodent cages description: 'Update a rodent cage. ' parameters: - name: id in: path required: true description: The ID of the rodent cage schema: type: integer responses: '200': description: OK '422': description: Unprocessable Entity content: application/json: schema: type: object properties: error_message: type: string example: Name can't be blank '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateRodentCage' required: true get: summary: Get rodent cage by id tags: - Rodent cages parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the rodent cage schema: type: integer description: 'Get a rodent cage by ID. ' responses: '200': description: OK '404': description: Not Found /api/v1/rodent_specimens: post: summary: Creates a rodent specimen tags: - Rodent Specimens parameters: [] responses: '201': description: rodent specimen created '422': description: invalid request - Status can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createRodentSpecimen' required: true get: summary: List all Rodent Specimens in your account tags: - Rodent Specimens parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/rodent_specimens/{id}: put: summary: Update rodent specimen attributes tags: - Rodent Specimens parameters: - name: id in: path required: true description: rodent specimen id schema: type: integer responses: '200': description: rodent specimen updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateRodentSpecimen' required: true get: summary: Get rodent specimen by id tags: - Rodent Specimens parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: rodent specimen id schema: type: integer responses: '200': description: success '404': description: rodent specimen not found /api/v1/rodent_strains: post: summary: Creates a rodent strain tags: - Rodent Strains parameters: [] responses: '201': description: rodent strain created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createRodentStrain' required: true get: summary: List all rodent strains in your account tags: - Rodent Strains parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/rodent_strains/{id}: put: summary: Update rodent strain attributes tags: - Rodent Strains parameters: - name: id in: path required: true description: rodent strain id schema: type: integer responses: '200': description: rodent strain updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateRodentStrain' required: true get: summary: Get rodent strain by id tags: - Rodent Strains parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: rodent strain id schema: type: integer responses: '200': description: success '404': description: rodent strain not found /api/v1/pool_events: post: summary: Creates a pool event tags: - Sample Pooling description: 'This endpoint facilitates the creation of pool events and allows for the aggregation of stocks based on selected logic. It supports three methods for pooling: 1. **Fixed Amount Pooling**: Using the `createFixedSamplePoolingEvent` schema, which draws a fixed amount from all listed stocks. 2. **Custom Amount Pooling**: Using the `createCustomSamplePoolingEvent` schema, which allows for drawing custom amounts from each stock. 3. **Total Consumption Pooling**: Using the `createCustomSamplePoolingEvent` schema, which draws and consumes the entire amount from each stock. Ensure the request body matches the structure defined in the referenced schemas for successful operation. ' parameters: [] responses: '200': description: OK content: application/json: schema: type: object description: Returns detailed information about the updated pool event. properties: id: type: integer example: 7 description: The ID of the pool event name: type: string description: The description of pool purpose unit_type: type: string example: volume pool_type: type: string example: fixed unit: type: string initial_amount: type: string example: '2.0' member_id: type: integer description: The initiator of the pool action stock_id: type: integer description: The pooled stock ID stock_name: type: string description: The pooled stock name stock_url: type: string example: /storage/stocks/620 '422': description: Unprocessable entity content: application/json: schema: type: object description: "Returns when there are validation errors with the input\ \ data.\n Errors include missing stock IDs or duplicate names." properties: error: type: string example: 'The following stocks weren''t found: [1291, 1293]]' '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. '404': description: Not Found content: application/json: schema: type: object properties: error: type: string example: Resource not found requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/createFixedSamplePoolingEvent' - $ref: '#/components/schemas/createCustomSamplePoolingEvent' - $ref: '#/components/schemas/createConsumeSamplePoolingEvent' /api/v1/searches/global_search: get: summary: Get search results tags: - Search parameters: - name: token in: query required: true schema: type: string - name: size in: query description: 'number of results per page example: 20' required: true schema: type: integer - name: term in: query description: 'search term, example: ant' required: true schema: type: string - name: model in: query description: 'filter by model name, example: Antibody' schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: success '404': description: page not found /api/v1/sections: post: summary: Add a section tags: - Sections parameters: [] responses: '201': description: section created '422': description: container_type cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createSection' required: true /api/v1/sections/sort: post: summary: Sort sections tags: - Sections description: Change the arrangement of sections on a Labguru page parameters: [] responses: '201': description: section moved '422': description: container_type cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/moveSection' required: true /api/v1/sections/{id}: put: summary: Update section tags: - Sections parameters: - name: id in: path required: true description: the id of the section schema: type: integer responses: '200': description: section updated '422': description: container_id cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateSection' required: true get: summary: Get section by id tags: - Sections parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: the id of the section schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/seeds: post: summary: Creates a seed tags: - Seeds description: 'Create a seed. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createSeed' required: true get: summary: List all seeds in your account tags: - Seeds description: 'List all seeds. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/seeds/{id}: put: summary: Update a seed tags: - Seeds description: 'Update a seed. ' parameters: - name: id in: path required: true description: The ID of the seed schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateSeed' required: true get: summary: Get seed by id tags: - Seeds description: 'Get a seed by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the seed schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/sequences: post: summary: Creates a sequence tags: - Sequences description: 'Create a sequence. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createSequence' required: true get: summary: List all sequences in your account tags: - Sequences description: 'List all sequences. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/sequences/{id}: put: summary: 'Update a sequence ' tags: - Sequences description: 'Update a sequence. ' parameters: - name: id in: path required: true description: The ID of the sequence schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateSequence' required: true get: summary: Get sequence by id tags: - Sequences description: 'Get sequence by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the sequence schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/shopping_list/add_item: post: summary: Add item tags: - Shopping list description: 'This endpoint allows for adding standard or custom commercial items to the shopping list. It supports two types of item additions: 1. **Standard Item Addition**: Using the `addItem` schema for predefined commercial item types. 2. **Custom Item Addition**: Using the `addCustomItem` schema for user-defined commercial items and collections. Ensure the request body matches the structure defined in the referenced schemas for successful operation. ' parameters: [] responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Indicates whether the operation was successful. example: true payload: type: string description: A message detailing the outcome of the operation. example: Your order was successfully submitted. lineitem_id: type: integer description: The ID of the order. example: 76 item: type: object description: Detailed information about the item, returned as a JSON object. '422': description: invalid request content: application/json: schema: type: object properties: errors: type: string example: Collection Item can not be found '401': description: 'Error: Unauthorized' content: application/json: schema: $ref: '#/components/schemas/Unauthorized' requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/addItem' - $ref: '#/components/schemas/addCustomItem' required: true /api/v1/shopping_list/{id}/approve: put: summary: Approve order tags: - Shopping list parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: the id of the shopping list item to approve schema: type: integer responses: '201': description: order approved '401': description: 'Error: Unauthorized' /api/v1/shopping_list/{id}/cancel: put: summary: Cancel order tags: - Shopping list parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: the id of the shopping list item to cancel schema: type: integer responses: '200': description: order canceled '401': description: 'Error: Unauthorized' /api/v1/shopping_list/{id}/submit: put: summary: Submit order tags: - Shopping list parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: the id of the shopping list item to submit schema: type: integer responses: '200': description: order submited '401': description: 'Error: Unauthorized' /api/v1/shopping_list/{id}: put: summary: Update order tags: - Shopping list parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: the id of the shopping list item to submit schema: type: integer responses: '200': description: order updated '422': description: invalid request - quantity cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateOrder' required: true get: summary: Get order by id tags: - Shopping list parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: order id schema: type: integer responses: '200': description: success '404': description: order not found /api/v1/shopping_list: get: summary: List all orders in your account tags: - Shopping list parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/sops: post: summary: Creates a SOP tags: - SOPs parameters: [] responses: '201': description: SOP created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createSOP' required: true get: summary: List all SOPs in your account tags: - SOPs parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/sops/{id}: put: summary: Update SOP tags: - SOPs parameters: - name: id in: path required: true description: SOPs id schema: type: integer responses: '200': description: SOP updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateSOP' required: true get: summary: Get SOP by id tags: - SOPs parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: SOP id schema: type: integer responses: '200': description: success '404': description: SOP not found /api/v1/stocks: post: summary: Add stock tags: - Stocks parameters: [] responses: '201': description: stock created '422': description: invalid request - Name cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createStock' required: true get: summary: List all stocks in your account tags: - Stocks parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string default: 'true' - name: stockable_type in: query description: inventory item type(In order to list all stocks of a stockable item) example: Biocollections::Tissue schema: type: string - name: stockable_id in: query description: inventory item id (In order to list all stocks of a stockable item) example: 105 schema: type: integer - name: filter in: query description: "**Implementation of the filter necessitates the utilization\ \ of all three components: field name, operator, and value**\n\n**Valid\ \ field names are:**\n\n\n \n \n \n \n\
\n
    \n
  • name
  • \n
  • id
  • \n
  • volume_to_display
  • \n\ \
  • weight_to_display
  • \n
  • storage_location
  • \n\ \
  • created_at
  • \n
  • owner_id
  • \n
  • description
  • \n\ \
  • stored_on
  • \n
  • stored_by
  • \n
\n \ \
\n
    \n
  • privacy
  • \n\ \
  • container_type
  • \n
  • units
  • \n
  • lot
  • \n\ \
  • expiration_date
  • \n
  • aliquoted_by
  • \n \ \
  • aliquoted_on
  • \n
  • content
  • \n
  • barcode
  • \n\ \
  • concentration_to_display
  • \n
\n
\n\n**Valid operators are:**\n\n \n \n \n \n
\n String operators\n\ \
    \n
  • contains: contains
  • \n
  • eq: is equal\ \ to
  • \n
  • neq: is not equal to
  • \n
  • doesnotcontain:\ \ not contains
  • \n
  • startswith: starts with
  • \n
  • endswith:\ \ ends with
  • \n
  • isnullorempty: is empty
  • \n
  • isnotnullorempty:\ \ is not empty
  • \n
\n
\n Date & Number operators\n\ \
    \n
  • _eq: is equal to
  • \n
  • _neq: is not\ \ equal to
  • \n
  • _gte: is after than or equal to
  • \n \ \
  • _gt: is after than
  • \n
  • _lte: is before than or equal\ \ to
  • \n
  • _lt: is before than
  • \n
  • isnull: is\ \ empty
  • \n
  • isnotnull: is not empty
  • \n
\n \ \
\n\n\n\n\n**Value:** The desired search term\n" schema: $ref: '#/components/schemas/indexFiltering' responses: '200': description: OK '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' /api/v1/stocks/{id}/mark_as_consumed: post: summary: Marks stock as consumed tags: - Stocks parameters: - name: id in: path required: true description: stock id schema: type: integer - name: token in: query required: true schema: type: string responses: '200': description: stock marked as consumed '401': description: 'Error: Unauthorized' /api/v1/stocks/{id}/mark_as_output: post: summary: Marks stock as output tags: - Stocks parameters: - name: id in: path required: true description: stock id schema: type: integer - name: token in: query required: true schema: type: string responses: '200': description: stock marked as output '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: type: object required: - token properties: exp_id: type: integer description: the experiment id example: 103 required: true /api/v1/stocks/{id}/unmark_output: post: summary: Unmarks stock as output tags: - Stocks parameters: - name: id in: path required: true description: stock id schema: type: integer - name: token in: query required: true schema: type: string responses: '200': description: stock unmarked as output '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: type: object required: - token properties: exp_id: type: integer description: the experiment id example: 103 required: true /api/v1/stocks/{id}/update_stock_amount: post: summary: Update stock weight/volume for stock in sample element tags: - Stocks parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: stock id schema: type: integer responses: '200': description: stock amount updated '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateStockAmountInSampleElement' required: true /api/v1/stocks/{id}: put: summary: Update stock attributes tags: - Stocks parameters: - name: id in: path required: true description: stock id schema: type: integer responses: '200': description: stock updated '422': description: invalid request - Name cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateStock' required: true get: summary: Get stock by id tags: - Stocks parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: stock id schema: type: integer responses: '200': description: success '404': description: stock not found /api/v1/stocks/get_stocks_by_barcode: get: summary: Get stock by barcode/id tags: - Stocks parameters: - name: token in: query required: true schema: type: string - name: input in: query required: true description: 'Stock’s Barcode or Id ' example: AB-588 schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OK' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' /api/v1/storages: post: summary: Add a storage tags: - Storages parameters: [] responses: '201': description: storage created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createStorage' required: true get: summary: List all storages in your account tags: - Storages parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/storages/{id}: put: summary: Update storage attributes tags: - Storages parameters: - name: id in: path required: true description: storage id schema: type: integer responses: '200': description: storage updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateStorage' required: true get: summary: Get storage by id tags: - Storages parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: storage id schema: type: integer responses: '200': description: success '404': description: page not found delete: summary: Delete storage tags: - Storages parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: storage id schema: type: integer responses: '201': description: storage deleted '404': description: page not found /api/v1/{biocollection_name}: post: summary: Add parent to an item tags: - Submodules parameters: - name: biocollection_name in: path required: true description: collection name schema: type: string responses: '201': description: parent created '422': description: invalid request - Title cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: properties: title: type: string description: 'the item title to add parent to ' example: child parents_uuid: type: array items: type: string example: 85ed5fca-1114-49ec-8661-48563534efb2 required: true /api/v1/{biocollection_name}/{id}: put: summary: Update item with a new parent tags: - Submodules parameters: - name: id in: path required: true description: item id schema: type: integer - name: biocollection_name in: path required: true description: collection name schema: type: string responses: '200': description: item updated '422': description: invalid request - Title cannot be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: properties: title: type: string description: 'the item title to add parent to ' example: child parents_uuid: type: array items: type: string example: 85ed5fca-1114-49ec-8661-48563534efb2 required: true /api/v1/{biocollection_name}/{id}/get_parents: get: summary: Get parents of an inventory item tags: - Submodules parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: item id schema: type: integer - name: biocollection_name in: path required: true description: collection name schema: type: string responses: '200': description: success '404': description: item not found /api/v1/{parent_collection_name}/get_derived_collections: get: summary: Get the derived collections of a collection tags: - Submodules parameters: - name: token in: query required: true schema: type: string - name: parent_collection_name in: path required: true description: parent collection name schema: type: string responses: '200': description: success '404': description: page not found /api/v1/biocollections/{parent_collection_name}/get_derived_collections: get: summary: Get the derived collections of a generic collection tags: - Submodules parameters: - name: token in: query required: true schema: type: string - name: parent_collection_name in: path required: true description: parent collection name schema: type: string responses: '200': description: success '404': description: page not found /api/v1/{parent_collection_name}/{id}/get_derived_items: get: summary: Get the derived items of a collection item tags: - Submodules parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: id of the parent collection item schema: type: integer - name: parent_collection_name in: path required: true description: parent collection name schema: type: string - name: derived_collection_name in: query required: true example: plasmids schema: type: string - name: derived_collection_id in: query description: id of the derived collection - can be used instead of derived_collection_name schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/biocollections/{parent_collection_name}/{id}/get_derived_items: get: summary: Get the derived items of a generic collection item tags: - Submodules parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: id of the parent generic collection item schema: type: integer - name: parent_collection_name in: path required: true description: parent generic collection name schema: type: string - name: derived_collection_name in: query required: true example: plasmids schema: type: string - name: derived_collection_id in: query description: id of a derived generic collection - can be used instead of derived_collection_name schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/tags: post: summary: Add tag tags: - Tags parameters: [] responses: '201': description: tag created '404': description: invalid request - Item not found '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createTag' required: true /api/v1/tags/{id}: delete: summary: Delete tag tags: - Tags parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: the item id to remove the tag from schema: type: integer responses: '201': description: success '404': description: page not found /api/v1/teams/{id}: get: summary: Get team by id tags: - Teams description: 'Get a team by ID. This endpoint retrieves a team along with a list of all its members. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the team schema: type: integer responses: '200': description: OK '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/teams: get: summary: List all teams in your account tags: - Teams description: 'List all teams within the account and their members. ' parameters: - name: token in: query required: true schema: type: string responses: '200': description: OK '401': description: Unauthorized content: application/json: schema: type: object properties: message: type: string example: You are not authorized to perform this action. /api/v1/tissues: post: summary: Create a tissue tags: - Tissue description: 'Create a tissue. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createTissue' required: true get: summary: List all tissues in your account tags: - Tissue description: 'List all tissues. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/tissues/{id}: put: summary: Update a tissue tags: - Tissue description: 'Update a tissue. ' parameters: - name: id in: path required: true description: The ID of the tissue schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateTissue' required: true get: summary: Get tissue by id tags: - Tissue description: 'Get tissue by id. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the tissue schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/units: post: summary: Add unit tags: - Units parameters: [] responses: '201': description: unit created '422': description: invalid request - Name can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createUnit' required: true get: summary: List all units in your account tags: - Units parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/units/{id}: delete: summary: Delete unit tags: - Units parameters: - name: id in: path required: true description: unit id schema: type: integer responses: '200': description: unit deleted '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/deleteUnit' required: true get: summary: Get unit by id tags: - Units parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: unit id schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/vectors: post: summary: Creates a vectors tags: - Vectors parameters: [] responses: '201': description: vector created '422': description: invalid request - dataset_id can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createVector' required: true get: summary: List all vectors in your account tags: - Vectors parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: ' show summarized data information - true/false' schema: type: string responses: '200': description: success '404': description: page not found /api/v1/vectors/{id}: put: summary: Update vector attributes tags: - Vectors parameters: - name: id in: path required: true description: vector id schema: type: integer responses: '200': description: vector updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateVector' required: true get: summary: Get vector by id tags: - Vectors parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: vector id schema: type: integer responses: '200': description: success '404': description: vector not found /api/v1/viruses: post: summary: Create a virus tags: - Viruses description: 'Create a virus. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createVirus' required: true get: summary: List all viruses in your account tags: - Viruses description: 'List all viruses. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/viruses/{id}: put: summary: Update a virus tags: - Viruses description: 'Update a virus. ' parameters: - name: id in: path required: true description: The ID of the virus schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateVirus' required: true get: summary: Get virus by id tags: - Viruses parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the virus schema: type: integer description: 'Get a virus by ID. ' responses: '200': description: OK '404': description: Not Found /api/v1/visualizations: post: summary: add visualization tags: - Visualizations description: 'This endpoint creates a visualization. To add visualization to a dataset, provide a name, the dataset ID it corresponds to, and an attachment ID (the ID of the visualization file uploaded to Labguru). Once added, the visualization will appear under the ''Visualizations'' tab of a dataset. For a detailed guide on creating dataset visualizations, including a step-by-step process and practical examples, refer to our comprehensive article: [How To Create Dataset Visualization](https://help.labguru.com/en/articles/8741020-how-to-create-dataset-visualization). ' parameters: [] responses: '201': description: Created '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/addVisualization' required: true /api/v1/visualizations/{id}: delete: summary: Delete visualization tags: - Visualizations description: 'This endpoint deletes a visualization. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the visualization schema: type: integer responses: '204': description: No Content '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' /api/v1/webhooks: post: summary: Create a new webhook subscription tags: - Webhooks parameters: [] responses: '201': description: webhook created '422': description: invalid request - triger_key can't be blank '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createWebhook' required: true get: summary: List all webhooks in your account tags: - Webhooks parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: success '404': description: page not found /api/v1/webhooks/{id}: put: summary: Update webhook attributes tags: - Webhooks parameters: - name: id in: path required: true description: webhook id schema: type: integer responses: '200': description: webhook updated '422': description: invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateWebhook' required: true get: summary: Get webhook by id tags: - Webhooks parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: webhook id schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/webhooks/list: get: summary: List all webhooks available tags: - Webhooks parameters: - name: token in: query required: true schema: type: string responses: '200': description: success '404': description: page not found /api/v1/workflows/{id}: get: summary: Get workflow by id tags: - Workflows deprecated: true parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: workflow id schema: type: integer responses: '200': description: success '404': description: page not found /api/v1/workflows: get: summary: List all workflows in your account tags: - Workflows deprecated: true parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: success '404': description: page not found /api/v1/worms: post: summary: Create a worm tags: - Worms description: 'Create a worm. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createWorm' required: true get: summary: List all worms in your account tags: - Worms description: 'List all worms. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/worms/{id}: put: summary: Update a worm tags: - Worms description: 'Update a worm. ' parameters: - name: id in: path required: true description: The ID of the worm schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateWorm' required: true get: summary: Get worm by id tags: - Worms description: 'Get a worm by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the worm schema: type: integer responses: '200': description: OK '404': description: Not Found /api/v1/yeasts: post: summary: Create a yeast tags: - Yeasts description: 'Create a yeast. ' parameters: [] responses: '201': description: Created '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/createYeast' required: true get: summary: List all yeasts in your account tags: - Yeasts description: 'List all yeasts. ' parameters: - name: token in: query required: true schema: type: string - name: page in: query description: the default call is with page = 1 schema: type: integer - name: meta in: query description: show summarized data information - true/false schema: type: string responses: '200': description: OK '404': description: Not found /api/v1/yeasts/{id}: put: summary: Update a yeast tags: - Yeasts description: 'Update a yeast. ' parameters: - name: id in: path required: true description: The ID of the yeast schema: type: integer responses: '200': description: OK '422': description: Invalid request '401': description: 'Error: Unauthorized' requestBody: content: application/json: schema: $ref: '#/components/schemas/updateYeast' required: true get: summary: Get yeast by id tags: - Yeasts description: 'Get a yeast by ID. ' parameters: - name: token in: query required: true schema: type: string - name: id in: path required: true description: The ID of the yeast schema: type: integer responses: '200': description: OK '404': description: Not Found info: title: Labguru API description: "Labguru API is a JSON / REST based API, get started by reviewing the\ \ documentation below or code samples.
\n Join our dedicated [Slack\ \ channel](https://join.slack.com/t/labgurus/shared_invite/zt-199glfagl-QZQ_bKl7vLAi8CQSuNrRug)\n\ \ to be in direct contact with our API team and be informed about the latest\ \ updates.
\n ***[API introduction and overview](https://help.labguru.com/en/articles/6149483-api-introduction-and-overview)***" version: v1 components: schemas: 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: 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. This should match the file name exactly, including the file extension (.xlsx, .csv, etc.). item[attach_to_uuid]: type: string description: "The UUID of the object to which the attachment will be linked.
\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: 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: 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: allOf: - $ref: '#/components/schemas/WormBaseRequest' - type: object properties: item: type: object required: - name updateWorm: allOf: - $ref: '#/components/schemas/WormBaseRequest' 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: allOf: - $ref: '#/components/schemas/AntibodyBaseRequest' - type: object properties: item: type: object required: - title updateAntibody: allOf: - $ref: '#/components/schemas/AntibodyBaseRequest' 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: allOf: - $ref: '#/components/schemas/ExperimentBaseRequest' - type: object properties: item: type: object required: - title - project_id - milestone_id updateExperiment: allOf: - $ref: '#/components/schemas/ExperimentBaseRequest' 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’s 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: allOf: - $ref: '#/components/schemas/PlasmidBaseRequest' - type: object properties: item: type: object required: - title updatePlasmid: allOf: - $ref: '#/components/schemas/PlasmidBaseRequest' 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: allOf: - $ref: '#/components/schemas/SOPBaseRequest' - type: object properties: item: type: object required: - title updateSOP: allOf: - $ref: '#/components/schemas/SOPBaseRequest' 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: 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: 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: allOf: - $ref: '#/components/schemas/LinkBaseRequest' 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: allOf: - $ref: '#/components/schemas/CompoundBaseRequest' - type: object properties: item: type: object required: - name updateCompound: allOf: - $ref: '#/components/schemas/CompoundBaseRequest' 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: allOf: - $ref: '#/components/schemas/TaskBaseRequest' - type: object properties: item: type: object required: - name updateTask: allOf: - $ref: '#/components/schemas/TaskBaseRequest' 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: allOf: - $ref: '#/components/schemas/RodentCageBaseRequest' - type: object properties: item: type: object required: - name updateRodentCage: allOf: - $ref: '#/components/schemas/RodentCageBaseRequest' 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: allOf: - $ref: '#/components/schemas/GeneBaseRequest' - type: object properties: item: type: object required: - title updateGene: allOf: - $ref: '#/components/schemas/GeneBaseRequest' 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 description: The species from which the virus was isolated or generated safety_information: type: string description: safety information details storage_conditions: type: string description: Conditions under which the virus should be stored owner_id: type: integer description: id of the owner - by default it's your member id source: type: string description: The origin of the virus description: type: string description: Description of the virus createVirus: allOf: - $ref: '#/components/schemas/VirusBaseRequest' - type: object properties: item: type: object required: - name updateVirus: allOf: - $ref: '#/components/schemas/VirusBaseRequest' LipidBaseRequest: 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 lipid owner_id: type: integer description: 'ID of the owner (default: your member id)' alternative_name: type: string description: Any alternative name by which the lipid may be known molecular_formula: type: string description: The molecular formula of the lipid molecular_weight: type: string description: Molecular weight of the lipid cas_number: type: string description: The Chemical Abstracts Service number stock_solution_prep: type: string description: Media/solution solubility: type: string description: Solubility information conditions_for_use: type: string description: Recommended conditions under which the lipid should be used conditions_for_storage: type: string description: Guidelines for proper storage of the lipid safety_information: type: string description: Safety guidelines and hazard information related to the lipid impurities: type: string description: Details of known impurities found in the lipid sample source: type: string description: The origin of the lipid description: type: string description: Detailed description of the lipid createLipid: allOf: - $ref: '#/components/schemas/LipidBaseRequest' - type: object properties: item: type: object required: - name updateLipid: allOf: - $ref: '#/components/schemas/LipidBaseRequest' YeastBaseRequest: 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 yeast description: type: string description: Description of the yeast reproduction: type: string description: Details of the mode of reproduction for the yeast genetic_background: type: string description: yeast's genetic lineage or background transgenic_features: type: string description: Transgenic Features phenotype: type: string description: Observable characteristics of the yeast source: type: string description: Origin of the yeast strain owner_id: type: integer description: id of the owner - if omitted, will default to your member id createYeast: allOf: - $ref: '#/components/schemas/YeastBaseRequest' - type: object properties: item: type: object required: - name updateYeast: allOf: - $ref: '#/components/schemas/YeastBaseRequest' ProjectBaseRequest: 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 project description: type: string description: Description of the project start_date: type: string format: date description: Start Date (yyyy-mm-dd) closed: type: boolean description: Archived/Active project flag status: type: string description: Status owner_id: type: integer description: 'ID of the owner (default: your member id)' createProject: allOf: - $ref: '#/components/schemas/ProjectBaseRequest' - type: object properties: item: type: object required: - title updateProject: allOf: - $ref: '#/components/schemas/ProjectBaseRequest' BacteriumBaseRequest: 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 bacterium sensitivity: type: string description: Details the bacterium’s sensitivity to antibiotics or other agents. strain: type: string description: The specific strain of the bacterium source: type: string description: The origin or isolation source of the bacterium (e.g., environmental, clinical). owner_id: type: integer description: The ID of the owner - by default it's your member id description: type: string description: A detailed description of the bacterium createBacterium: allOf: - $ref: '#/components/schemas/BacteriumBaseRequest' - type: object properties: item: type: object required: - name updateBacterium: allOf: - $ref: '#/components/schemas/BacteriumBaseRequest' PrimerBaseRequest: 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 primer alternative_name: type: string description: Any alternative name by which the primer may be known owner_id: type: integer description: id of the owner - if omitted, will default to your member id sequence: type: string description: The nucleotide sequence of the primer tag: type: string description: A unique label or tag associated with the primer gene_id: type: integer nullable: true description: A reference ID linking the primer to a specific gene in your lab tm: type: string description: The melting temperature (Tm) of the primer example: 3 orientation: type: string description: Indicates the orientation of the primer. Set "1" for forward and "0" for reverse. This field is optional and can be left null if orientation is not applicable nullable: true example: '1' target_position: type: string description: The specific binding position of the primer on the target DNA fragment_size: type: string description: The size of the DNA fragment that the primer is designed to amplify organism: type: string description: The specific organism for which the primer is designed, such as "Mouse" used_for: type: string description: The specific applications for which the primer is used (pcr / RT / SDM / etc.) restriction_site: type: string description: Information about any restriction enzyme recognition sites incorporated into the primer design source: type: string description: The origin or source from which the primer was obtained description: type: string description: A detailed description of the primer createPrimer: allOf: - $ref: '#/components/schemas/PrimerBaseRequest' - type: object properties: item: type: object required: - title updatePrimer: allOf: - $ref: '#/components/schemas/PrimerBaseRequest' SeedBaseRequest: 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 seed owner_id: type: integer description: id of the owner - if omitted, will default to your member id genotype: type: string description: Genetic makeup of the seed phenotype: type: string description: Observable physical or biochemical characteristics of the seed generation: type: string description: Generational stage of the seed example: F0 male_parent_id: type: integer description: The ID of the male parent plant from your Labguru plants collection, if applicable. female_parent_id: type: integer description: The ID of the female parent plant from your Labguru plants collection, if applicable. source: type: string description: Origin of the seed description: type: string description: Description of the seed createSeed: allOf: - $ref: '#/components/schemas/SeedBaseRequest' - type: object properties: item: type: object required: - name updateSeed: allOf: - $ref: '#/components/schemas/SeedBaseRequest' CellLineBaseRequest: 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 cell line owner_id: type: integer description: The ID of the owner - by default it's your member id organism: type: string description: The organism from which the cells were originated tissue: type: string description: The tissue from which the cells were extracted medium_and_serum: type: string description: A supplement used for cultivating cells source: type: string description: The location or environment from which the cells were originated description: type: string description: A detailed description of the cell line createCellLine: allOf: - $ref: '#/components/schemas/CellLineBaseRequest' - type: object properties: item: type: object required: - name updateCellLine: allOf: - $ref: '#/components/schemas/CellLineBaseRequest' ProteinBaseRequest: 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 protein owner_id: type: integer description: ID of the owner - if omitted, will default to your id alternative_name: type: string description: An additional name for the protein gene: type: string description: ' The gene from which the protein is derived' species: type: string description: The species from which the protein originates lg_mutations: type: string description: List of mutations in the protein structure chemical_modifications: type: string description: Details any chemical modifications the protein has undergone tag: type: string description: A label or tag attached to the protein purification_method: type: string description: The method used to purify the protein from other biological components mw: type: string description: The molecular weight of the protein extinction_coefficient_280nm: type: string description: The extinction coefficient at 280 nm storage_buffer: type: string description: The buffer solution in which the protein is stored storage_temperature: type: string description: The temperature in which the protein is stored source: type: string description: The protein source sequence: type: string description: The amino acid sequence of the protein description: type: string description: A detailed description of the protein createProtein: allOf: - $ref: '#/components/schemas/ProteinBaseRequest' - type: object properties: item: type: object required: - name updateProtein: allOf: - $ref: '#/components/schemas/ProteinBaseRequest' PlantBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: The botanical name of the plant. owner_id: type: integer description: ID of the owner - if omitted, will default to your id phenotype: type: string description: Observable physical or biochemical characteristics of the plant genotype: type: string description: The genetic makeup of the plant generation: type: string description: Generation of the plant harvest_date: type: string format: date description: The date when the plant was harvested, formatted as YYYY-MM-DD example: '2021-03-11' source: type: string description: The origin of the plant description: type: string description: Description of the plant createPlant: allOf: - $ref: '#/components/schemas/PlantBaseRequest' - type: object properties: item: type: object required: - name updatePlant: allOf: - $ref: '#/components/schemas/PlantBaseRequest' FlyBaseRequest: 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 fly owner_id: type: integer description: id of the owner - by default it's your member id source: type: string description: Origin of the fly. genotype: type: string description: Genetic makeup. phenotype: type: string description: Observable characteristics. breakpoints_insertions: type: string description: Genetic insertion points. ch_number: type: string description: Chromosome number. ch_te: type: string description: Transposable element in chromosome. description: type: string description: Description of the fly createFly: allOf: - $ref: '#/components/schemas/FlyBaseRequest' - type: object properties: item: type: object required: - name updateFly: allOf: - $ref: '#/components/schemas/FlyBaseRequest' SequenceBaseRequest: 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 sequence owner_id: type: integer description: id of the owner - by default it's your member id seq: type: string description: The actual sequence data in characters kind: type: integer description: 'sequence type: DNA = 1, CDNA = 2, RNA = 3, PROBE = 4, PROTEIN = 5' example: 2 accsesion: type: string description: The unique accession number assigned to the sequence organism: type: string description: The organism from which the sequence is derived description: type: string description: Description of the sequence createSequence: allOf: - $ref: '#/components/schemas/SequenceBaseRequest' - type: object properties: item: type: object required: - title - seq updateSequence: allOf: - $ref: '#/components/schemas/SequenceBaseRequest' RodentSpecimenBaseRequest: 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 specimen status: type: string description: 'the status of the rodent: alive, dead, missing, sacrificed' description: type: string description: Description of the rodent specimen alternative_name: type: string description: additional name for the rodent specimen owner_id: type: integer description: id of the owner - by default it's your member id genotype: type: string description: genotype phenotype: type: string description: phenotype ear_tag: type: string description: ear tag coat_tag: type: string description: coat tag sex: type: string description: 'sex of the rodent: male, female, unknown' ethics: type: string description: ethics approval id dob: type: string format: date description: Date of birth (yyyy-mm-dd) dod: type: string format: date description: Date of death (yyyy-mm-dd) source: type: string description: source createRodentSpecimen: allOf: - $ref: '#/components/schemas/RodentSpecimenBaseRequest' - type: object properties: item: type: object required: - name - status updateRodentSpecimen: allOf: - $ref: '#/components/schemas/RodentSpecimenBaseRequest' createMaintenanceType: 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 maintenance type updateMaintenanceType: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name properties: name: type: string description: The new name of the maintenance type FungusBaseRequest: 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 fungus species: type: string description: Biological species. phenotype: type: string description: Observable traits. genotype: type: string description: Genetic composition. host: type: string description: Associated host organism. virulent: type: string description: Virulence factor. sporulate: type: string description: Ability to form spores. mycelia: type: string description: Mycelial growth. fruiting_bodies: type: string description: Presence of sporocarps. 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 fungus was obtained. description: type: string description: Description of the fungus createFungus: allOf: - $ref: '#/components/schemas/FungusBaseRequest' - type: object properties: item: type: object required: - name updateFungus: allOf: - $ref: '#/components/schemas/FungusBaseRequest' TissueBaseRequest: 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 tissue alternative_name: type: string description: An alternative name for the tissue species: type: string description: The species from which the tissue is derived genotype_phenotype: type: string description: Genotype/phenotype animal_details: type: string description: Detailed information about the animal from which the tissue was harvested tissue_type: type: string description: 'The type of the tissue ' harvest_date: type: string description: Harvest date - in the following format (yyyy-mm-dd) example: '2021-06-21' fixation_embedding_procedure: type: string description: Fixation/embedding procedure applications: type: string description: Applications storage_conditions: type: string description: Storage conditions owner_id: type: integer description: id of the owner - by default it's your member id source: type: string description: The origin of the tissue description: type: string description: Description of the tissue createTissue: allOf: - $ref: '#/components/schemas/TissueBaseRequest' - type: object properties: item: type: object required: - name updateTissue: allOf: - $ref: '#/components/schemas/TissueBaseRequest' RodentStrainBaseRequest: 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 strain alternative_name: type: string description: additional name for the strain transgene: type: string description: Transgene genotype: type: string description: Genotype phenotype: type: string description: Phenotype owner_id: type: integer description: id of the owner - by default it's your member id source: type: string description: Source description: type: string description: Description of the strain createRodentStrain: allOf: - $ref: '#/components/schemas/RodentStrainBaseRequest' - type: object properties: item: type: object required: - name updateRodentStrain: allOf: - $ref: '#/components/schemas/RodentStrainBaseRequest' createProtocol: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: string example: '{"name":"A protocol name","experiment_procedures":[],"elements":[]}' updateProtocol: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: The protocol name createMaintenance: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - item_id - item_type - maintenance_type_id - frequency_period - frequency_frame properties: item_id: type: integer description: the id of the equipment item_type: type: string description: the class of the item (System::Instrument) example: System::Instrument maintenance_type_id: type: integer description: the id of the maintenance type frequency_period: type: integer description: the time period in numbers example: '1' frequency_frame: type: string description: one of the following time frames - hour/day/week/month/year example: year updateMaintenance: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - item_id properties: item_id: type: integer description: the id of the equipment frequency_period: type: integer description: the time period in numbers example: '15' frequency_frame: type: string description: one of the following time frames - hour/day/week/month/year example: day PaperBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: 'the papers title ' journal: type: string description: the time period in numbers authors: type: string description: '' publication_date: type: string format: date description: 'in the following format yyyy-mm-dd ' volume: type: string description: volume pages: type: string description: pages url: type: string description: www.link.com doi: type: string description: digital object identifier example: 10.1002/aur21 review: type: string description: Abstract createPaper: allOf: - $ref: '#/components/schemas/PaperBaseRequest' - type: object properties: item: type: object required: - name updatePaper: allOf: - $ref: '#/components/schemas/PaperBaseRequest' DocumentBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: title: type: string description: 'the document title ' description: type: string description: the document description createDocument: allOf: - $ref: '#/components/schemas/DocumentBaseRequest' - type: object properties: item: type: object required: - title updateDocument: allOf: - $ref: '#/components/schemas/DocumentBaseRequest' ReportBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: title: type: string description: 'the report title ' createReport: allOf: - $ref: '#/components/schemas/ReportBaseRequest' - type: object properties: item: type: object required: - title updateReport: allOf: - $ref: '#/components/schemas/ReportBaseRequest' addAnExperimentSectionToReport: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - report_id - section_id properties: report_id: type: integer description: the report id section_id: type: string description: the experiment procedure id to copy example: '32' addCoverToReport: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - report_id - data properties: report_id: type: integer description: the report id data: type: string description: cover page data in HTML format example:

Cover Page Heading

NoteBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - title - project_id properties: title: type: string description: 'the note title ' body: type: string description: body description of the note project_id: type: integer description: the project id to add note to createNote: allOf: - $ref: '#/components/schemas/NoteBaseRequest' - type: object properties: item: type: object required: - title - project_id updateNote: allOf: - $ref: '#/components/schemas/NoteBaseRequest' CompanyBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: the company name address: type: string description: address of the company web: type: string description: 'link to the company web page ' contact: type: string description: 'contacts ' email: type: string description: 'email ' fax: type: string description: 'fax number ' description: type: string description: 'general description ' createCompany: allOf: - $ref: '#/components/schemas/CompanyBaseRequest' - type: object properties: item: type: object required: - name updateCompany: allOf: - $ref: '#/components/schemas/CompanyBaseRequest' EquipmentBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: the equipment name model_number: type: string description: model number of the equipment serial_number: type: string description: 'serial number of the equipment ' equipment_type: type: string description: 'equipment type ' manufacturer: type: string description: 'manufacturer name ' purchase_date: type: string format: date description: 'purchase date ' warranty_expired: type: string format: date description: 'warranty_expired ' maintenance_information: type: string description: 'maintenance information ' description: type: string description: 'general description ' createEquipment: allOf: - $ref: '#/components/schemas/EquipmentBaseRequest' - type: object properties: item: type: object required: - name updateEquipment: allOf: - $ref: '#/components/schemas/EquipmentBaseRequest' MaintenanceTemplateBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: equipment_type: type: string description: the equipment type maintenance_type_id: type: integer description: maintenance type id data: type: string description: templates fields in the follwing json format example: '[{"title":"Detergent","value":"Wateriii:"}]' createMaintenanceTemplate: allOf: - $ref: '#/components/schemas/MaintenanceTemplateBaseRequest' - type: object properties: item: type: object required: - equipment_type - maintenance_type_id - data updateMaintenanceTemplate: allOf: - $ref: '#/components/schemas/MaintenanceTemplateBaseRequest' MaintenanceEventBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: item_id: type: integer description: the equipment id item_type: type: string description: equipment class name example: System::Instrument maintenance_id: type: integer description: maintenance id data: type: string description: templates fields in the follwing json format example: '[{"title":"Detergent","value":"Wateriii:"}]' performed_at: type: string format: date description: performance data performed_by: type: integer description: member id createMaintenanceEvent: allOf: - $ref: '#/components/schemas/MaintenanceEventBaseRequest' - type: object properties: item: type: object required: - item_id - item_type - maintenance_id - data - performed_by - performed_at updateMaintenanceEvent: allOf: - $ref: '#/components/schemas/MaintenanceEventBaseRequest' createSection: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - container_id - container_type properties: name: type: string description: the name of the section container_id: type: integer description: the id of the experiment/protocol/report the section belongs to container_type: type: string description: the type of the container - Projects::Experiment | Knowledgebase::Protocol | Knowledgebase::AbstractDocument example: Projects::Experiment position: type: integer description: the section position updateSection: 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 section container_id: type: integer description: the id of the experiment/protocol/report the section belongs to container_type: type: string description: the type of the container - Projects::Experiment\Knowledgebase::Protocol\Knowledgebase::Report example: Projects::Experiment position: type: integer description: the section position moveSection: type: object required: - token - container_id - container_type - list properties: token: type: string example: YOUR TOKEN IS HERE container_id: type: integer description: The id of the container container_type: type: string default: Projects::Experiment description: The container type of the section list: type: array items: type: integer description: "An array of section IDs.
\n The order of\ \ IDs in this list defines the new arrangement of sections on the page" example: - 110 - 111 createFolder: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - project_id - title properties: project_id: type: integer description: The ID of the project title: type: string description: The folder title updateFolder: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: project_id: type: integer description: The ID of the project title: type: string description: The folder title StorageBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE system_storage_storage: type: object properties: name: type: string description: Name of the storage unit. storage_type_id: type: integer description: 'The ID of the storage type.
Examples include: 1 (Room), 21 (Shelf), 61 (Closet), 81 (Drawer), 111 (Cage), 120 (Refrigerator), 121 (Freezer), 201 (Cryo container), 251 (Slide Rack), 322 (Rack), 321 (Other).' description: type: string description: description of the storage unit temperature: type: integer description: temperature of the storage unit. createStorage: allOf: - $ref: '#/components/schemas/StorageBaseRequest' - type: object properties: system_storage_storage: type: object required: - name - storage_type_id updateStorage: allOf: - $ref: '#/components/schemas/StorageBaseRequest' BoxBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: 'the box name ' rows: type: integer description: number of rows cols: type: integer description: number of columns box_type: type: integer description: 'one of the following: [["Primer", 0], ["General", -1], ["Tube", -1], ["Seed", -2], ["Fly", -3], ["Bacterium", -4], ["Cell Line", -5], ["Tissue", -6], ["Antibody", -7], ["Plasmid", -8], ["Glycerol", -9], ["Enzyme", -10], ["Consumable", -11], ["Yeast", -12], ["Fungus", -13], ["Virus", -14], ["Protein", -15], ["Lipid", -16], ["Worm", -17], ["Sequence", -18], ["Zebrafish", -19], ["Gene", -20], ["Compound", -21]]' example: 0 color: type: string description: '["pink", "red", "orange", "yellow", "beige", "white", "blue", "purple", "green", "brown", "gray", "black"]' shared: type: boolean description: Personal - false/ shared - true(default) barcode: type: string description: the barcode of the box createBox: allOf: - $ref: '#/components/schemas/BoxBaseRequest' - type: object properties: item: type: object required: - name updateBox: allOf: - $ref: '#/components/schemas/BoxBaseRequest' createTag: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - tag - class_name - item_id properties: tag: type: string description: 'the tag name ' class_name: type: string description: the item type to tag example: Biocollections::Antibody item_id: type: string description: the id of the item to to tag deleteTag: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - tag - class_name - item_id properties: tag: type: string description: 'the tag name to remove ' class_name: type: string description: the item type to remove the tag from example: Biocollections::Antibody item_id: type: string description: the id of the item to to remove the tag from EventBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: event title start_date: type: string format: date description: the event start date end_date: type: string format: date description: the event end date description: type: string description: ' text description for this event' notify_members: type: string description: 'who should be notified regarding the event: notify only me =[1], notify all participants = [-1], none =[0]' example: '[0]' notify_at: type: string format: date description: when to notify about the event is_fullday_event: type: boolean description: true/false repeats: type: integer description: 1/0 repeat_frame: type: string description: the time frame which the event will be repeated at - Never, days, weeks, months example: Never eventable_id: type: integer description: the equipment id which the event is related to eventable_type: type: string description: the item class name - System::Instrument example: System::Instrument createEvent: allOf: - $ref: '#/components/schemas/EventBaseRequest' - type: object properties: item: type: object required: - name - start_date - end_date updateEvent: allOf: - $ref: '#/components/schemas/EventBaseRequest' createWebhook: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - trigger_key - active - url properties: trigger_key: type: string description: trigger key example: knowledgebase_document.signed active: type: boolean description: by default it's false example: false url: type: string description: url example: https://prod-flow.labguru.com/flows/1234567/flow_runs.json updateWebhook: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: trigger_key: type: string description: trigger key example: knowledgebase_document.signed active: type: boolean description: by default it's false example: false url: type: string description: url example: https://prod-flow.labguru.com/flows/1234567/flow_runs.json createDataset: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - data_attachment_id properties: name: type: string description: dataset name data_attachment_id: type: integer description: dataset attachment id sdf_attachment_id: type: integer description: SDF attachment id description: type: string description: dataset description assignItemToDataset: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - item_type - item_id properties: item_type: type: string description: the item type to attach the dataset to item_id: type: integer description: the id of the item createVisualization: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - dataset_id - attachment_id properties: name: type: string description: visualization name dataset_id: type: integer description: the dataset id attachment_id: type: integer description: the attachment id createVector: type: object required: - token - dataset_id - vector_data properties: token: type: string example: YOUR TOKEN IS HERE dataset_id: type: integer description: the dataset id vector_data: type: string description: 'fields must be same as column headers in the dataset {"data_header": "item_name"}' example: column1: value1 column2: value2 updateVector: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE dataset_id: type: integer description: the dataset id vector_data: type: string description: 'fields must be same as column headers in the dataset - {"data_header": "item_name"}' example: column1: value1 column2: value2 GenericItemBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: generic item name description: type: string description: Text description for this generic item createGenericItem: allOf: - $ref: '#/components/schemas/GenericItemBaseRequest' - type: object properties: item: type: object required: - name updateGenericItem: allOf: - $ref: '#/components/schemas/GenericItemBaseRequest' addItem: title: Add item type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - collection_type - item_id - quantity properties: collection_type: type: string description: The type of collection, specified in singular form, such as - Biocollections::Antibody item_id: type: integer description: The id of the item to be added to the shopping list price: type: number format: float description: The price of the item currency: type: integer quantity: type: integer description: The number of units of the item to be added to the shopping list. remarks: type: string description: Additional comments or special instructions related to the item. addCustomItem: title: Add custom item type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - collection_type - collection_id - item_id - quantity properties: collection_type: type: string description: The name of the custom collection to which the item belongs. collection_id: type: integer description: The id of the custom collection within the system. item_id: type: integer description: The id of the item to be added to the shopping list price: type: number format: float description: The price of the item currency: type: integer quantity: type: integer description: The number of units of the item to be added to the shopping list. remarks: type: string description: Additional comments or special instructions related to the item. updateOrder: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: price: type: number format: float description: price budget: type: string description: budget currency: type: integer description: '0 = NIS, 1 = DOLLAR, 2 = EURO, 3 = POUND, 4 = NOK ' quantity: type: integer description: quantity order_number: type: integer description: order number description: type: string description: description MaterialBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: Material name company_id: type: integer description: '[required] - in case material is commercial' produce_by: type: string description: '[required] - in case material is non commercial' description: type: string description: description cas_number: type: integer description: CAS Registry Number mw: type: string description: mw web: type: string description: url materialtype_id: type: integer description: the material type id units: type: string description: units price: type: number format: float description: price currency: type: integer description: '0 = NIS, 1 = DOLLAR, 2 = EURO, 3 = POUND, 4 = NOK ' createMaterial: allOf: - $ref: '#/components/schemas/MaterialBaseRequest' - type: object properties: item: type: object required: - name updateMaterial: allOf: - $ref: '#/components/schemas/MaterialBaseRequest' StockBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: name: type: string description: 'the stock name ' storage_id: type: integer description: 'type of storages: 1 - Room, 21 - Shelf, 61 - Closet, 81 - Drawer, 111 - Cage, 120 - Refrigerator ,121 - Freezer, 181 - Rack Cell , 201 - Cryo container, 251 - Slide Rack, 261 - Rack Cell, 322 - Rack, 323 - Rack Cell, 321 - Other' storage_type: type: string description: 'storage class name - [Box - System::Storage::Box] [all other storages type - System::Storage::Storage] ' stockable_type: type: string description: 'class name of the stockable item type, such as: Biocollections::Antibody' stockable_id: type: integer description: stockable item id location_in_box: type: integer description: if storage is grid box, indicates numerical location in box owner_id: type: integer description: id of the owner - by default it's your member id expiration_date: type: string format: date description: 'in the following format: yyyy-mm-dd ' lot: type: string description: number of batch description: type: string description: general description barcode: type: string description: 'barcode ' stored_by: type: integer description: member id concentration: type: string description: concentration concentration_prefix: type: string description: x10^/E^ example: E^ concentration_unit_id: type: integer description: 9-mg/mL, 10-g/L, 11-M, 12-mM, 13-µM, 14-µg/mL, 15-ng/µL, 16-ratio, 17-%, 18-g/mL example: 9 concentration_exponent: type: integer description: concentration exponent concentration_remarks: type: string description: concentration remarks volume: type: string description: volume volume_prefix: type: string description: x10^/E^ example: E^ volume_unit_id: type: integer description: 6-L, 7-mL, 8-µL example: 7 volume_exponent: type: integer description: volume exponent volume_remarks: type: string description: volume remarks weight: type: string description: weight weight_prefix: type: string description: x10^/E^ example: E^ weight_unit_id: type: integer description: 1 -Kg, 2-g, 3-mg, 4-µg, 5-ng example: 3 weight_exponent: type: integer description: weight exponent weight_remarks: type: string description: weight remarks createStock: allOf: - $ref: '#/components/schemas/StockBaseRequest' - type: object properties: item: type: object required: - name - storage_id - storage_type - stockable_type - stockable_id updateStock: allOf: - $ref: '#/components/schemas/StockBaseRequest' updateStockAmountInSampleElement: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE unit_type: type: string description: weight/volume element_id: type: integer description: the samples element id amount_used: type: string description: amount_used example: 15 unit_type_name: type: string description: unit_type_name example: mg subtract: type: string description: 'true' example: 'true' sample_id: type: integer description: the sample id createUnit: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - type_for properties: name: type: string description: 'unit name ' type_for: type: string description: weight/volume/concentration deleteUnit: type: object required: - token - unit_type properties: token: type: string example: YOUR TOKEN IS HERE unit_type: type: string description: weight/volume/concentration example: weight createRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - request_template_id properties: name: type: string description: The name of the request request_template_id: type: integer description: The ID of the request template to start the request from priority: type: string description: Specifies the priority level of the request. By default - Low enum: - Low - Medium - High - Urgent example: Medium updateRequest: 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 request team_id: type: integer description: The performing team ID status: type: string description: The request status, indicating the current state of the request. enum: - Draft - Pending - Approved - Awaiting Assignment - Assigned - In Progress - Completed example: Draft priority: type: string description: Specifies the priority level of the request. By default - Low enum: - Low - Medium - High - Urgent example: Medium due_date: type: string format: date description: Date in the following format - 'YYYY-MM-DD' example: '2024-03-11' submitRequest: 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 request team_id: type: integer description: The performing team ID due_date: type: string format: date description: Date in the following format - 'YYYY-MM-DD' example: '2024-03-11' approvedRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: team_id: type: integer description: The performing team ID due_date: type: string format: date description: Date in the following format - 'YYYY-MM-DD' example: '2024-03-11' priority: type: string description: Specifies the priority level of the request. By default - Low enum: - Low - Medium - High - Urgent example: Medium acceptRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: priority: type: string description: Specifies the priority level of the request. By default - Low enum: - Low - Medium - High - Urgent example: Medium selectPerformer: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - performed_by properties: performed_by: type: integer description: The ID of the member which will perform the request startRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: performed_by: type: integer description: The ID of the member which will perform the request createRequestTemplate: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - request_type properties: name: type: string description: The name of the request template request_type: type: string description: The type of request updateRequestTemplate: 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 request template request_type: type: string description: The type of request indexFiltering: type: object required: - kendo properties: kendo: type: string example: 'true' filter: type: object properties: logic: type: string example: and description: Filter logic (e.g., "and" or "or") filters: type: object description: Array of filter objects properties: '0': type: object description: Filter object properties: field: type: string example: name description: Field name to filter by operator: type: string example: contains description: Filter operator (e.g., "contains") value: type: string example: myValue description: Filter value '1': type: object description: Filter object properties: field: type: string example: id description: Field name to filter by operator: type: string example: _eq description: Filter operator (e.g., "_eq") value: type: integer example: '172' description: Filter value '2': type: object description: Filter object properties: field: type: string example: stored_on description: Field name to filter by operator: type: string example: _gt description: Filter operator (e.g., "_gt") value: type: string format: date description: Filter value - Date in the following format 'YYYY-MM-DD' example: '2023-01-11' '3': type: object description: Filter object properties: field: type: string example: content description: Field name to filter by operator: type: string example: startswith description: Filter operator (e.g., "startswith") value: type: string example: pla description: Filter value '4': type: object description: Filter object properties: field: type: string example: stored_by description: Field name to filter by operator: type: string example: contains description: Filter operator (e.g., "contains") value: properties: name: type: string example: User Name description: User name to filter by id: type: string example: '[1]' description: User id in the following format "[1]" addVisualization: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - dataset_id - attachment_id properties: name: type: string description: The name of the visualization dataset_id: type: integer description: The ID of the dataset to which the visualization will be linked to attachment_id: type: integer description: The ID of the attachment (image) that will appear under the 'Visualization' tab of the dataset addElement: title: Add element type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - container_id - container_type - element_type - data description: Valid element types are:
• samples
• equipment
• code
• compound
• reaction
• text
• steps
• excel
• plate
properties: name: type: string description: Specifies the name of the element. If not provided, the element will be assigned a default name container_id: type: integer description: The ID of the section to which the element will be added container_type: type: string description: The type of container in which the element will be placed example: ExperimentProcedure element_type: type: string description: The type of element to be added data: type: string nullable: true updateTextElement: title: Update text element type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE data: type: string example: The updated text updateFormElement: title: Update form element type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE form_json: type: string description: "A JSON string containing key-value pairs that specify updates\ \ to the form fields.\n Each key corresponds to a form\ \ field name and the value specifies the new content for that field." example: Field Name: Field Content addPlateElement: title: Add plate element type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - container_id - container_type - element_type - data - rows - cols description: Valid plate dimensions are:
• 3x2 (6 wells)
• 4x3 (12 wells)
• 6x4 (24 wells)
• 8x6 (48 wells)
• 12x6 (72 wells)
• 12x8 (96 wells)
• 24x16 (384 wells)
properties: name: type: string description: Specifies the name of the element. If not provided, the element will be assigned a default name container_id: type: integer description: The ID of the section to which the element will be added container_type: type: string description: The type of container in which the plate element will be placed example: ExperimentProcedure element_type: type: string description: The type of element to be added example: plate cols: type: integer description: the number of columns in the plate layout rows: type: integer description: The number of rows in the plate layout data: type: string nullable: true createFixedSamplePoolingEvent: title: Create fixed sample pooling event type: object description: draw a fixed amount from all stocks. required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - pool_type - unit - unit_type - fixed_amount - stocks_list - pooled_stock_info properties: name: type: string description: The description of pool purpose unit_type: type: string description: volume/weight pool_type: type: string example: fixed unit: type: string description: 'Valid units of measurement are: - For ''volume'': ''nL'', ''µL'', ''mL'', ''L'' - For ''weight'': ''ng'', ''µg'', ''mg'', ''g'', ''Kg''' example: µL fixed_amount: type: integer description: Specifies the exact amount to draw stocks_list: type: array description: List of stock IDs from which to draw items: type: integer example: - 1291 - 1293 pooled_stock_info: type: object required: - name - stockable_type - stockable_id - storage_type - storage_id description: "Contains all the necessary stock fields for creating a\ \ stock during the pooling event.\n This object\ \ may include all the relevant stock properties." properties: name: type: string stockable_type: type: string description: "Identifies the class name of the stock item, such\ \ as 'Biocollections::Bacterium'.\n This\ \ indicates the category of the entity and must match valid system-defined\ \ class names." example: Biocollections::Bacterium stockable_id: type: integer storage_type: type: string description: "Specifies the storage classification, such as 'System::Storage::Storage',\n\ \ indicating the type of storage facility\ \ used for the item." example: System::Storage::Storage storage_id: type: integer createCustomSamplePoolingEvent: title: Create custom sample pooling event type: object description: draw a custom amount from each stock. required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - unit_type - pool_type - unit - stocks_usage - pooled_stock_info properties: name: type: string description: The description of pool purpose unit_type: type: string description: volume/weight pool_type: type: string example: custom unit: type: string description: 'Valid units of measurement are: - For ''volume'': ''nL'', ''µL'', ''mL'', ''L'' - For ''weight'': ''ng'', ''µg'', ''mg'', ''g'', ''Kg''' example: µL stocks_usage: type: object description: Hash of stock IDs and the desired amount to pool. additionalProperties: type: number description: Amount to be pooled for the given stock ID. example: '300': 0.004 '834': 6 '45': 5 pooled_stock_info: type: object description: "Contains all the necessary stock fields for creating a\ \ stock during the pooling event.\n This object\ \ may include all the relevant stock properties." required: - name - stockable_type - stockable_id - storage_type - storage_id properties: stockable_type: type: string description: "Identifies the class name of the stock item, such\ \ as 'Biocollections::Bacterium'.\n This\ \ indicates the category of the entity and must match valid system-defined\ \ class names." example: Biocollections::Bacterium stockable_id: type: integer storage_type: type: string description: "Specifies the storage classification, such as 'System::Storage::Storage',\n\ \ indicating the type of storage facility\ \ used for the item." example: System::Storage::Storage storage_id: type: integer name: type: string createConsumeSamplePoolingEvent: title: Create consume sample pooling event type: object description: draw the entire amount and consume. required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object required: - name - unit_type - pool_type - unit - stocks_list - pooled_stock_info properties: name: type: string description: The description of pool purpose unit_type: type: string description: volume/weight pool_type: type: string example: consume unit: type: string example: µL description: 'Valid units of measurement are: - For ''volume'': ''nL'', ''µL'', ''mL'', ''L'' - For ''weight'': ''ng'', ''µg'', ''mg'', ''g'', ''Kg''' stocks_list: type: array description: List of stock IDs from which to draw items: type: integer example: - 1291 - 1293 pooled_stock_info: type: object description: "Contains all the necessary stock fields for creating a\ \ stock during the pooling event.\n This object\ \ may include all the relevant stock properties." required: - name - stockable_type - stockable_id - storage_type - storage_id properties: stockable_type: type: string description: "Identifies the class name of the stock item, such\ \ as 'Biocollections::Bacterium'.\n This\ \ indicates the category of the entity and must match valid system-defined\ \ class names." example: Biocollections::Bacterium stockable_id: type: integer storage_type: type: string description: Specifies the storage classification, such as 'System::Storage::Storage', indicating the type of storage facility used for the item. example: System::Storage::Storage storage_id: type: integer name: type: string FlagBaseRequest: type: object required: - token properties: token: type: string example: YOUR TOKEN IS HERE item: type: object properties: title: type: string description: Specifies the name of the flag icon: type: string description: The icon of the flag enum: - star - bolt - thumbs-up - thumbs-down - question - exclamation - bell - bell-slash - fire - sun example: star color: type: string description: The color of the flag enum: - green-light - green - green-dark - red-light - red - red-dark - blue-light - blue - blue-dark - orange-light - orange - orange-dark - grey-light - grey - grey-dark example: green description: type: string description: General description of the flag createFlag: allOf: - $ref: '#/components/schemas/FlagBaseRequest' - type: object properties: item: type: object required: - title updateFlag: allOf: - $ref: '#/components/schemas/FlagBaseRequest' InvalidRequestError: type: object properties: error_message: type: string type: type: string example: invalid_request_error UnprocessableEntity: type: object properties: error_message: type: string type: type: string example: invalid_request_error InternalServerError: type: object properties: error_message: type: string type: type: string Unauthorized: type: object properties: message: type: string example: You are not authorized to perform this action OK: type: object properties: message: type: string type: type: string example: Created NotFound: type: object properties: error: type: string example: Resource not found