Endpoints
Base URL:
https://mrhisearch.com/api/demoAuthenticated routes require:
Authorization: Bearer mrhi_demo__YOUR_TOKENPublic routes
Section titled “Public routes”| Method | Path | Auth | Purpose |
|---|---|---|---|
GET | / | No | Demo overview |
GET | /sdk.js | No | Hosted browser/client SDK |
GET | /limits | No | Live public limits |
POST | /token | No | Create anonymous demo token |
Session routes
Section titled “Session routes”| Method | Path | Auth | Purpose |
|---|---|---|---|
GET | /session | Yes | Inspect current session and stats |
POST | /index/reset | Yes | Fully delete the current index |
Vector routes
Section titled “Vector routes”| Method | Path | Auth | Purpose |
|---|---|---|---|
POST | /vectors/has | Yes | Check whether one id exists |
POST | /vectors/get | Yes | Get one vector |
POST | /vectors/get-many | Yes | Get multiple vectors |
POST | /vectors/metadata/get | Yes | Get metadata for one vector |
POST | /vectors/metadata/set | Yes | Set metadata for one vector |
POST | /vectors/metadata/delete | Yes | Delete metadata for one vector |
POST | /vectors/add | Yes | Add or replace one vector |
POST | /vectors/add-many | Yes | Add or replace many vectors |
POST | /vectors/delete | Yes | Delete one vector |
POST | /vectors/delete-many | Yes | Delete many vectors |
POST | /vectors/clear | Yes | Remove all vectors but keep configuration |
Search routes
Section titled “Search routes”| Method | Path | Auth | Purpose |
|---|---|---|---|
POST | /search | Yes | Search one query vector |
POST | /search-many | Yes | Search multiple query vectors |
Common request bodies
Section titled “Common request bodies”One id
Section titled “One id”{ "id": "doc-1" }Many ids
Section titled “Many ids”{ "ids": ["doc-1", "doc-2"] }Add one vector
Section titled “Add one vector”{ "dimensions": 3, "metric": "cosine", "id": "doc-1", "vector": [1, 0, 0], "metadata": { "category": "news" }}Add many vectors
Section titled “Add many vectors”{ "dimensions": 3, "metric": "cosine", "vectors": [ { "id": "doc-1", "vector": [1, 0, 0], "metadata": { "category": "news" } } ]}Search
Section titled “Search”{ "queryVector": [1, 0, 0], "topK": 10, "candidatePool": 64, "includeMetadata": true, "filter": { "category": "news" }}Search many
Section titled “Search many”{ "queryVectors": [ [1, 0, 0], [0, 1, 0] ], "topK": 10, "candidatePool": 64, "includeMetadata": true, "filter": { "category": "news" }}Response fields
Section titled “Response fields”Common top-level fields:
successmetrics
Common route-specific fields:
tokenusagelimitssessionstatsresultsvectorvectorsmetadatahasmutation
Route-by-route timing fields
Section titled “Route-by-route timing fields”Every response includes metrics.requestLatencyMs.
Additional fields by route:
| Route | Additional metric fields |
|---|---|
POST /token | tokenIssueMs |
GET /session | dbOpenMs, statsReadMs |
POST /vectors/has | dbOpenMs, hasMs |
POST /vectors/get | dbOpenMs, getMs |
POST /vectors/get-many | dbOpenMs, getManyMs |
POST /vectors/metadata/get | dbOpenMs, getMetadataMs |
POST /vectors/metadata/set | dbOpenMs, setMetadataMs |
POST /vectors/metadata/delete | dbOpenMs, deleteMetadataMs |
POST /vectors/add | dbOpenMs, capacityCheckMs, addMs |
POST /vectors/add-many | dbOpenMs, capacityCheckMs, addManyMs |
POST /search | dbOpenMs, searchMs, resultCount |
POST /search-many | dbOpenMs, searchManyMs, queryCount, resultCount |
POST /index/reset | resetMs |
POST /vectors/delete | dbOpenMs, deleteMs |
POST /vectors/delete-many | dbOpenMs, deleteManyMs |
POST /vectors/clear | dbOpenMs, clearMs |
Validation rules worth knowing
Section titled “Validation rules worth knowing”dimensionsmust be a positive integer and cannot exceed1024topKmust be between1and100candidatePoolmust be between1and2048searchManybatch size is capped by the live limits endpointaddMany,getMany, anddeleteManybatch sizes are capped by the live limits endpoint- metadata and filters must be plain JSON objects
For live values, call Limits and Metrics.