Skip to main content

Complete API Reference

This reference maps every public route currently matched by ResolveHttpRoute() in src/api/httproutes.cpp to its route action and dispatch handler.

The HTTP server dispatches route actions in src/api/httpserver.cpp through ProcessRequestWithAPI(). Handlers are methods on SearchAPI, declared in include/api/searchapi.h and implemented across src/api/*.cpp.

Route Resolution Rules

  • Query strings are removed before matching.
  • A single trailing slash is removed before matching.
  • Route matching is method-sensitive.
  • Collection routes are parsed as path segments, so /collections/{collection}/documents/{id} and /collections/{collection}/documents/search are distinct routes.
  • /collections/{collection}/search is a vector search alias, not the same route as /collections/{collection}/documents/search.

System, Health, and Runtime

MethodPathRoute actionHandlerNotes
GET/StatusHandleStatus()Root maps to status.
GET/statusStatusHandleStatus()Server status.
GET/queryStatusHandleStatus()Status alias.
ANY/healthHealthHandleHealth()Health check. Clients should use GET.
GET/readyReadyHandleReady()Readiness check.
GET/pingPingHandlePing()Lightweight ping.
GET/startupStartupHandleStartup()Startup report.
GET/boot-statusStartupHandleStartup()Startup report alias.
GET/statsStatsHandleStats()Server statistics.
GET/metricsMetricsHandleMetrics()JSON metrics.
GET/metrics.jsonMetricsHandleMetrics()Metrics alias.
GET/metrics/historyMetricsHistoryHandleMetricsHistory()Historical metrics.
GET/metrics-historyMetricsHistoryHandleMetricsHistory()Historical metrics alias.
GET/connectionsConnectionsHandleConnections()Active connections.
GET/doctotalDocTotalHandleDocTotal()Total document count.
GET/etcEtcHandleEtc()Protocol metadata.
GET/cacheCacheHandleCache()Cache statistics.
GET/search-configSearchConfigHandleSearchConfig()Search configuration.
GET/config-filesConfigFilesHandleConfigFiles()Active configuration files.

Storage and Maintenance

MethodPathRoute actionHandlerNotes
GET/rocksdbRocksDBHandleRocksDB()RocksDB status.
GET/_rocksdbRocksDBHandleRocksDB()RocksDB status alias.
GET/admin/storage_statusStorageStatusHandleStorageStatus()Admin-only storage status.
GET/POST/update-countersUpdateCountersHandleUpdateCounters()Recompute counters.
GET/debug/countersDebugCountersHandleDebugCounters()Counter diagnostics.
GET/POST/repairRepairHandleRepair()Repair checks.
GET/integrityIntegrityHandleIntegrity()Integrity report.
GET/consistencyIntegrityHandleIntegrity()Integrity alias.
GET/self-checkSelfCheckHandleSelfCheck()Runtime self-check.
POST/flushFlushHandleFlush()Admin-only and destructive.
GET/presetsListPresetsHandleListPresets()List search presets.
POST/PUT/presets/{preset}UpsertPresetHandleCreateOrUpdatePreset()Create or update search preset.
GET/presets/{preset}GetPresetHandleGetPreset()Get search preset.
DELETE/presets/{preset}DeletePresetHandleDeletePreset()Delete search preset.

Collections

MethodPathRoute actionHandlerNotes
GET/collectionsListCollectionsHandleListCollections()List collections.
POST/collectionsCreateCollectionHandleCreateCollection()Create collection.
GET/collections/distributedListCollectionsDistributedHandleListCollectionsDistributed()Includes configured links.
GET/collections/{collection}GetCollectionHandleGetCollection()Collection details.
DELETE/collections/{collection}DeleteCollectionHandleDeleteCollection()Delete collection.
GET/collections/{collection}/langGetCollectionLanguageHandleGetCollectionLanguage()Collection language.
POST/collections/{collection}/updateUpdateCollectionHandleUpdateCollection()Update schema.

Documents

MethodPathRoute actionHandlerNotes
GET/collections/{collection}/documentsListDocumentsHandleListDocuments()List documents.
POST/collections/{collection}/documentsAddDocumentHandleAddDocument()Add document.
DELETE/collections/{collection}/documentsDeleteDocumentsByFilterHandleDeleteDocumentsByFilter()Delete by filter.
POST/collections/{collection}/documents/importBulkImportDocumentsHandleBulkImportDocuments()Bulk import.
GET/collections/{collection}/documents/{id}GetDocumentHandleGetDocument()Get document.
PUT/collections/{collection}/documents/{id}UpdateDocumentHandleUpdateDocument()Update document.
DELETE/collections/{collection}/documents/{id}DeleteDocumentHandleDeleteDocument()Delete document.
GET/collections/{collection}/documents/{id}/contextGetDocumentContextHandleGetDocumentContext()Surrounding context.
POST/collections/{collection}/documents/_update_by_queryUpdateByQueryHandleUpdateByQuery()Update matching documents.
POST/collections/{collection}/documents/_delete_by_queryDeleteByQueryHandleDeleteByQuery()Delete matching documents.
MethodPathRoute actionHandlerNotes
GET/POST/collections/{collection}/documents/searchDocumentSearchHandleSearch()Lexical or hybrid search.
GET/POST/collections/{collection}/documents/facet_countsFacetCountsHandleFacetCounts()Facet counts.
GET/POST/collections/{collection}/documents/exportExportDocumentsHandleExportDocuments()Export documents.
GET/POST/collections/{collection}/documents/maybeMaybeSuggestHandleMaybe()Query suggestions.
GET/POST/collections/{collection}/vector_searchVectorSearchHandleVectorSearch()Dedicated vector endpoint.
GET/POST/collections/{collection}/searchVectorSearchHandleVectorSearch()Vector endpoint alias.
GET/POST/multi_searchMultiSearchHandleMultiSearch()Multiple searches in one request.
GET/POST/searchGlobalSearchHandleGlobalSearch()Global search.
GET/POST/sqlDocumentSearchHandleSearch()SQL-style entry point.

Synonyms

MethodPathRoute actionHandlerNotes
GET/synonymsListAllSynonymsHandleListAllSynonyms()All synonyms summary.
GET/synonym_setsListAllSynonymsHandleListAllSynonyms()All synonyms alias.
GET/synonyms/globalListGlobalSynonymsHandleListGlobalSynonyms()Global synonyms.
GET/synonym_sets/globalListGlobalSynonymsHandleListGlobalSynonyms()Global synonyms alias.
POST/PUT/synonyms/global/{id}UpsertGlobalSynonymHandleCreateOrUpdateGlobalSynonym()Create or update global synonym.
POST/PUT/synonym_sets/global/{id}UpsertGlobalSynonymHandleCreateOrUpdateGlobalSynonym()Create or update global synonym alias.
POST/PUT/synonym_sets/global/items/{id}UpsertGlobalSynonymHandleCreateOrUpdateGlobalSynonym()Create or update global synonym item alias.
GET/synonyms/global/{id}GetGlobalSynonymHandleGetGlobalSynonym()Get global synonym.
GET/synonym_sets/global/{id}GetGlobalSynonymHandleGetGlobalSynonym()Get global synonym alias.
GET/synonym_sets/global/items/{id}GetGlobalSynonymHandleGetGlobalSynonym()Get global synonym item alias.
DELETE/synonyms/global/{id}DeleteGlobalSynonymHandleDeleteGlobalSynonym()Delete global synonym.
DELETE/synonym_sets/global/{id}DeleteGlobalSynonymHandleDeleteGlobalSynonym()Delete global synonym alias.
DELETE/synonym_sets/global/items/{id}DeleteGlobalSynonymHandleDeleteGlobalSynonym()Delete global synonym item alias.
GET/collections/{collection}/synonymsListSynonymsHandleListSynonyms()Collection synonyms.
GET/collections/{collection}/synonym_setsListSynonymsHandleListSynonyms()Collection synonyms alias.
POST/PUT/collections/{collection}/synonyms/{id}UpsertSynonymHandleCreateOrUpdateSynonym()Create or update synonym.
POST/PUT/collections/{collection}/synonym_sets/{id}UpsertSynonymHandleCreateOrUpdateSynonym()Create or update synonym alias.
GET/collections/{collection}/synonyms/{id}GetSynonymHandleGetSynonym()Get synonym.
GET/collections/{collection}/synonym_sets/{id}GetSynonymHandleGetSynonym()Get synonym alias.
DELETE/collections/{collection}/synonyms/{id}DeleteSynonymHandleDeleteSynonym()Delete synonym.
DELETE/collections/{collection}/synonym_sets/{id}DeleteSynonymHandleDeleteSynonym()Delete synonym alias.

Stopwords

MethodPathRoute actionHandlerNotes
GET/stopwordsListAllStopwordsHandleListAllStopwords()All stopwords summary.
GET/stopword_setsListAllStopwordsHandleListAllStopwords()All stopwords alias.
GET/stopwords/globalListGlobalStopwordsHandleListGlobalStopwords()Global stopwords.
GET/stopword_sets/globalListGlobalStopwordsHandleListGlobalStopwords()Global stopwords alias.
POST/stopwords/globalCreateGlobalStopwordHandleCreateGlobalStopword()Add global stopword.
POST/stopword_sets/globalCreateGlobalStopwordHandleCreateGlobalStopword()Add global stopword alias.
DELETE/stopwords/global/{word}DeleteGlobalStopwordHandleDeleteGlobalStopword()Delete global stopword.
DELETE/stopword_sets/global/{word}DeleteGlobalStopwordHandleDeleteGlobalStopword()Delete global stopword alias.
DELETE/stopword_sets/global/items/{word}DeleteGlobalStopwordHandleDeleteGlobalStopword()Delete global stopword item alias.
GET/collections/{collection}/stopwordsListStopwordsHandleListStopwords()Collection stopwords.
GET/collections/{collection}/stopword_setsListStopwordsHandleListStopwords()Collection stopwords alias.
POST/collections/{collection}/stopwordsCreateStopwordHandleCreateStopword()Add collection stopword.
POST/collections/{collection}/stopword_setsCreateStopwordHandleCreateStopword()Add collection stopword alias.
DELETE/collections/{collection}/stopwords/{word}DeleteStopwordHandleDeleteStopword()Delete collection stopword.
DELETE/collections/{collection}/stopword_sets/{word}DeleteStopwordHandleDeleteStopword()Delete collection stopword alias.

Overrides and Aliases

MethodPathRoute actionHandlerNotes
GET/collections/{collection}/overridesListOverridesHandleListOverrides()Collection overrides.
GET/collections/{collection}/curationsListOverridesHandleListOverrides()Collection curation alias.
GET/collections/{collection}/curation_setsListOverridesHandleListOverrides()Collection curation alias.
POST/PUT/collections/{collection}/overrides/{id}UpsertOverrideHandleCreateOrUpdateOverride()Create or update override.
POST/PUT/collections/{collection}/curations/{id}UpsertOverrideHandleCreateOrUpdateOverride()Create or update curation alias.
POST/PUT/collections/{collection}/curation_sets/{id}UpsertOverrideHandleCreateOrUpdateOverride()Create or update curation alias.
GET/collections/{collection}/overrides/{id}GetOverrideHandleGetOverride()Get override.
GET/collections/{collection}/curations/{id}GetOverrideHandleGetOverride()Get curation alias.
GET/collections/{collection}/curation_sets/{id}GetOverrideHandleGetOverride()Get curation alias.
DELETE/collections/{collection}/overrides/{id}DeleteOverrideHandleDeleteOverride()Delete override.
DELETE/collections/{collection}/curations/{id}DeleteOverrideHandleDeleteOverride()Delete curation alias.
DELETE/collections/{collection}/curation_sets/{id}DeleteOverrideHandleDeleteOverride()Delete curation alias.
GET/aliasesListAliasesHandleListAliases()List aliases.
GET/collections/{collection}/aliasesListAliasesHandleListAliases()Filter aliases by collection.
POST/PUT/aliases/{alias}UpsertAliasHandleCreateOrUpdateAlias()Create or update alias.
GET/aliases/{alias}GetAliasHandleGetAlias()Get alias.
DELETE/aliases/{alias}DeleteAliasHandleDeleteAlias()Delete alias.

Users and Keys

MethodPathRoute actionHandlerNotes
GET/usersListUsersHandleListUsers()Admin-only.
POST/usersCreateUserHandleCreateUser()Admin-only.
GET/users/{name}GetUserHandleGetUser()Admin-only.
PUT/users/{name}UpdateUserHandleUpdateUser()Admin-only.
DELETE/users/{name}DeleteUserHandleDeleteUser()Admin-only.
GET/keysListKeysHandleListKeys()Admin-only.
POST/keysCreateKeyHandleCreateKey()Admin-only.
GET/keys/{id}GetKeyHandleGetKey()Admin-only.
PUT/keys/{id}UpdateKeyHandleUpdateKey()Admin-only.
DELETE/keys/{id}DeleteKeyHandleDeleteKey()Admin-only.
MethodPathRoute actionHandlerNotes
GET/linksLinksListHandleLinksList()Cluster links.
GET/links/pingLinksPingHandleLinksPing()Ping cluster links.
POST/links/connectLinksConnectHandleLinksConnect()Add runtime link.
POST/links/disconnectLinksDisconnectHandleLinksDisconnect()Remove runtime link.
GET/modulesListModulesHandleListModules()Loaded modules.
POST/loadmoduleModuleAPIHandleModuleAPI()Load module by body.
POST/loadmodule/{module}ModuleAPIHandleModuleAPI()Load module by path.
POST/unloadmoduleModuleAPIHandleModuleAPI()Unload module by body.
POST/unloadmodule/{module}ModuleAPIHandleModuleAPI()Unload module by path.
GET/modules/{module}/syntaxGetModuleSyntaxHandleModuleSyntax()Module syntax.
GET/POST/PUT/DELETE/modules/{module}/...ModuleAPIHandleModuleAPI()Module-specific routes.
POST/analytics/clickAnalyticsClickHandleAnalyticsClick()Click analytics.

Dispatch Flow

  1. HttpConnection::ProcessRequest() parses the request.
  2. CORS and authentication checks run before handler dispatch.
  3. ResolveHttpRoute() returns a RouteAction.
  4. Sync and metadata readiness gates may block selected operations.
  5. ProcessRequestWithAPI() calls the matching SearchAPI::Handle*() method.
  6. The handler returns an HttpResponse with JSON when possible.

Common Path Parameters

ParameterMeaning
{collection}Collection name.
{id}Document, synonym, override, or key identifier depending on route family.
{word}Stopword value.
{alias}Alias name.
{module}Module name.
{name}User name for /users/{name}.

Common Query Parameters

ParameterDescription
offsetNumber of records to skip.
limitMaximum records to return.
pagePage number for handlers that support page-style pagination.
per_pagePage size for handlers that support page-style pagination.
qQuery text.
query_byComma-separated searchable fields.
filter_byFilter expression, including geo predicates such as _geo_radius(...) and _geo_box(...).
sort_bySort expression, including _geo_distance(field, lat, lon):asc|desc.
facet_byComma-separated facet fields.
geo_radiusShorthand for _geo_radius(field, lat, lon, radius) search filtering.
geo_boxShorthand for _geo_box(field, top_left_lat, top_left_lon, bottom_right_lat, bottom_right_lon) search filtering.
geo_sortShorthand for _geo_distance(field, lat, lon):asc sorting.
distributedSearch execution override: on, off, local, remote, or force where supported.