Benchling · Schema

Request

Life SciencesBiotechnologyR&DMolecular BiologyLaboratory Information ManagementElectronic Lab NotebookAssay ManagementInventorySequence ManagementExperiment WorkflowsRESTWebhook

Properties

Name Type Description
apiURL string The canonical url of the Legacy Request in the API.
assignees array Array of assignees
createdAt string Date and time the Legacy Request was created
creator object
displayId string User-friendly ID of the Legacy Request
fields object
id string Unique ID for the Legacy Request
projectId string The ID of the project to which the Legacy Request belongs.
requestStatus object
requestor object
sampleGroups array
scheduledOn stringnull Date the Legacy Request is scheduled to be executed on, in YYYY-MM-DD format.
schema object
tasks array
webURL string URL of the Legacy Request
View JSON Schema on GitHub

JSON Schema

benchling-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-request-schema.json",
  "title": "Request",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/benchling-legacy-requests-api-openapi.yml#/components/schemas/Request",
  "allOf": [
    {
      "$ref": "#/$defs/RequestBase"
    },
    {
      "properties": {
        "apiURL": {
          "description": "The canonical url of the Legacy Request in the API.",
          "format": "uri",
          "readOnly": true,
          "type": "string"
        },
        "assignees": {
          "description": "Array of assignees",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/RequestUserAssignee"
              },
              {
                "$ref": "#/$defs/RequestTeamAssignee"
              }
            ]
          },
          "readOnly": true,
          "type": "array"
        },
        "createdAt": {
          "description": "Date and time the Legacy Request was created",
          "format": "isoformat",
          "readOnly": true,
          "type": "string"
        },
        "creator": {
          "allOf": [
            {
              "$ref": "#/$defs/UserSummary"
            },
            {
              "description": "UserSummary of the user who created the Legacy Request"
            },
            {
              "readOnly": true
            }
          ]
        },
        "displayId": {
          "description": "User-friendly ID of the Legacy Request",
          "readOnly": true,
          "type": "string"
        },
        "fields": {
          "$ref": "#/$defs/Fields"
        },
        "id": {
          "description": "Unique ID for the Legacy Request",
          "readOnly": true,
          "type": "string"
        },
        "projectId": {
          "description": "The ID of the project to which the Legacy Request belongs.",
          "type": "string"
        },
        "requestStatus": {
          "$ref": "#/$defs/RequestStatus"
        },
        "requestor": {
          "allOf": [
            {
              "$ref": "#/$defs/UserSummary"
            },
            {
              "description": "UserSummary of the user making the Legacy Request"
            },
            {
              "readOnly": true
            }
          ]
        },
        "sampleGroups": {
          "items": {
            "$ref": "#/$defs/RequestSampleGroup"
          },
          "type": "array"
        },
        "scheduledOn": {
          "description": "Date the Legacy Request is scheduled to be executed on, in YYYY-MM-DD format.",
          "format": "date",
          "type": [
            "string",
            "null"
          ]
        },
        "schema": {
          "allOf": [
            {
              "$ref": "#/$defs/SchemaSummary"
            },
            {
              "description": "SchemaSummary for the Legacy Request",
              "readOnly": true
            }
          ],
          "title": "SchemaProperty"
        },
        "tasks": {
          "items": {
            "$ref": "#/$defs/RequestTask"
          },
          "type": "array"
        },
        "webURL": {
          "description": "URL of the Legacy Request",
          "format": "uri",
          "readOnly": true,
          "type": "string"
        }
      }
    }
  ],
  "$defs": {
    "Field": {
      "properties": {
        "displayValue": {
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        },
        "isMulti": {
          "readOnly": true,
          "type": "boolean"
        },
        "textValue": {
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "allOf": [
            {
              "$ref": "#/$defs/FieldType"
            }
          ],
          "readOnly": true
        },
        "value": {
          "description": "For single link fields, use the id of the item you want to link (eg. \"seq_jdf8BV24\").\nFor multi-link fields, use an array of ids of the items you want to link (eg. [\"seq_jdf8BV24\"])\n",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "boolean"
            },
            {
              "type": "number"
            },
            {
              "type": "object"
            },
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "type": "object"
    },
    "FieldType": {
      "enum": [
        "dna_sequence_link",
        "aa_sequence_link",
        "custom_entity_link",
        "entity_link",
        "mixture_link",
        "molecule_link",
        "dropdown",
        "part_link",
        "translation_link",
        "aa_part_link",
        "base_molecule_link",
        "blob_link",
        "text",
        "long_text",
        "batch_link",
        "storage_link",
        "entry_link",
        "assay_request_link",
        "assay_result_link",
        "assay_run_link",
        "boolean",
        "float",
        "integer",
        "datetime",
        "date",
        "json"
      ],
      "type": "string"
    },
    "Fields": {
      "additionalProperties": {
        "$ref": "#/$defs/Field"
      },
      "type": "object"
    },
    "PartySummary": {
      "properties": {
        "handle": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "RequestBase": {
      "description": "A Legacy Request is an ask to perform a service, e.g. produce a sample or perform assays on a sample. Requests are usually placed to another team or individual who specializes in performing the service.",
      "type": "object"
    },
    "RequestSampleGroup": {
      "properties": {
        "id": {
          "type": "string"
        },
        "samples": {
          "$ref": "#/$defs/RequestSampleGroupSamples"
        }
      },
      "type": "object"
    },
    "RequestSampleGroupSamples": {
      "additionalProperties": {
        "oneOf": [
          {
            "$ref": "#/$defs/RequestSampleWithEntity"
          },
          {
            "$ref": "#/$defs/RequestSampleWithBatch"
          }
        ]
      },
      "description": "The key for each (Legacy) RequestSample should match one of the samplesSchema[n].name property in the request schema json.\n",
      "type": "object"
    },
    "RequestSampleWithBatch": {
      "properties": {
        "batchId": {
          "type": "string"
        },
        "containerId": {
          "type": "string"
        }
      },
      "required": [
        "batchId"
      ],
      "type": "object"
    },
    "RequestSampleWithEntity": {
      "properties": {
        "containerId": {
          "type": "string"
        },
        "entityId": {
          "type": "string"
        }
      },
      "required": [
        "entityId"
      ],
      "type": "object"
    },
    "RequestStatus": {
      "enum": [
        "REQUESTED",
        "SCHEDULED",
        "IN_PROGRESS",
        "COMPLETED",
        "CANCELLED"
      ],
      "type": "string"
    },
    "RequestTask": {
      "allOf": [
        {
          "$ref": "#/$defs/RequestTaskBase"
        }
      ],
      "description": "A request task.\n",
      "properties": {
        "schema": {
          "allOf": [
            {
              "$ref": "#/$defs/SchemaSummary"
            }
          ],
          "title": "SchemaProperty"
        }
      },
      "type": "object"
    },
    "RequestTaskBase": {
      "allOf": [
        {
          "$ref": "#/$defs/RequestTaskBaseFields"
        }
      ],
      "description": "A request task.\n",
      "properties": {
        "id": {
          "description": "ID of the Legacy Request Task",
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "type": "object"
    },
    "RequestTaskBaseFields": {
      "description": "Shared fields for Legacy Request Tasks and related endpoints.\n",
      "properties": {
        "fields": {
          "allOf": [
            {
              "$ref": "#/$defs/Fields"
            }
          ],
          "description": "Schema fields to set on the request task.\nEvery field should have its name as a key, mapping to an object with information about the value of the field.\n"
        },
        "sampleGroupIds": {
          "description": "IDs of all Legacy Request Sample Groups now associated with this task.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RequestTeamAssignee": {
      "properties": {
        "team": {
          "$ref": "#/$defs/TeamSummary"
        }
      },
      "type": "object"
    },
    "RequestUserAssignee": {
      "properties": {
        "user": {
          "$ref": "#/$defs/UserSummary"
        }
      },
      "type": "object"
    },
    "SchemaSummary": {
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "TeamSummary": {
      "allOf": [
        {
          "type": "object"
        },
        {
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        {}
      ]
    },
    "UserSummary": {
      "allOf": [
        {
          "$ref": "#/$defs/PartySummary"
        },
        {}
      ]
    }
  }
}

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for schemas

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

Call it yourself

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

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.