---
title: "Search across Benchling objects"
method: POST
path: "/api/v3/search"
tags: ["search"]
---

# Search across Benchling objects

`POST /api/v3/search`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/search`
- Auth: HTTP bearer

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`.
Search supports stable and beta object types. The returned `source` object can include stable and beta fields.
## 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.

## Headers

- `EARLY-ACCESS` string

## Request body

- object
  - `filters` SearchPostRequestBodyContentApplicationJsonSchemaFilters: 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` SearchPostRequestBodyContentApplicationJsonSchemaFiltersAdminOf: Supported objectTypes: User.
      - `allOf` string[]: Restricts results to administrators of all specified organization and team IDs.
    - `aminoAcids` SearchPostRequestBodyContentApplicationJsonSchemaFiltersAminoAcids: Supported objectTypes: AaSequence.
      - `anyOf` string[]: Restricts results to those whose sequence exactly matches any of the specified amino acid sequences (case-insensitive).
    - `ancestorStorable` SearchPostRequestBodyContentApplicationJsonSchemaFiltersAncestorStorable: Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.
      - `eq` string: Restricts results to descendants of the specified storable ID.
    - `archiveReason` SearchPostRequestBodyContentApplicationJsonSchemaFiltersArchiveReason: 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` string[]: Restricts items to those with any of the specified archive reasons. Use "NOT_ARCHIVED" to filter for unarchived items. Use "ANY_ARCHIVED" to filter for archived items regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.
    - `archived` SearchPostRequestBodyContentApplicationJsonSchemaFiltersArchived: 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` boolean[]: If true, returns archived items. If false, returns unarchived items. If both true and false, returns archived and unarchived items.
    - `authors` SearchPostRequestBodyContentApplicationJsonSchemaFiltersAuthors: Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Entry, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, StageEntry.
      - `anyOf` string[]: Restricts results to those whose author matches any of the specified user or author IDs.
    - `barcode` SearchPostRequestBodyContentApplicationJsonSchemaFiltersBarcode: Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.
      - `anyOf` string[]: Restricts results to those matching any of the specified barcodes. Fails and reports any invalid barcodes.
    - `bases` SearchPostRequestBodyContentApplicationJsonSchemaFiltersBases: Supported objectTypes: DnaOligo, DnaSequence, RnaOligo, RnaSequence.
      - `anyOf` string[]: Restricts results to those whose sequence exactly matches any of the specified DNA base sequences (case-insensitive, accounting for circular and reverse complement).
    - `checkoutStatus` SearchPostRequestBodyContentApplicationJsonSchemaFiltersCheckoutStatus: Supported objectTypes: Container.
      - `anyOf` SearchPostRequestBodyContentApplicationJsonSchemaFiltersCheckoutStatusItems[]: Restricts results to containers with any of the specified checkout statuses: AVAILABLE, RESERVED, or CHECKED_OUT.
    - `chemicalStructure` SearchPostRequestBodyContentApplicationJsonSchemaFiltersChemicalStructure: Supported objectTypes: Molecule.
      - `substructure` SearchPostRequestBodyContentApplicationJsonSchemaFiltersChemicalStructureSubstructureItems[]: Find Molecules containing all of the specified substructures. Each substructure must provide exactly one of `smiles` or `molfile`. Each hit includes its chemical ranking score as `score` only when exactly one substructure is provided; this does not include full-text relevance. When `sort` is not explicitly specified, results are ordered by chemical score, highest first.
        - union
          - SearchPostRequestBodyContentApplicationJsonSchemaFiltersChemicalStructureSubstructureItems0
            - `smiles` string, required
          - SearchPostRequestBodyContentApplicationJsonSchemaFiltersChemicalStructureSubstructureItems1
            - `molfile` string, required
    - `createdAt` SearchPostRequestBodyContentApplicationJsonSchemaFiltersCreatedAt: 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, datetime: 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, datetime: 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, datetime: 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, datetime: 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.
    - `creator` SearchPostRequestBodyContentApplicationJsonSchemaFiltersCreator: 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` string[]: Restricts results to those created by any of the specified user IDs.
    - `displayId` SearchPostRequestBodyContentApplicationJsonSchemaFiltersDisplayId: Supported objectTypes: Dataset, Entry, File, RequestV2Submission, StageEntry, Study, WorkflowOutput, WorkflowTask, WorkflowTaskGroup.
      - `anyOf` string[]: Restricts results to those matching any of the specified display IDs.
    - `email` SearchPostRequestBodyContentApplicationJsonSchemaFiltersEmail: Supported objectTypes: User.
      - `anyOf` string[]: Restricts results to those matching any of the specified email addresses exactly. Case insensitive.
    - `entityRegistryIds` SearchPostRequestBodyContentApplicationJsonSchemaFiltersEntityRegistryIds: Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
      - `anyOf` string[]: Restricts results to those that match any of the specified entity registry IDs.
    - `executionEntry` SearchPostRequestBodyContentApplicationJsonSchemaFiltersExecutionEntry: Supported objectTypes: WorkflowTask.
      - `anyOf` string[]: Restricts results to workflow tasks executed in any of the specified entries.
    - `executionType` SearchPostRequestBodyContentApplicationJsonSchemaFiltersExecutionType: Supported objectTypes: WorkflowTask, WorkflowTaskGroup.
      - `anyOf` SearchPostRequestBodyContentApplicationJsonSchemaFiltersExecutionTypeItems[]: Restricts results to workflow tasks or task groups whose schema specifies any of the given execution types.
    - `fieldset` SearchPostRequestBodyContentApplicationJsonSchemaFiltersFieldset: Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
      - `anyOf` string[]: Restricts results to those whose schema implements any of the specified fieldset API IDs (custom schema interfaces).
    - `folder` SearchPostRequestBodyContentApplicationJsonSchemaFiltersFolder: Supported objectTypes: AaSequence, CustomEntity, Dataset, DnaOligo, DnaSequence, File, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, WorkflowTaskGroup.
      - `eq` string: ID of a folder. Restricts results to its direct children.
    - `hasMembers` SearchPostRequestBodyContentApplicationJsonSchemaFiltersHasMembers: Supported objectTypes: Organization, Team.
      - `allOf` string[]: Restricts results to teams and organizations containing every specified member with a `MEMBER` or `ADMIN` role. Accepts `User`, `AppInstallation`, `LegacyAppInstallation`, or `Routine` IDs. Routines must have `runAs` set to `SERVICE_ACCOUNT`.
    - `id` SearchPostRequestBodyContentApplicationJsonSchemaFiltersId: 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` string[]: Restricts results to those matching any of the specified IDs.
    - `memberOf` SearchPostRequestBodyContentApplicationJsonSchemaFiltersMemberOf: Supported objectTypes: User.
      - `allOf` string[]: Restricts results to members of all specified organization and team IDs.
    - `mentionedIn` SearchPostRequestBodyContentApplicationJsonSchemaFiltersMentionedIn: Supported objectTypes: AaSequence, Box, Container, CustomEntity, Dataset, DnaOligo, DnaSequence, Entry, File, Location, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, StageEntry, WorkflowTaskGroup.
      - `anyOf` string[]: Restricts results to items mentioned in entries matching any of the specified entry IDs.
    - `mentions` SearchPostRequestBodyContentApplicationJsonSchemaFiltersMentions: Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Entry, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, StageEntry.
      - `anyOf` string[]: Restricts results to items that mention any of the specified IDs.
    - `modifiedAt` SearchPostRequestBodyContentApplicationJsonSchemaFiltersModifiedAt: 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, datetime: 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, datetime: 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, datetime: 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, datetime: 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.
    - `name` SearchPostRequestBodyContentApplicationJsonSchemaFiltersName: 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` string[]: 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: Whether name matching is case sensitive. Ensure only one name filter is used at a time.
      - `includes` string[]: 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.
    - `organization` SearchPostRequestBodyContentApplicationJsonSchemaFiltersOrganization: Supported objectTypes: Team.
      - `eq` string: ID of an organization. Restricts results to those belonging to the organization.
    - `owner` SearchPostRequestBodyContentApplicationJsonSchemaFiltersOwner: Supported objectTypes: TemplateCollection.
      - `anyOf` string[]: Restricts results to those owned by any of the specified user or organization IDs.
    - `parent` SearchPostRequestBodyContentApplicationJsonSchemaFiltersParent: Supported objectTypes: Folder.
      - `eq` string: ID of a folder. Restricts results to its direct children.
    - `parentStorage` SearchPostRequestBodyContentApplicationJsonSchemaFiltersParentStorage: Supported objectTypes: Box, Container, Location, MatrixPlate, WellPlate.
      - `eq` string: ID of a location. Restricts results to those located in the specified inventory.
    - `project` SearchPostRequestBodyContentApplicationJsonSchemaFiltersProject: Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Entry, Folder, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence, WorkflowTaskGroup.
      - `eq` string: ID of a project. Restricts results to those in the project.
    - `registry` SearchPostRequestBodyContentApplicationJsonSchemaFiltersRegistry: Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
      - `eq` string: ID of a registry. Restricts results to those registered in this registry. Specifying "null" returns unregistered items.
    - `reviewStatus` SearchPostRequestBodyContentApplicationJsonSchemaFiltersReviewStatus: Supported objectTypes: Entry.
      - `eq` 'ACCEPTANCE_SNAPSHOT_IN_PROGRESS' | 'ACCEPTED' | 'CYCLE_COMPLETED' | 'IN_PROGRESS' | 'NEEDS_REVIEW' | 'REJECTED' | 'RETRACTED' | 'REVIEW_SNAPSHOT_IN_PROGRESS': Restricts entries to the specified review status. IN_PROGRESS includes entries without a review and entries whose review was retracted.
    - `schema` SearchPostRequestBodyContentApplicationJsonSchemaFiltersSchema: 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` string[]: Restricts results to those that match any of the specified schema IDs. Use only one `schema` filter arg at a time.
      - `eq` string: Single schema ID. Restricts results to those that match the specified schema exactly. Use only one `schema` filter arg at a time.
    - `schemaFields` object: 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` SearchPostRequestBodyContentApplicationJsonSchemaFiltersSequenceIds: Supported objectTypes: NucleotideAlignment.
      - `anyOf` string[]: 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.
    - `storageContents` SearchPostRequestBodyContentApplicationJsonSchemaFiltersStorageContents: Supported objectTypes: Box, Container, MatrixPlate, WellPlate.
      - `anyOf` string[]: 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.
    - `systemCategory` SearchPostRequestBodyContentApplicationJsonSchemaFiltersSystemCategory: Supported objectTypes: AaSequence, CustomEntity, DnaOligo, DnaSequence, Mixture, Molecule, OligoConjugate, OligoDuplex, Protein, RnaOligo, RnaSequence.
      - `anyOf` string[]: Restricts results to those whose schema implements any of the specified system category API IDs (non-exclusive static schema interfaces).
    - `username` SearchPostRequestBodyContentApplicationJsonSchemaFiltersUsername: Supported objectTypes: User.
      - `anyOf` string[]: Restricts results to those matching any of the specified usernames (handles) exactly. Case insensitive.
  - `nextToken` string: Opaque pagination token returned by the previous response. Use it with otherwise identical request parameters.
  - `objectTypes` SearchPostRequestBodyContentApplicationJsonSchemaObjectTypesItems[]: 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.
  - `omit` string[]: 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: Number of results per page. Defaults to 50, max 100.
  - `query` string: 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` string[]: 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` 'barcode:asc' | 'barcode:desc' | 'createdAt:asc' | 'createdAt:desc' | 'modifiedAt:asc' | 'modifiedAt:desc' | 'name:asc' | 'name:desc': 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` (unless a score-based filter such as `chemicalStructure` is applied; see filter descriptions). Providing `sort` overrides relevance or filter score ordering. Results missing the sort field sort last in both directions (for example, a notebook entry when sorting by `barcode`).

## Response `200`

OK

- SearchSearchSynccustomResponse200
  - `hits` SearchPostResponsesContentApplicationJsonSchemaHitsItems[], required: Matching items in the requested or default order.
    - `apiUrl` string, uri, 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).
    - `score` number, double: Tanimoto fingerprint similarity between the query structure and the matched molecule, ranging from 0 to 1. Higher values indicate greater fingerprint similarity. Returned only for searches with exactly one substructure in the `chemicalStructure` filter, regardless of sort order or text query.
    - `source` SearchPostResponsesContentApplicationJsonSchemaHitsItemsSource, 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.
      - `__typename` string, required
      - `id` string, required
  - `metadata` SearchPostResponsesContentApplicationJsonSchemaMetadata, required
    - `queryId` string, required: Unique identifier for this search request. Include it when contacting Benchling Support about a search.
    - `searchedObjectTypes` 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` SearchPostResponsesContentApplicationJsonSchemaMetadataTotalHits: 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` 'eq' | 'gte', required: `eq` means the count is exact. `gte` means the count is a lower bound because exact counting was skipped for performance.
      - `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.
  - `nextToken` string, nullable, required: Opaque cursor for fetching the next page. Null when there are no more results.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/benchling/apis/benchling-api.md) - [All operations](https://skmtc.dev/benchling/apis/benchling-api/llms.txt) - [OpenAPI document](https://skmtc.dev/benchling/apis/benchling-api/revisions/c9f087b98b8b?raw)
