Benchling Registry API

Register/unregister entities and browse registry schemas and dropdowns.

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/benchling-lims-registry-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 email required.

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

OpenAPI Specification

benchling-lims-registry-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Benchling AA Sequences Registry API
  description: 'Curated OpenAPI for the Benchling life-sciences R&D cloud (LIMS + ELN + registry + inventory + workflows). Benchling exposes a tenant-scoped REST API at https://{tenant}.benchling.com/api/v2 covering the same objects scientists work with in the UI: DNA/RNA/protein sequences, custom entities and the registry, sample inventory, notebook entries, assay results and runs, lab automation, workflow tasks, requests, plus an events stream and Benchling Apps/webhooks.


    Every path and method in this document is grounded in Benchling''s own published OpenAPI specification (benchling.com/api/v2/openapi.yaml). This is a curated, representative subset of the full ~325-path Benchling spec - the core CRUD, bulk, and action endpoints per resource - not the exhaustive spec. For the authoritative, complete, always-current definition, fetch Benchling''s published spec.


    Authentication: personal user API keys use HTTP Basic (Authorization: Basic {api_key}); Benchling Apps use OAuth2 client credentials (POST /api/v2/token -> Bearer {access_token}). OIDC is available to act as a specific user with their permissions. Note the {tenant} placeholder in the server URL must be replaced with your Benchling tenant subdomain.'
  version: 2.0.0
  contact:
    name: Benchling Developer Platform
    url: https://docs.benchling.com/docs/developer-platform-overview
  termsOfService: https://www.benchling.com/terms
servers:
- url: https://{tenant}.benchling.com/api/v2
  description: Tenant-scoped Benchling API. Replace {tenant} with your subdomain.
  variables:
    tenant:
      default: your-tenant
      description: Your Benchling tenant subdomain (e.g. acme for acme.benchling.com).
security:
- basicAuth: []
- appBearerAuth: []
tags:
- name: Registry
  description: Register/unregister entities and browse registry schemas and dropdowns.
paths:
  /registries:
    get:
      operationId: listRegistries
      tags:
      - Registry
      summary: List registries
      responses:
        '200':
          description: A list of registries.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /registries/{registry_id}:
    get:
      operationId: getRegistry
      tags:
      - Registry
      summary: Get a registry
      parameters:
      - $ref: '#/components/parameters/RegistryId'
      responses:
        '200':
          description: A registry.
        '404':
          $ref: '#/components/responses/NotFound'
  /registries/{registry_id}/entity-schemas:
    get:
      operationId: listEntitySchemasForRegistry
      tags:
      - Registry
      summary: List entity schemas for a registry
      parameters:
      - $ref: '#/components/parameters/RegistryId'
      responses:
        '200':
          description: A list of entity schemas.
  /registries/{registry_id}:bulk-register-entities:
    post:
      operationId: bulkRegisterEntities
      tags:
      - Registry
      summary: Bulk-register entities into a registry
      parameters:
      - $ref: '#/components/parameters/RegistryId'
      responses:
        '202':
          description: A registration task was started.
  /registries/{registry_id}:unregister-entities:
    post:
      operationId: unregisterEntities
      tags:
      - Registry
      summary: Unregister entities from a registry
      parameters:
      - $ref: '#/components/parameters/RegistryId'
      responses:
        '200':
          description: Entities were unregistered.
components:
  responses:
    NotFound:
      description: The requested resource was not found.
    Unauthorized:
      description: Authentication credentials were missing or invalid.
    TooManyRequests:
      description: Rate limit exceeded. Benchling returns 429 with x-rate-limit-limit, x-rate-limit-remaining, and x-rate-limit-reset headers. Back off with exponential backoff and jitter; requests are not auto-retried.
  parameters:
    RegistryId:
      name: registry_id
      in: path
      required: true
      schema:
        type: string
      description: The API identifier of the registry.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'Personal user API key sent as HTTP Basic auth (Authorization: Basic {api_key}). Generate a key on your Benchling user settings page.'
    appBearerAuth:
      type: oauth2
      description: Benchling Apps authenticate with OAuth2 client credentials. Exchange client_id/client_secret at POST /api/v2/token for a Bearer access_token.
      flows:
        clientCredentials:
          tokenUrl: https://{tenant}.benchling.com/api/v2/token
          scopes: {}