Cenevo Experiments API

The Experiments API from Cenevo — 6 operation(s) for experiments.

Operations 10

POST /api/v1/experiments Add an experiment
GET /api/v1/experiments List all experiments in your account
PUT /api/v1/experiments/{id} Update an experiment
GET /api/v1/experiments/{id} Get experiment by id
DELETE /api/v1/experiments/{id} Delete experiment
GET /api/v1/experiments/{id}/elements List all elements of an experiment
POST /api/v1/experiments/{id}/set_flag_as Add flag to an experiment
POST /api/v2/experiments/copy_section Copy section to an experiment
POST /api/v2/experiments Create a new custom experiment
GET /api/v2/experiments List all experiments in your account

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cenevo-experiments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

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

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

OpenAPI Specification

cenevo-experiments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Labguru Antibodies Experiments API
  description: "Labguru API is a JSON / REST based API, get started by reviewing the documentation below or code samples.<br>\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.<br>\n        ***[API introduction and overview](https://help.labguru.com/en/articles/6149483-api-introduction-and-overview)***"
  version: v1
servers:
- url: https://my.labguru.com/api/v1
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Experiments
paths:
  /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
    delete:
      summary: Delete experiment
      tags:
      - Experiments
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: experiment id
        schema:
          type: integer
      responses:
        '204':
          description: no content
        '404':
          description: 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/v2/experiments/copy_section:
    post:
      summary: Copy section to an experiment
      tags:
      - Experiments
      description: 'This endpoint copies a section to an experiment.


        Sections can be copied only from experiments or protocols.

        '
      parameters: []
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                type: object
                description: Successfully copied the sections.
                properties:
                  ids:
                    type: array
                    items:
                      type: integer
                    description: A list of IDs representing the section IDs of the newly copied sections within the target experiment
                    example:
                    - 1683
                    - 1684
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Sections can be copied only from experiments or protocols
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - token
              properties:
                token:
                  type: string
                  example: YOUR TOKEN IS HERE
                item:
                  type: object
                  required:
                  - item_id
                  - section_id
                  properties:
                    item_id:
                      type: integer
                      description: The ID of the experiment where the section will be copied to
                    section_id:
                      type: array
                      items:
                        type: integer
                      description: A list of section IDs from the source entity that are to be copied
                      example:
                      - 1671
                      - 1676
        required: true
  /api/v2/experiments:
    post:
      summary: Create a new custom experiment
      tags:
      - Experiments
      description: 'This endpoint creates a new experiment within a specified project,

        including dynamically adding sections and elements to the experiment.


        You can specify an existing folder by its ID or create a new one by providing a folder name.


        **Note:**

        - Use `milestone_id` to place the experiment in an existing folder.


        - Provide `milestone_name` to create a new folder for this experiment.


        Ensure only one of these options is used per request.

        '
      parameters: []
      responses:
        '201':
          description: OK
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: 'Validation failed: Title cannot be blank'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateExperimentExistingFolder'
              - $ref: '#/components/schemas/CreateExperimentNewFolder'
        required: true
    get:
      summary: List all experiments in your account
      tags:
      - Experiments
      description: 'List all experiments.

        '
      parameters:
      - name: token
        in: query
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: "Specifies the page number to retrieve.\n        Defaults to 1 if not provided."
        schema:
          type: integer
      - name: page_size
        in: query
        description: "Defines the number of items to be returned per page.\n                If not specified, a default value defined by the system will be used."
        schema:
          type: integer
      - name: to_sign
        in: query
        description: "Retrieve experiments that require the user's signature.\n                Filters items to only those where the user is expected to sign and that are currently pending a signature."
        schema:
          type: boolean
      - name: to_witness
        in: query
        description: "Retrieve experiments that are waiting to be witnessed.\n                Filters items to only those with a pending witness signature for the current user."
        schema:
          type: boolean
      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.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
components:
  schemas:
    CreateExperimentExistingFolder:
      allOf:
      - $ref: '#/components/schemas/createExperimentBaseRequest'
      - type: object
        properties:
          item:
            type: object
            properties:
              milestone_id:
                type: integer
                description: "The ID of the existing milestone (folder) that will contain the experiment.\n                            Required if milestone name is not provided."
            required:
            - milestone_id
    NotFound:
      type: object
      properties:
        error:
          type: string
          example: Resource not found
    addExperiment:
      allOf:
      - $ref: '#/components/schemas/ExperimentBaseRequest'
      - type: object
        properties:
          item:
            type: object
            required:
            - title
            - project_id
            - milestone_id
    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 '
    Unauthorized:
      type: object
      properties:
        message:
          type: string
          example: You are not authorized to perform this action
    CreateExperimentNewFolder:
      allOf:
      - $ref: '#/components/schemas/createExperimentBaseRequest'
      - type: object
        properties:
          item:
            type: object
            properties:
              milestone_name:
                type: string
                description: "The name of a new milestone (folder) to be created for the experiment.\n                        Required if milestone_id is not provided."
            required:
            - milestone_name
    updateExperiment:
      allOf:
      - $ref: '#/components/schemas/ExperimentBaseRequest'
    createExperimentBaseRequest:
      type: object
      required:
      - token
      properties:
        token:
          type: string
          example: YOUR TOKEN IS HERE
        item:
          type: object
          required:
          - title
          - project_id
          - sections
          properties:
            title:
              type: string
              description: The title of the experiment.
            project_id:
              type: integer
              description: The ID of the project that will contain the experiment
            sections:
              type: array
              description: A list of sections to be added, each with its own set of elements
              items:
                type: object
                properties:
                  title:
                    type: string
                    description: The title of the section.
                    example: My Custom Section
                  elements:
                    type: array
                    description: An array of elements within the section, each containing type-specific data.
                    items:
                      type: object
                      properties:
                        element_type:
                          type: string
                          description: 'The type of element. Valid element types include:

                            - samples

                            - equipment

                            - code

                            - compound

                            - reaction

                            - text

                            - steps

                            - excel

                            - plate

                            '
                          example: text
                        data:
                          type: string
                          description: The content or data of the element.
                          example: This is a sample text data
                required:
                - title