vectorpanda-com Collections API

The Collections API from vectorpanda-com — 7 operation(s) for collections.

Operations 11

GET /api/v1/collections List collections #
POST /api/v1/collections Create a collection #
GET /api/v1/collections/{collection} Describe a collection #
DELETE /api/v1/collections/{collection} Delete a collection #
GET /api/v1/collections/{collection}/status Poll collection readiness #
POST /api/v1/collections/{collection}/files/{filename} Upload a file #
PUT /api/v1/collections/{collection}/files/{filename} Replace an existing file #
DELETE /api/v1/collections/{collection}/files/{filename} Delete a file #
GET /api/v1/collections/{collection}/files List files in a collection #
GET /api/v1/collections/{collection}/schema Get collection schema #
POST /api/v1/collections/{collection}/schema/confirm Confirm collection schema #

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/vectorpanda-com:vectorpanda-com-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

vectorpanda-com-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vector Panda Collections API
  version: 1.0.0
  description: 'Vector search as a service. Upload vector data files, query by similarity,

    and manage collections through a single API endpoint.


    All endpoints are served from the public gateway (vectorpanda.com).

    Internal services (coordinator, artifact server, workers) are not

    directly accessible.'
  contact:
    name: Vector Panda
    url: https://vectorpanda.com
servers:
- url: https://api.vectorpanda.com
  description: Production
security:
- bearerAuth: []
tags:
- name: Collections
paths:
  /api/v1/collections:
    get:
      summary: List collections
      responses:
        '200':
          description: Collection list
          content:
            application/json:
              schema:
                type: object
                properties:
                  collections:
                    type: array
                    items:
                      $ref: '#/components/schemas/Collection'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Collections
      operationId: getApiV1Collections
      x-operation-id-source: derived
    post:
      summary: Create a collection
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - collection
              properties:
                collection:
                  type: string
                  pattern: ^[a-zA-Z0-9_-]+$
                  description: Collection name (letters, numbers, underscores, hyphens)
                tier:
                  type: string
                  enum:
                  - hot
                  - warm
                  - paused
                  default: hot
      responses:
        '201':
          description: Collection created
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: created
                  client_id:
                    type: string
                  collection:
                    type: string
        '409':
          description: Collection already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Collections
      operationId: postApiV1Collections
      x-operation-id-source: derived
  /api/v1/collections/{collection}:
    parameters:
    - name: collection
      in: path
      required: true
      schema:
        type: string
    get:
      summary: Describe a collection
      description: 'Returns full collection details including status, vector count,

        dimension, tier, performance metrics, distribution details,

        and cost breakdown.'
      responses:
        '200':
          description: Collection details
          content:
            application/json:
              schema:
                type: object
                properties:
                  collection_name:
                    type: string
                  status:
                    type: string
                  tier:
                    type: string
                  vector_count:
                    type: integer
                  dimension:
                    type: integer
                  storage_gb:
                    type: number
                  workers_serving:
                    type: integer
                  current_epoch:
                    type: integer
                  performance_metrics:
                    type: object
                  distribution_details:
                    type: object
                  cost_breakdown:
                    type: object
        '404':
          description: Collection not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Collections
      operationId: getApiV1CollectionsByCollection
      x-operation-id-source: derived
    delete:
      summary: Delete a collection
      description: 'Four-phase delete: stops distribution on coordinator, removes source

        files, deletes artifacts, finalizes coordinator DB cleanup.'
      responses:
        '200':
          description: Collection deleted
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: deleted
      tags:
      - Collections
      operationId: deleteApiV1CollectionsByCollection
      x-operation-id-source: derived
  /api/v1/collections/{collection}/status:
    parameters:
    - name: collection
      in: path
      required: true
      schema:
        type: string
    get:
      summary: Poll collection readiness
      description: 'Lightweight endpoint for polling collection status after upload.

        Returns only the collection name and status string.'
      responses:
        '200':
          description: Collection status
          content:
            application/json:
              schema:
                type: object
                properties:
                  collection:
                    type: string
                  status:
                    type: string
                    enum:
                    - empty
                    - awaiting_artifacts
                    - distributing
                    - awaiting_workers
                    - ready
                    - updating
                    - degraded
                    - paused
                    - pending_deletion
                    - unknown
        '404':
          description: Collection not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Collections
      operationId: getApiV1CollectionsByCollectionStatus
      x-operation-id-source: derived
  /api/v1/collections/{collection}/files/{filename}:
    parameters:
    - name: collection
      in: path
      required: true
      schema:
        type: string
    - name: filename
      in: path
      required: true
      schema:
        type: string
        pattern: ^[a-zA-Z0-9._-]+$
    post:
      summary: Upload a file
      description: 'Upload a vector data file to a collection. Supported formats:

        Parquet, CSV, NumPy (.npy/.npz), HDF5, Arrow IPC, JSONL,

        Safetensors, BVECS/FVECS/IVECS. Max file size: 5GB.'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
      responses:
        '201':
          description: File uploaded
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: created
                  collection:
                    type: string
                  filename:
                    type: string
                  size:
                    type: integer
        '409':
          description: File already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Collections
      operationId: postApiV1CollectionsByCollectionFilesByFilename
      x-operation-id-source: derived
    put:
      summary: Replace an existing file
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
      responses:
        '200':
          description: File replaced
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: replaced
      tags:
      - Collections
      operationId: putApiV1CollectionsByCollectionFilesByFilename
      x-operation-id-source: derived
    delete:
      summary: Delete a file
      responses:
        '200':
          description: File deleted
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: deleted
        '404':
          description: File not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Collections
      operationId: deleteApiV1CollectionsByCollectionFilesByFilename
      x-operation-id-source: derived
  /api/v1/collections/{collection}/files:
    parameters:
    - name: collection
      in: path
      required: true
      schema:
        type: string
    get:
      summary: List files in a collection
      responses:
        '200':
          description: File list
          content:
            application/json:
              schema:
                type: object
                properties:
                  collection:
                    type: string
                  files:
                    type: array
                    items:
                      $ref: '#/components/schemas/FileInfo'
      tags:
      - Collections
      operationId: getApiV1CollectionsByCollectionFiles
      x-operation-id-source: derived
  /api/v1/collections/{collection}/schema:
    parameters:
    - name: collection
      in: path
      required: true
      schema:
        type: string
    get:
      summary: Get collection schema
      description: 'Returns the detected or confirmed schema for a collection,

        including the identified vector field, ID field, and format.'
      responses:
        '200':
          description: Schema info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemaInfo'
      tags:
      - Collections
      operationId: getApiV1CollectionsByCollectionSchema
      x-operation-id-source: derived
  /api/v1/collections/{collection}/schema/confirm:
    parameters:
    - name: collection
      in: path
      required: true
      schema:
        type: string
    post:
      summary: Confirm collection schema
      description: 'Confirm the schema for a collection. Required before the artifact

        server will process uploaded files into queryable vectors.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - idField
              - vectorField
              properties:
                idField:
                  type: string
                  description: Name of the ID/key column
                vectorField:
                  type: string
                  description: Name of the vector/embedding column
                format:
                  type: string
                  description: File format (auto-detected if omitted)
                dimension:
                  type: integer
                  description: Vector dimension (auto-detected if omitted)
      responses:
        '200':
          description: Schema confirmed
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: confirmed
      tags:
      - Collections
      operationId: postApiV1CollectionsByCollectionSchemaConfirm
      x-operation-id-source: derived
components:
  schemas:
    Collection:
      type: object
      properties:
        collection_name:
          type: string
        status:
          type: string
          enum:
          - empty
          - awaiting_artifacts
          - distributing
          - awaiting_workers
          - ready
          - updating
          - degraded
          - paused
          - pending_deletion
        is_active:
          type: boolean
        tier:
          type: string
          enum:
          - hot
          - warm
          - paused
        vector_count:
          type: integer
          nullable: true
        dimension:
          type: integer
          nullable: true
        storage_gb:
          type: number
          nullable: true
        current_epoch:
          type: integer
          nullable: true
        workers_serving:
          type: integer
          nullable: true
    SchemaInfo:
      type: object
      properties:
        state:
          type: string
          enum:
          - unknown
          - suggested
          - confirmed
        format:
          type: string
        vector_field:
          type: string
        id_field:
          type: string
        dimension:
          type: integer
    FileInfo:
      type: object
      properties:
        name:
          type: string
        size:
          type: integer
          description: File size in bytes
        modified:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        error:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API key issued from the dashboard. Pass as `Authorization: Bearer <api_key>`.

        '