Typesense · Capability
Typesense Vector Search API — Vector Search
Typesense Vector Search API — Vector Search. 2 operations. Lead operation: Perform Vector Or Hybrid Search. Self-contained Naftiko capability covering one Typesense business surface.
What You Can Do
GET
Vectorsearch
— Perform Vector Or Hybrid Search
/v1/collections/{collectionname}/documents/search
POST
Multivectorsearch
— Multi-search With Vector Queries
/v1/multi-search
MCP Tools
perform-vector-hybrid-search
Perform Vector Or Hybrid Search
read-only
idempotent
multi-search-vector-queries
Multi-search With Vector Queries
read-only
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Typesense Vector Search API — Vector Search
description: 'Typesense Vector Search API — Vector Search. 2 operations. Lead operation: Perform Vector Or Hybrid Search.
Self-contained Naftiko capability covering one Typesense business surface.'
tags:
- Typesense
- Vector Search
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
TYPESENSE_API_KEY: TYPESENSE_API_KEY
capability:
consumes:
- type: http
namespace: vector-search-vector-search
baseUri: ''
description: Typesense Vector Search API — Vector Search business capability. Self-contained, no shared references.
resources:
- name: collections-collectionName-documents-search
path: /collections/{collectionName}/documents/search
operations:
- name: vectorsearch
method: GET
description: Perform Vector Or Hybrid Search
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Text search query. Use * for pure vector search without keyword matching.
- name: query_by
in: query
type: string
description: Comma-separated list of fields to search against for keyword matching.
required: true
- name: vector_query
in: query
type: string
description: Vector query in the format field_name:([v1,v2,...],k:num) or field_name:([], id:doc_id) for finding
similar documents. The k parameter controls how many nearest
- name: filter_by
in: query
type: string
description: Filter conditions to narrow search results.
- name: sort_by
in: query
type: string
description: Sort conditions. Use _vector_distance for sorting by vector similarity.
- name: include_fields
in: query
type: string
description: Comma-separated list of fields to include in results.
- name: exclude_fields
in: query
type: string
description: Comma-separated list of fields to exclude from results.
- name: page
in: query
type: integer
description: Page number for pagination.
- name: per_page
in: query
type: integer
description: Number of results per page.
- name: prefix
in: query
type: string
description: Whether prefix search is enabled for keyword matching.
- name: multi_search
path: /multi_search
operations:
- name: multivectorsearch
method: POST
description: Multi-search With Vector Queries
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-TYPESENSE-API-KEY
value: '{{env.TYPESENSE_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: vector-search-vector-search-rest
port: 8080
description: REST adapter for Typesense Vector Search API — Vector Search. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/collections/{collectionname}/documents/search
name: collections-collectionname-documents-search
description: REST surface for collections-collectionName-documents-search.
operations:
- method: GET
name: vectorsearch
description: Perform Vector Or Hybrid Search
call: vector-search-vector-search.vectorsearch
with:
q: rest.q
query_by: rest.query_by
vector_query: rest.vector_query
filter_by: rest.filter_by
sort_by: rest.sort_by
include_fields: rest.include_fields
exclude_fields: rest.exclude_fields
page: rest.page
per_page: rest.per_page
prefix: rest.prefix
outputParameters:
- type: object
mapping: $.
- path: /v1/multi-search
name: multi-search
description: REST surface for multi_search.
operations:
- method: POST
name: multivectorsearch
description: Multi-search With Vector Queries
call: vector-search-vector-search.multivectorsearch
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: vector-search-vector-search-mcp
port: 9090
transport: http
description: MCP adapter for Typesense Vector Search API — Vector Search. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: perform-vector-hybrid-search
description: Perform Vector Or Hybrid Search
hints:
readOnly: true
destructive: false
idempotent: true
call: vector-search-vector-search.vectorsearch
with:
q: tools.q
query_by: tools.query_by
vector_query: tools.vector_query
filter_by: tools.filter_by
sort_by: tools.sort_by
include_fields: tools.include_fields
exclude_fields: tools.exclude_fields
page: tools.page
per_page: tools.per_page
prefix: tools.prefix
outputParameters:
- type: object
mapping: $.
- name: multi-search-vector-queries
description: Multi-search With Vector Queries
hints:
readOnly: true
destructive: false
idempotent: false
call: vector-search-vector-search.multivectorsearch
with:
body: tools.body
outputParameters:
- type: object
mapping: $.