Vector Database

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.

get/record/vector/similar

Request

  • Base URL: https://test.boost.space/api
  • URL: https://test.boost.space/api/record/vector/similar
  • Auth: HTTP bearer

Query parameters

space_idinteger required
Example:123

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.

querystring required
Example:software company focused on automation

Free-text query to embed and rank against. Max 4000 characters to keep the URL within Apache/NGINX default 8 KB limits.

limitinteger
Example:20

Maximum records to return. Defaults to 20. No hard upper cap at the API layer.

filterstring
Example:category=software;status=active

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.

segment_idinteger
Example:789

ID of a saved segment whose filter to apply. Mutually exclusive with filter. Segment must belong to module custom-module-item.

min_similaritynumber float
Example:0.8

Cosine similarity floor in [0, 1]. Records whose best embedding is below this similarity are dropped at SQL level (HAVING).

Response

Ranked records.

totalCandidatesinteger

Number of records with at least one embedding in the filtered scope.

queryTimeMsinteger

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.