Skip to main content

Omnisearch

Run one global search across documents, extracted field values, sources, and schemas. GET /v1/search powers Cmd+K palettes with categorized results.

The omnisearch endpoint (GET /v1/search) runs a unified search across all entity types in your Talonic workspace: documents, extracted field values, source connections, schemas, and registry fields. A single query returns categorized results, making it ideal for building global search UIs like Cmd+K palettes.

GET/v1/search

Query parameters

q*stringSearch query. Whitespace-only queries return empty arrays.
limitintegerMaximum results per entity type. Default: 20

Request

Response

Response fields

documentsarrayMatching documents (id, name, sourceId, sourceName).
fieldMatchesarrayFields whose values match the query (resolvedFieldId, displayName, matchedValue, documentCount).
sourcesarrayMatching source connections (id, name).
schemasarrayMatching schemas (id, name).
fieldsarrayMatching registry fields (id, canonicalName, displayName, documentCount).

Response

{
  "documents": [
    { "id": "doc_x9y8z7w6", "name": "Invoice-2024-001.pdf", "sourceId": "src_m1n2o3p4", "sourceName": "Invoice Pipeline" }
  ],
  "fieldMatches": [
    {
      "resolvedFieldId": "fld_a1b2c3d4",
      "displayName": "Supplier Name",
      "matchedValue": "Acme Corp",
      "documentCount": 47
    }
  ],
  "sources": [
    { "id": "src_m1n2o3p4", "name": "Invoice Pipeline" }
  ],
  "schemas": [
    { "id": "sch_k1l2m3n4", "name": "Invoice Schema" }
  ],
  "fields": [
    { "id": "fld_a1b2c3d4", "canonicalName": "supplier_name", "displayName": "Supplier Name", "documentCount": 1842 }
  ]
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.

Returns categorized results across documents, fieldMatches, sources, schemas, and fields in a single call, so a Cmd+K palette can render grouped sections without multiple requests. Use the limit parameter to cap results per category and keep response times fast for interactive search.

A POST variant exists at /v1/search/omnisearch with a JSON body (query, limit). It returns the same categorized result shape; use it when a query string is awkward to URL-encode.