Find Record records semantically similar to a text query, scoped to one space.
Returns the top-N records from a single space whose embedded text fields are * closest to the query (cosine similarity, descending). Pre-filtering via filter or * segment_id runs BEFORE vector ranking so the candidate base is the same as an * equivalent GET /record?filter=... listing.
Request
- Base URL: https://test.boost.space/api
- URL: https://test.boost.space/api/record/vector/similar
- Auth: HTTP bearer
Query parameters
Tenant scope. Rows from other spaces are excluded. The acting user must have read access. The custom module the records belong to is derived from space.custom_module_id — the caller does not pass it.
Free-text query to embed and rank against. Max 4000 characters to keep the URL within Apache/NGINX default 8 KB limits.
Maximum records to return. Defaults to 20. No hard upper cap at the API layer.
Filter expression in the same syntax as GET /record?filter=.... Resolves to a candidate-record set via FilterManager before vector ranking. Mutually exclusive with segment_id.
ID of a saved segment whose filter to apply. Mutually exclusive with filter. Segment must belong to module custom-module-item.
Cosine similarity floor in [0, 1]. Records whose best embedding is below this similarity are dropped at SQL level (HAVING).
Response
Ranked records.
Example response
{
"results": [
{
"recordId": 12345,
"similarity": 0.94,
"record": {
"id": 42,
"created": "2026-01-15T09:30:00Z",
"createdUserId": 42,
"statusSystemId": 42,
"statusId": 42,
"spaceId": 42,
"featuredImageId": 42,
"files": [
1
],
"labels": [
1
],
"boostId": "string",
"customFieldsValues": [
{
"id": 42,
"created": "2026-01-15T09:30:00Z",
"valueWysiwyg": "string",
"valueInt": 1,
"valueFloat": 1.5,
"valueDatetime": "2026-01-15T09:30:00Z",
"valueModule": "string",
"value": "string",
"fileId": 42,
"customFieldInputId": 42,
"module": "activities",
"table": "string",
"entityId": 42,
"customFieldInputName": "Sample customFieldInputName",
"selected": "string",
"ipAddress": "string",
"translatable": true,
"translations": {
"en": {
"field1": "translation1",
"field2": "translation2"
},
"it": {
"field1": "translation1",
"field2": "translation2"
},
"cs": {
"field1": "translation1",
"field2": "translation2"
}
}
}
]
}
}
],
"totalCandidates": 8000,
"queryTimeMs": 38
}Changes
No recorded changes to this operation across all 1 revision of this API.