Omnisearch
Run one global search across documents, extracted field values, sources, and schemas. GET /v1/search powers Cmd+K palettes with categorized, grouped 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. A POST variant, POST /v1/search/omnisearch, takes a JSON body (query, limit) and returns the identical shape — use it when a query string is awkward to URL-encode.
Document hits are found two ways and merged: by document metadata (filename, display name), and through their field values — a document whose extracted supplier_name is "Acme Corp" matches the query acme even if its filename never mentions it. Field-level hits carry matchedFieldName and matchedValue so your UI can show *why* a document matched, and deep-link to the exact field row.
The fieldMatches category surfaces the matching values themselves, and each entry's filterable flag tells you whether the hit can be turned into a filter: entries with a non-null resolvedFieldId come from the materialized store and can be passed straight to POST /v1/documents/filter as an eq condition; entries with resolvedFieldId: null come from not-yet-materialized extraction data and are informational. The same flag appears on fields entries, where schema-defined fields without registry backing report filterable: false.
All results respect Sources-IAM visibility, evaluated as the API key's minting user. An empty or whitespace-only query returns 200 with all five collections as empty arrays — never an error — so palettes can safely call the endpoint on every keystroke and debounce purely for performance.
/v1/searchQuery parameters
20Request
curl "https://api.talonic.com/v1/search?q=acme&limit=5" \
-H "Authorization: Bearer $TALONIC_API_KEY"/v1/search/omnisearchResponse
Response fields
Response
{
"documents": [
{
"id": "b8b00d51-eecc-49b3-affc-89fee95b9518",
"name": "Invoice-2026-001.pdf",
"filename": "Invoice-2026-001.pdf",
"sourceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"documentType": "Invoice",
"tags": [],
"status": "completed",
"matchedFieldName": "supplier_name",
"matchedValue": "Acme Corp"
}
],
"fieldMatches": [
{
"resolvedFieldId": "6f1e9a2b-4c3d-4e5f-8a7b-9c0d1e2f3a4b",
"displayName": "Supplier Name",
"dataType": "string",
"matchedValue": "Acme Corp",
"documentCount": 47,
"filterable": true
}
],
"sources": [
{ "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Invoice Pipeline" }
],
"schemas": [
{ "id": "c3d4e5f6-a7b8-9012-cdef-123456789012", "name": "Invoice Schema" }
],
"fields": [
{
"id": "6f1e9a2b-4c3d-4e5f-8a7b-9c0d1e2f3a4b",
"canonicalName": "supplier_name",
"displayName": "Supplier Name",
"dataType": "string",
"documentCount": 1794,
"occurrenceCount": 1842,
"filterable": true
}
]
}Errors
Error responses