Typesense Vector Collections API

Create and manage collections with vector fields for semantic search and nearest-neighbor queries.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/typesense-vector-collections-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

typesense-vector-collections-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Typesense Analytics Analytics Events Vector Collections API
  description: The Typesense Analytics API allows developers to track and analyze search behavior by recording click, conversion, and visit events. It provides endpoints for creating analytics rules, logging events with metadata tags, and retrieving popular queries and queries with no results. This data can be used to improve search relevance through query suggestions, curations, and understanding user search patterns.
  version: '30.1'
  contact:
    name: Typesense Support
    url: https://typesense.org/support
  license:
    name: GPL-3.0
    url: https://www.gnu.org/licenses/gpl-3.0.html
  termsOfService: https://typesense.org/terms
servers:
- url: '{protocol}://{hostname}:{port}'
  description: Typesense Server
  variables:
    protocol:
      default: http
      enum:
      - http
      - https
    hostname:
      default: localhost
    port:
      default: '8108'
security:
- api_key_header: []
tags:
- name: Vector Collections
  description: Create and manage collections with vector fields for semantic search and nearest-neighbor queries.
paths:
  /collections:
    post:
      operationId: createVectorCollection
      summary: Create A Collection With Vector Fields
      description: Creates a collection that includes vector embedding fields for semantic search. Vector fields are defined with a type of float[] and a num_dim property specifying the number of dimensions. The embed property can be used to configure automatic embedding generation from source fields using built-in models or external APIs like OpenAI.
      tags:
      - Vector Collections
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VectorCollectionSchema'
      responses:
        '201':
          description: Vector collection created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VectorCollectionResponse'
        '400':
          description: Bad request - invalid schema or embedding configuration
        '401':
          description: Unauthorized
        '409':
          description: Conflict - collection already exists
components:
  schemas:
    EmbedConfig:
      type: object
      description: Configuration for automatic embedding generation from source fields.
      properties:
        from:
          type: array
          description: Field names to generate embeddings from. Typesense concatenates these fields and generates an embedding vector.
          items:
            type: string
        model_config:
          type: object
          description: Model configuration for embedding generation.
          properties:
            model_name:
              type: string
              description: Name of the embedding model. Supports built-in models like ts/all-MiniLM-L12-v2 or external models via OpenAI, Google, and other providers.
            api_key:
              type: string
              description: API key for external embedding services such as OpenAI.
            url:
              type: string
              description: URL of an external embedding service endpoint.
            access_token:
              type: string
              description: Access token for embedding service authentication.
            client_id:
              type: string
              description: Client ID for OAuth-based embedding services.
            client_secret:
              type: string
              description: Client secret for OAuth-based embedding services.
            project_id:
              type: string
              description: Project ID for cloud-based embedding services.
    VectorCollectionSchema:
      type: object
      required:
      - name
      - fields
      properties:
        name:
          type: string
          description: Name of the collection.
        fields:
          type: array
          description: Field definitions including vector embedding fields.
          items:
            $ref: '#/components/schemas/VectorField'
        default_sorting_field:
          type: string
          description: Default field for sorting results.
        enable_nested_fields:
          type: boolean
          description: Whether to enable indexing of nested object fields.
    VectorCollectionResponse:
      type: object
      properties:
        name:
          type: string
          description: Name of the collection.
        fields:
          type: array
          items:
            $ref: '#/components/schemas/VectorField'
        num_documents:
          type: integer
          format: int64
          description: Number of documents in the collection.
        created_at:
          type: integer
          format: int64
          description: Unix timestamp when the collection was created.
    VectorField:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
          description: Name of the field.
        type:
          type: string
          description: Data type. Use float[] for vector embedding fields.
        optional:
          type: boolean
          description: Whether this field is optional.
        facet:
          type: boolean
          description: Whether this field can be used for faceting.
        index:
          type: boolean
          description: Whether this field should be indexed.
        num_dim:
          type: integer
          description: Number of dimensions for vector fields. Required for float[] type fields used as embeddings.
        vec_dist:
          type: string
          description: Distance metric for nearest-neighbor search.
          enum:
          - cosine
          - ip
        embed:
          $ref: '#/components/schemas/EmbedConfig'
  securitySchemes:
    api_key_header:
      type: apiKey
      in: header
      name: X-TYPESENSE-API-KEY
      description: API key for authenticating requests to the Typesense server.
externalDocs:
  description: Typesense Analytics Documentation
  url: https://typesense.org/docs/30.1/api/analytics-query-suggestions.html