Benchling Registry API

Register/unregister entities and browse registry schemas and dropdowns.

Operations 5

GET /registries List registries #
GET /registries/{registry_id} Get a registry #
GET /registries/{registry_id}/entity-schemas List entity schemas for a registry #
POST /registries/{registry_id}:bulk-register-entities Bulk-register entities into a registry #
POST /registries/{registry_id}:unregister-entities Unregister entities from a registry #

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 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

benchling-lims-registry-api-openapi.yml Raw ↑
openapi: 3.2.0
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.
    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.
    Unauthorized:
      description: Authentication credentials were missing or invalid.
  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: {}