> This page is for Developer Documentation.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.benchling.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.benchling.com/_mcp/server.

# Search across Benchling objects

POST https://{tenant_name}.benchling.com/api/v3/search
Content-Type: application/json

Search across Benchling objects that the caller has permission to view. Results can span multiple object types, and each hit includes the object's V3 representation in `source`.
## Consistency
Search result matching is eventually consistent: queries and filters are evaluated against an asynchronously updated search index, so recent changes may not immediately affect which objects match.
After identifying matches from the index, the endpoint loads their current V3 representations into `source`. This provides up-to-date object details, although recently changed fields may differ from the indexed values used for matching. Objects that have since been deleted or become inaccessible because of permission changes are omitted.

Reference: https://docs.benchling.com/docs/api/benchling-api/search/search-synccustom

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Headers

- `EARLY-ACCESS` (string, optional) — Set to true to access beta operations via /api/v3.

### Body (application/json)

This endpoint expects an object.

- `filters` (SearchSearchSyncCustomRequestFilters, optional) — Structured filters applied to narrow the matching result set. Field names match the query parameters on per-entity List endpoints, and each field maps to an object of operators. Each standard filter key's description lists the objectTypes that support it. The special `schemaFields` key filters by schema-defined field values, see the field's description for more information. All filters are implicitly ANDed together. Archived objects are excluded unless an `archived` filter is provided.
- `nextToken` (string, optional) — Opaque pagination token returned by the previous response. Use it with otherwise identical request parameters.
- `objectTypes` (list of enum, optional) — Restrict results to one or more object types, using PascalCase names. The object types listed for this field are supported by the endpoint, but some may not be available to your Benchling tenant. If omitted or empty, the search includes every available object type compatible with all provided filters. A `schemaFields` filter restricts the search to the object type associated with the fields' schema. The request is rejected with a 400 if no searchable type supports the complete filter combination. When a non-empty list is provided, every requested type must be compatible with every provided filter; otherwise the request is rejected with a 400. When `schemaFields` is provided, only the object type associated with the fields' schema can be requested. If `objectTypes` includes a supported type that is not available to your Benchling tenant, the request is rejected with a 400. Whether explicitly provided or automatically determined, the set of types that were searched is returned in the `searchedObjectTypes` field of the response.
  - Allowed values: `AaSequence`, `Analysis`, `AppInstallation`, `AppSession`, `Assembly`, `AutomationTemplate`, `Box`, `Container`, `CustomEntity`, `Dataset`, `DnaOligo`, `DnaSequence`, `Entry`, `EntrySubtemplate`, `EntryTemplate`, `FeatureLibrary`, `File`, `Folder`, `LegacyAppInstallation`, `Location`, `MatrixPlate`, `Mixture`, `Molecule`, `NucleotideAlignment`, `OligoConjugate`, `OligoDuplex`, `Organization`, `PlateDesignTemplate`, `PlateRecord`, `PredictionBatch`, `PredictionJob`, `Procedure`, `Project`, `Protein`, `Reaction`, `RequestV2Definition`, `RequestV2Submission`, `RnaOligo`, `RnaSequence`, `Run`, `SqlDashboard`, `StageEntry`, `Study`, `Team`, `TemplateCollection`, `TestDefinition`, `TestOrder`, `User`, `WellPlate`, `WorkflowOutput`, `WorkflowTask`, `WorkflowTaskGroup`, `Worklist`, `Worksheet`
- `omit` (list of string, optional) — Top-level fields to omit from each hit's `source`. Use the same public field names as V3 Get/List responses. Cannot overlap with `returning`. Because search results can span multiple object types, a field is accepted if it exists on at least one searched type. Omitting a field that does not exist on a given hit's type has no effect on that hit.
- `pageSize` (integer, optional, default: 50) — Number of results per page. Defaults to 50, max 100.
- `query` (string, optional) — Free-text query matched against indexed object names, schema and custom field values, and searchable textual content. Extracted attachment text is included where supported and available. Searchable content varies by object type, and not every field returned in `source` is searchable. All whitespace-separated terms must match. Enclose multiple words in double quotes to search for them as a phrase. Boolean operators, wildcards, and field-qualified terms are not supported. If omitted, returns all accessible items matching the provided filters.
- `returning` (list of string, optional) — Top-level fields to include in each hit's `source`. Use the same public field names as V3 Get/List responses. Cannot overlap with `omit`. Because search results can span multiple object types, a field is accepted if it exists on at least one searched type. Each hit only includes the selected fields that exist on its own type; selected fields that belong only to other searched types are absent from that hit's `source`. `id` and `__typename` are always included, matching V3 List/Get.
- `sort` (enum, optional) — Sort order for results, in `field:direction` format (same as V3 List endpoint sort params). When omitted, defaults to most-relevant-first if `query` is non-empty, otherwise `modifiedAt:desc`. Providing `sort` overrides relevance ordering. Results missing the sort field sort last in both directions (for example, a notebook entry when sorting by `barcode`).
  - Allowed values: `barcode:asc`, `barcode:desc`, `createdAt:asc`, `createdAt:desc`, `modifiedAt:asc`, `modifiedAt:desc`, `name:asc`, `name:desc`

## Response

### 200

OK

- `hits` (list of SearchSearchSyncCustomResponseHitsItem, required) — Matching items in the requested or default order.
- `metadata` (SearchSearchSyncCustomResponseMetadata, required)
- `nextToken` (string, required) — Opaque cursor for fetching the next page. Empty string when there are no more results.

## Errors

### 400 Search Search Sync Custom Request Bad Request Error

Bad Request

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 403 Search Search Sync Custom Request Forbidden Error

Forbidden

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 429 Search Search Sync Custom Request Too Many Requests Error

Too Many Requests

- `detail` (TooManyRequestsErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)
- `violated-policies` (list of enum, optional) — The budget policies that rejected the request, in canonical order: `user`, `integration`, then `tenant`.
  - Allowed values: `user`, `integration`, `tenant`

### 500 Search Search Sync Custom Request Internal Server Error

Internal Server Error

- `detail` (InternalServerErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `errorId` (string, optional)

## Types

### SearchSearchSyncCustomRequestFilters

Structured filters applied to narrow the matching result set. Field names match the query parameters on per-entity List endpoints, and each field maps to an object of operators. Each standard filter key's description lists the objectTypes that support it. The special `schemaFields` key filters by schema-defined field values, see the field's description for more information. All filters are implicitly ANDed together. Archived objects are excluded unless an `archived` filter is provided.

- `adminOf` (SearchSearchSyncCustomRequestFiltersAdminOf, optional) — Supported objectTypes: User.
- `aminoAcids` (SearchSearchSyncCustomRequestFiltersAminoAcids, optional) — Supported objectTypes: AaSequence.
- `ancestorStorable` (SearchSearchSyncCustomRequestFiltersAncestorStorable, optional) — Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.
- `archived` (SearchSearchSyncCustomRequestFiltersArchived, optional) — Supported objectTypes: AaSequence, Analysis, AppInstallation, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, OligoConjugate, OligoDuplex, PlateDesignTemplate, PredictionBatch, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, StageEntry, Study, TemplateCollection, TestDefinition, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worksheet.
- `authors` (SearchSearchSyncCustomRequestFiltersAuthors, optional) — Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Entry, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, StageEntry.
- `barcode` (SearchSearchSyncCustomRequestFiltersBarcode, optional) — Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.
- `bases` (SearchSearchSyncCustomRequestFiltersBases, optional) — Supported objectTypes: DnaOligo, DnaSequence, RnaOligo, RnaSequence.
- `checkoutStatus` (SearchSearchSyncCustomRequestFiltersCheckoutStatus, optional) — Supported objectTypes: Container.
- `createdAt` (SearchSearchSyncCustomRequestFiltersCreatedAt, optional) — Supported objectTypes: AaSequence, Analysis, AppInstallation, AppSession, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, PlateDesignTemplate, PlateRecord, PredictionBatch, PredictionJob, Procedure, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.
- `creator` (SearchSearchSyncCustomRequestFiltersCreator, optional) — Supported objectTypes: AaSequence, AppInstallation, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, File, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, OligoConjugate, OligoDuplex, PredictionBatch, Procedure, Protein, Reaction, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, TestDefinition, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worksheet.
- `displayId` (SearchSearchSyncCustomRequestFiltersDisplayId, optional) — Supported objectTypes: Dataset, Entry, File, RequestV2Submission, StageEntry, Study, WorkflowOutput, WorkflowTask, WorkflowTaskGroup.
- `email` (SearchSearchSyncCustomRequestFiltersEmail, optional) — Supported objectTypes: User.
- `entityRegistryIds` (SearchSearchSyncCustomRequestFiltersEntityRegistryIds, optional) — Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
- `executionEntry` (SearchSearchSyncCustomRequestFiltersExecutionEntry, optional) — Supported objectTypes: WorkflowTask.
- `executionType` (SearchSearchSyncCustomRequestFiltersExecutionType, optional) — Supported objectTypes: WorkflowTask, WorkflowTaskGroup.
- `fieldset` (SearchSearchSyncCustomRequestFiltersFieldset, optional) — Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
- `folder` (SearchSearchSyncCustomRequestFiltersFolder, optional) — Supported objectTypes: AaSequence, CustomEntity, Dataset, DnaOligo, DnaSequence, File, Mixture, Molecule, Protein, RnaOligo, RnaSequence, WorkflowTaskGroup.
- `id` (SearchSearchSyncCustomRequestFiltersId, optional) — Supported objectTypes: AaSequence, Analysis, AppInstallation, AppSession, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, Organization, PlateDesignTemplate, PlateRecord, PredictionBatch, PredictionJob, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, User, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.
- `memberOf` (SearchSearchSyncCustomRequestFiltersMemberOf, optional) — Supported objectTypes: User.
- `mentionedIn` (SearchSearchSyncCustomRequestFiltersMentionedIn, optional) — Supported objectTypes: AaSequence, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, File, Location, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, StageEntry, WorkflowTaskGroup.
- `mentions` (SearchSearchSyncCustomRequestFiltersMentions, optional) — Supported objectTypes: AaSequence, Entry.
- `modifiedAt` (SearchSearchSyncCustomRequestFiltersModifiedAt, optional) — Supported objectTypes: AaSequence, Analysis, AppInstallation, AppSession, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, Organization, PlateDesignTemplate, PlateRecord, PredictionBatch, PredictionJob, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, User, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.
- `name` (SearchSearchSyncCustomRequestFiltersName, optional) — Supported objectTypes: AaSequence, Analysis, AppInstallation, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, Organization, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, User, WellPlate, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.
- `owner` (SearchSearchSyncCustomRequestFiltersOwner, optional) — Supported objectTypes: TemplateCollection.
- `parent` (SearchSearchSyncCustomRequestFiltersParent, optional) — Supported objectTypes: Folder.
- `parentStorage` (SearchSearchSyncCustomRequestFiltersParentStorage, optional) — Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.
- `project` (SearchSearchSyncCustomRequestFiltersProject, optional) — Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Entry, Folder, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, WorkflowTaskGroup.
- `registry` (SearchSearchSyncCustomRequestFiltersRegistry, optional) — Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
- `schema` (SearchSearchSyncCustomRequestFiltersSchema, optional) — Supported objectTypes: AaSequence, Box, Container, CustomEntity, DnaOligo, DnaSequence, Entry, Location, MatrixPlate, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, Run, StageEntry, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup.
- `schemaFields` (map from string to SearchSearchSyncCustomRequestFiltersSchemaFieldsValue, optional) — Filter by schema-defined field values. Keys are schema field API IDs (`tsf_...`), and values are objects mapping operators to operands. The supported operators and operand types depend on the schema field's type. Multiple operators on the same field are implicitly ANDed. Find schema field IDs in the owning schema's `fieldDefinitions`. All field IDs in one request must belong to the same schema, and that schema must map to a searchable object type. If `objectTypes` is omitted, the search is automatically restricted to that object type. If `objectTypes` is provided, requesting any other type returns a 400. Invalid or inaccessible field IDs also return a 400.
- `sequenceIds` (SearchSearchSyncCustomRequestFiltersSequenceIds, optional) — Supported objectTypes: NucleotideAlignment.
- `storageContents` (SearchSearchSyncCustomRequestFiltersStorageContents, optional) — Supported objectTypes: Box, Container, MatrixPlate, WellPlate.
- `systemCategory` (SearchSearchSyncCustomRequestFiltersSystemCategory, optional) — Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
- `username` (SearchSearchSyncCustomRequestFiltersUsername, optional) — Supported objectTypes: User.

### SearchSearchSyncCustomResponseHitsItem

- `apiUrl` (string, required) — Absolute URL of the V3 Get endpoint for this item, e.g. `https://{tenant}.benchling.com/api/v3/aa-sequence/prtn_Xk9mP2vQ`.
- `id` (string, required) — ID of the matched item. Same format as the id field on the corresponding V3 entity (e.g. seq_Xk9mP2vQ, mol_Rv3nT8wL).
- `objectType` (string, required) — Type of the matched object (e.g. AaSequence, Entry).
- `source` (SearchSearchSyncCustomResponseHitsItemSource, required) — Current V3 representation of the matched entity. By default this has the same shape as the corresponding V3 Get response. When `returning` or `omit` is provided, only the selected top-level fields for this hit's object type are included, plus `id` and `__typename`. The exact set of fields varies by object type and API version.

### SearchSearchSyncCustomResponseMetadata

- `queryId` (string, required) — Unique identifier for this search request. Include it when contacting Benchling Support about a search.
- `searchedObjectTypes` (list of string, required) — The set of types that were searched, whether explicitly provided in `objectTypes` or automatically determined based on the requested filters and the object types available to your Benchling tenant.
- `totalHits` (SearchSearchSyncCustomResponseMetadataTotalHits, optional) — Total number of hits matching the query and filters. Returned only on the first page and omitted from responses to requests with a pagination `nextToken`.

### GeneralErrorDetail

### TooManyRequestsErrorBodyDetail

### InternalServerErrorBodyDetail

### SearchSearchSyncCustomRequestFiltersAdminOf

Supported objectTypes: User.

- `allOf` (list of string, optional) — Restricts results to administrators of all specified organization and team IDs.

### SearchSearchSyncCustomRequestFiltersAminoAcids

Supported objectTypes: AaSequence.

- `anyOf` (list of string, optional) — Restricts results to those whose sequence exactly matches any of the specified amino acid sequences (case-insensitive).

### SearchSearchSyncCustomRequestFiltersAncestorStorable

Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.

- `eq` (string, optional) — Restricts results to descendants of the specified storable ID.

### SearchSearchSyncCustomRequestFiltersArchived

Supported objectTypes: AaSequence, Analysis, AppInstallation, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, OligoConjugate, OligoDuplex, PlateDesignTemplate, PredictionBatch, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, StageEntry, Study, TemplateCollection, TestDefinition, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worksheet.

- `anyOf` (list of boolean, optional) — If true, returns archived items. If false, returns unarchived items. If both true and false, returns archived and unarchived items.

### SearchSearchSyncCustomRequestFiltersAuthors

Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Entry, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, StageEntry.

- `anyOf` (list of string, optional) — Restricts results to those whose author matches any of the specified user or author IDs.

### SearchSearchSyncCustomRequestFiltersBarcode

Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.

- `anyOf` (list of string, optional) — Restricts results to those matching any of the specified barcodes. Fails and reports any invalid barcodes.

### SearchSearchSyncCustomRequestFiltersBases

Supported objectTypes: DnaOligo, DnaSequence, RnaOligo, RnaSequence.

- `anyOf` (list of string, optional) — Restricts results to those whose sequence exactly matches any of the specified DNA base sequences (case-insensitive, accounting for circular and reverse complement).

### SearchSearchSyncCustomRequestFiltersCheckoutStatus

Supported objectTypes: Container.

- `anyOf` (list of enum, optional) — Restricts results to containers with any of the specified checkout statuses: AVAILABLE, RESERVED, or CHECKED_OUT.
  - Allowed values: `AVAILABLE`, `RESERVED`, `CHECKED_OUT`

### SearchSearchSyncCustomRequestFiltersCreatedAt

Supported objectTypes: AaSequence, Analysis, AppInstallation, AppSession, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, PlateDesignTemplate, PlateRecord, PredictionBatch, PredictionJob, Procedure, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.

- `gt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created after the specified time. e.g. > 2017-04-30.
- `gte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or after the specified time. e.g. >= 2017-04-30.
- `lt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created before the specified time. e.g. \< 2017-04-30.
- `lte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or before the specified time. e.g. \<= 2017-04-30.

### SearchSearchSyncCustomRequestFiltersCreator

Supported objectTypes: AaSequence, AppInstallation, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, File, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, OligoConjugate, OligoDuplex, PredictionBatch, Procedure, Protein, Reaction, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, TestDefinition, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worksheet.

- `anyOf` (list of string, optional) — Restricts results to those created by any of the specified user IDs.

### SearchSearchSyncCustomRequestFiltersDisplayId

Supported objectTypes: Dataset, Entry, File, RequestV2Submission, StageEntry, Study, WorkflowOutput, WorkflowTask, WorkflowTaskGroup.

- `anyOf` (list of string, optional) — Restricts results to those matching any of the specified display IDs.

### SearchSearchSyncCustomRequestFiltersEmail

Supported objectTypes: User.

- `anyOf` (list of string, optional) — Restricts results to those matching any of the specified email addresses exactly. Case insensitive.

### SearchSearchSyncCustomRequestFiltersEntityRegistryIds

Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.

- `anyOf` (list of string, optional) — Restricts results to those that match any of the specified entity registry IDs.

### SearchSearchSyncCustomRequestFiltersExecutionEntry

Supported objectTypes: WorkflowTask.

- `anyOf` (list of string, optional) — Restricts results to workflow tasks executed in any of the specified entries.

### SearchSearchSyncCustomRequestFiltersExecutionType

Supported objectTypes: WorkflowTask, WorkflowTaskGroup.

- `anyOf` (list of enum, optional) — Restricts results to workflow tasks or task groups whose schema specifies any of the given execution types.
  - Allowed values: `DIRECT`, `ENTRY`, `FLOWCHART`

### SearchSearchSyncCustomRequestFiltersFieldset

Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.

- `anyOf` (list of string, optional) — Restricts results to those whose schema implements any of the specified fieldset API IDs (custom schema interfaces).

### SearchSearchSyncCustomRequestFiltersFolder

Supported objectTypes: AaSequence, CustomEntity, Dataset, DnaOligo, DnaSequence, File, Mixture, Molecule, Protein, RnaOligo, RnaSequence, WorkflowTaskGroup.

- `eq` (string, optional) — ID of a folder. Restricts results to its direct children.

### SearchSearchSyncCustomRequestFiltersId

Supported objectTypes: AaSequence, Analysis, AppInstallation, AppSession, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, Organization, PlateDesignTemplate, PlateRecord, PredictionBatch, PredictionJob, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, User, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.

- `anyOf` (list of string, optional) — Restricts results to those matching any of the specified IDs.

### SearchSearchSyncCustomRequestFiltersMemberOf

Supported objectTypes: User.

- `allOf` (list of string, optional) — Restricts results to members of all specified organization and team IDs.

### SearchSearchSyncCustomRequestFiltersMentionedIn

Supported objectTypes: AaSequence, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, File, Location, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, StageEntry, WorkflowTaskGroup.

- `anyOf` (list of string, optional) — Restricts results to items mentioned in entries matching any of the specified entry IDs.

### SearchSearchSyncCustomRequestFiltersMentions

Supported objectTypes: AaSequence, Entry.

- `anyOf` (list of string, optional) — Restricts results to items that mention any of the specified IDs.

### SearchSearchSyncCustomRequestFiltersModifiedAt

Supported objectTypes: AaSequence, Analysis, AppInstallation, AppSession, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, Organization, PlateDesignTemplate, PlateRecord, PredictionBatch, PredictionJob, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, Run, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, User, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.

- `gt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified after the specified time. e.g. > 2017-04-30.
- `gte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or after the specified time. e.g. >= 2017-04-30.
- `lt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified before the specified time. e.g. \< 2017-04-30.
- `lte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or before the specified time. e.g. \<= 2017-04-30.

### SearchSearchSyncCustomRequestFiltersName

Supported objectTypes: AaSequence, Analysis, AppInstallation, Assembly, AutomationTemplate, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, EntrySubtemplate, EntryTemplate, FeatureLibrary, File, Folder, LegacyAppInstallation, Location, MatrixPlate, Mixture, Molecule, NucleotideAlignment, OligoConjugate, OligoDuplex, Organization, Procedure, Project, Protein, Reaction, RequestV2Definition, RequestV2Submission, RnaOligo, RnaSequence, SqlDashboard, StageEntry, Study, Team, TemplateCollection, TestDefinition, TestOrder, User, WellPlate, WorkflowTask, WorkflowTaskGroup, Worklist, Worksheet.

- `anyOf` (list of string, optional) — Restricts results to those that match any of the specified names. Case insensitive by default. Ensure only one name filter is used at a time.
- `caseSensitive` (boolean, optional, default: false) — Whether name matching is case sensitive. Ensure only one name filter is used at a time.
- `includes` (list of string, optional) — Restricts results to those with names that contain any of the specified text. Case insensitive by default. Ensure only one name filter is used at a time.

### SearchSearchSyncCustomRequestFiltersOwner

Supported objectTypes: TemplateCollection.

- `anyOf` (list of string, optional) — Restricts results to those owned by any of the specified user or organization IDs.

### SearchSearchSyncCustomRequestFiltersParent

Supported objectTypes: Folder.

- `eq` (string, optional) — ID of a folder. Restricts results to its direct children.

### SearchSearchSyncCustomRequestFiltersParentStorage

Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.

- `eq` (string, optional) — ID of a location. Restricts results to those located in the specified inventory.

### SearchSearchSyncCustomRequestFiltersProject

Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Entry, Folder, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, WorkflowTaskGroup.

- `eq` (string, optional) — ID of a project. Restricts results to those in the project.

### SearchSearchSyncCustomRequestFiltersRegistry

Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.

- `eq` (string, optional) — ID of a registry. Restricts results to those registered in this registry. Specifying "null" returns unregistered items.

### SearchSearchSyncCustomRequestFiltersSchema

Supported objectTypes: AaSequence, Box, Container, CustomEntity, DnaOligo, DnaSequence, Entry, Location, MatrixPlate, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, Run, StageEntry, WellPlate, WorkflowOutput, WorkflowTask, WorkflowTaskGroup.

- `anyOf` (list of string, optional) — Restricts results to those that match any of the specified schema IDs. Use only one `schema` filter arg at a time.
- `eq` (string, optional) — Single schema ID. Restricts results to those that match the specified schema exactly. Use only one `schema` filter arg at a time.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValue

### SearchSearchSyncCustomRequestFiltersSequenceIds

Supported objectTypes: NucleotideAlignment.

- `anyOf` (list of string, optional) — Restricts results to Nucleotide Alignments owned by any of the specified sequence IDs (i.e. sequences used as the template in a Template Alignment or created as the consensus sequence from a Consensus Alignment). Fails and reports any invalid IDs.

### SearchSearchSyncCustomRequestFiltersStorageContents

Supported objectTypes: Box, Container, MatrixPlate, WellPlate.

- `anyOf` (list of string, optional) — Restricts results to storables containing any of the specified entities, or any entity of the specified entity schemas. Only schemas with a `containableType` of `ENTITY` and entities belonging to those schemas are supported. Specify either all entity IDs or all entity-schema IDs.

### SearchSearchSyncCustomRequestFiltersSystemCategory

Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.

- `anyOf` (list of string, optional) — Restricts results to those whose schema implements any of the specified system category API IDs (non-exclusive static schema interfaces).

### SearchSearchSyncCustomRequestFiltersUsername

Supported objectTypes: User.

- `anyOf` (list of string, optional) — Restricts results to those matching any of the specified usernames (handles) exactly. Case insensitive.

### SearchSearchSyncCustomResponseHitsItemSource

Current V3 representation of the matched entity. By default this has the same shape as the corresponding V3 Get response. When `returning` or `omit` is provided, only the selected top-level fields for this hit's object type are included, plus `id` and `__typename`. The exact set of fields varies by object type and API version.

- `__typename` (string, required)
- `id` (string, required)

### SearchSearchSyncCustomResponseMetadataTotalHits

Total number of hits matching the query and filters. Returned only on the first page and omitted from responses to requests with a pagination `nextToken`.

- `relation` (enum, required) — `eq` means the count is exact. `gte` means the count is a lower bound because exact counting was skipped for performance.
  - Allowed values: `eq`, `gte`
- `value` (integer, required) — Exact count or lower bound, as indicated by `relation`. This can exceed the number of returned hits if an item becomes deleted or inaccessible before its `source` is loaded.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludes

Operators supported by text and long text schema fields. Matching is case-insensitive.

- `anyOf` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesAnyOf, optional) — Match any of the specified values.
- `eq` (string, optional) — Match the value exactly.
- `excludes` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesExcludes, optional) — Exclude values containing any of the specified text.
- `includes` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesIncludes, optional) — Match values containing any of the specified text.
- `isEmpty` (boolean, optional) — Match fields with no value. The operand must be `true`.
- `isNotEmpty` (boolean, optional) — Match fields with a value. The operand must be `true`.
- `noneOf` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesNoneOf, optional) — Exclude all of the specified values.
- `not` (string, optional) — Exclude an exact value.
- `startsWith` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesStartsWith, optional) — Match values beginning with any of the specified text.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueOne

Operators supported by integer schema fields.

- `anyOf` (list of integer, optional) — Match any of the specified values.
- `eq` (integer, optional) — Match the specified value.
- `gt` (integer, optional) — Match values greater than the operand.
- `gte` (integer, optional) — Match values greater than or equal to the operand.
- `isEmpty` (boolean, optional) — Match fields with no value. The operand must be `true`.
- `isNotEmpty` (boolean, optional) — Match fields with a value. The operand must be `true`.
- `lt` (integer, optional) — Match values less than the operand.
- `lte` (integer, optional) — Match values less than or equal to the operand.
- `noneOf` (list of integer, optional) — Exclude all of the specified values.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwo

Operators supported by decimal schema fields. Numeric strings are accepted to preserve decimal precision.

- `anyOf` (list of SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoAnyOfItem, optional) — Match any of the specified values.
- `eq` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoEq, optional) — Match the specified value.
- `gt` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoGt, optional) — Match values greater than the operand.
- `gte` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoGte, optional) — Match values greater than or equal to the operand.
- `isEmpty` (boolean, optional) — Match fields with no value. The operand must be `true`.
- `isNotEmpty` (boolean, optional) — Match fields with a value. The operand must be `true`.
- `lt` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoLt, optional) — Match values less than the operand.
- `lte` (SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoLte, optional) — Match values less than or equal to the operand.
- `noneOf` (list of SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoNoneOfItem, optional) — Exclude all of the specified values.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueThree

Operators supported by date schema fields. Dates use RFC 3339 full-date format (`YYYY-MM-DD`).

- `anyOf` (list of date, optional) — Match any of the specified dates.
- `eq` (date, optional) — Match the specified date.
- `gt` (date, optional) — Match dates after the operand.
- `gte` (date, optional) — Match dates on or after the operand.
- `isEmpty` (boolean, optional) — Match fields with no value. The operand must be `true`.
- `isNotEmpty` (boolean, optional) — Match fields with a value. The operand must be `true`.
- `lt` (date, optional) — Match dates before the operand.
- `lte` (date, optional) — Match dates on or before the operand.
- `noneOf` (list of date, optional) — Exclude all of the specified dates.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueFour

Operators supported by datetime schema fields. Datetimes use RFC 3339 format; a datetime without an offset is interpreted as UTC.

- `anyOf` (list of datetime, optional) — Match any of the specified datetimes.
- `eq` (datetime, optional) — Match the specified datetime.
- `gt` (datetime, optional) — Match datetimes after the operand.
- `gte` (datetime, optional) — Match datetimes on or after the operand.
- `isEmpty` (boolean, optional) — Match fields with no value. The operand must be `true`.
- `isNotEmpty` (boolean, optional) — Match fields with a value. The operand must be `true`.
- `lt` (datetime, optional) — Match datetimes before the operand.
- `lte` (datetime, optional) — Match datetimes on or before the operand.
- `noneOf` (list of datetime, optional) — Exclude all of the specified datetimes.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueFive

Operators supported by boolean schema fields.

- `eq` (boolean, optional) — Match fields equal to the operand.
- `isEmpty` (boolean, optional) — Match fields with no value. The operand must be `true`.
- `isNotEmpty` (boolean, optional) — Match fields with a value. The operand must be `true`.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueAllOf

Operators supported by link and dropdown schema fields. Operands are API IDs of linked objects or dropdown options.

- `allOf` (list of string, optional) — Match fields containing all of the specified IDs.
- `anyOf` (list of string, optional) — Match fields containing any of the specified IDs.
- `isEmpty` (boolean, optional) — Match fields with no value. The operand must be `true`.
- `isNotEmpty` (boolean, optional) — Match fields with a value. The operand must be `true`.
- `noneOf` (list of string, optional) — Match fields containing none of the specified IDs.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesAnyOf

Match any of the specified values.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesExcludes

Exclude values containing any of the specified text.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesIncludes

Match values containing any of the specified text.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesNoneOf

Exclude all of the specified values.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueExcludesStartsWith

Match values beginning with any of the specified text.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoAnyOfItem

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoEq

Match the specified value.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoGt

Match values greater than the operand.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoGte

Match values greater than or equal to the operand.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoLt

Match values less than the operand.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoLte

Match values less than or equal to the operand.

### SearchSearchSyncCustomRequestFiltersSchemaFieldsValueTwoNoneOfItem

## Examples

### Global text search, sorted by relevance

**Request**

```json
{
  "query": "expression plasmid"
}
```

**Response**

```json
{
  "hits": [
    {
      "apiUrl": "apiUrl",
      "id": "id",
      "objectType": "objectType",
      "source": {
        "__typename": "__typename",
        "id": "id"
      }
    }
  ],
  "metadata": {
    "queryId": "queryId",
    "searchedObjectTypes": [
      "AaSequence",
      "Entry"
    ],
    "totalHits": {
      "relation": "eq",
      "value": 1
    }
  },
  "nextToken": "nextToken"
}
```

**SDK Code**

```python Global text search, sorted by relevance
import requests

url = "https://{tenant_name}.benchling.com/api/v3/search"

payload = { "query": "expression plasmid" }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Global text search, sorted by relevance
const url = 'https://{tenant_name}.benchling.com/api/v3/search';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"query":"expression plasmid"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

### Global text search with selected fields

**Request**

```json
{
  "query": "expression plasmid",
  "returning": [
    "name",
    "createdAt",
    "modifiedAt",
    "creator",
    "folder"
  ]
}
```

**Response**

```json
{
  "hits": [
    {
      "apiUrl": "apiUrl",
      "id": "id",
      "objectType": "objectType",
      "source": {
        "__typename": "__typename",
        "id": "id"
      }
    }
  ],
  "metadata": {
    "queryId": "queryId",
    "searchedObjectTypes": [
      "AaSequence",
      "Entry"
    ],
    "totalHits": {
      "relation": "eq",
      "value": 1
    }
  },
  "nextToken": "nextToken"
}
```

**SDK Code**

```python Global text search with selected fields
import requests

url = "https://{tenant_name}.benchling.com/api/v3/search"

payload = {
    "query": "expression plasmid",
    "returning": ["name", "createdAt", "modifiedAt", "creator", "folder"]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Global text search with selected fields
const url = 'https://{tenant_name}.benchling.com/api/v3/search';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"query":"expression plasmid","returning":["name","createdAt","modifiedAt","creator","folder"]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

### Filter by schema-defined fields

**Request**

```json
{
  "filters": {
    "schemaFields": {
      "tsf_abc123": {
        "eq": true
      },
      "tsf_def456": {
        "gte": 10,
        "lt": 20
      }
    }
  },
  "objectTypes": [
    "CustomEntity"
  ]
}
```

**Response**

```json
{
  "hits": [
    {
      "apiUrl": "apiUrl",
      "id": "id",
      "objectType": "objectType",
      "source": {
        "__typename": "__typename",
        "id": "id"
      }
    }
  ],
  "metadata": {
    "queryId": "queryId",
    "searchedObjectTypes": [
      "AaSequence",
      "Entry"
    ],
    "totalHits": {
      "relation": "eq",
      "value": 1
    }
  },
  "nextToken": "nextToken"
}
```

**SDK Code**

```python Filter by schema-defined fields
import requests

url = "https://{tenant_name}.benchling.com/api/v3/search"

payload = {
    "filters": { "schemaFields": {
            "tsf_abc123": { "eq": True },
            "tsf_def456": {
                "gte": 10,
                "lt": 20
            }
        } },
    "objectTypes": ["CustomEntity"]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Filter by schema-defined fields
const url = 'https://{tenant_name}.benchling.com/api/v3/search';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"filters":{"schemaFields":{"tsf_abc123":{"eq":true},"tsf_def456":{"gte":10,"lt":20}}},"objectTypes":["CustomEntity"]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

### Scoped search with filters

**Request**

```json
{
  "filters": {
    "createdAt": {
      "gte": "2026-01-01T00:00:00Z"
    },
    "creator": {
      "anyOf": [
        "usr_abc123"
      ]
    }
  },
  "objectTypes": [
    "Entry",
    "DnaSequence",
    "Protein"
  ],
  "pageSize": 20,
  "query": "expression plasmid",
  "sort": "modifiedAt:desc"
}
```

**Response**

```json
{
  "hits": [
    {
      "apiUrl": "apiUrl",
      "id": "id",
      "objectType": "objectType",
      "source": {
        "__typename": "__typename",
        "id": "id"
      }
    }
  ],
  "metadata": {
    "queryId": "queryId",
    "searchedObjectTypes": [
      "AaSequence",
      "Entry"
    ],
    "totalHits": {
      "relation": "eq",
      "value": 1
    }
  },
  "nextToken": "nextToken"
}
```

**SDK Code**

```python Scoped search with filters
import requests

url = "https://{tenant_name}.benchling.com/api/v3/search"

payload = {
    "filters": {
        "createdAt": { "gte": "2026-01-01T00:00:00Z" },
        "creator": { "anyOf": ["usr_abc123"] }
    },
    "objectTypes": ["Entry", "DnaSequence", "Protein"],
    "pageSize": 20,
    "query": "expression plasmid",
    "sort": "modifiedAt:desc"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Scoped search with filters
const url = 'https://{tenant_name}.benchling.com/api/v3/search';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"filters":{"createdAt":{"gte":"2026-01-01T00:00:00Z"},"creator":{"anyOf":["usr_abc123"]}},"objectTypes":["Entry","DnaSequence","Protein"],"pageSize":20,"query":"expression plasmid","sort":"modifiedAt:desc"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```