Skip to content

[Feat] RAG Ingestion 5/11: Vector Store Management API #1268

@yossiovadia

Description

@yossiovadia

Summary

Implement OpenAI-compatible REST endpoints for vector store CRUD operations.

Part of #1262

Scope

Files to create:

  • pkg/apiserver/route_vectorstore.go - REST endpoint handlers
  • pkg/apiserver/route_vectorstore_test.go

Files to modify:

  • pkg/apiserver/server.go - Register new routes

Endpoints

Method Path Description
POST /v1/vector_stores Create vector store
GET /v1/vector_stores List vector stores (pagination)
GET /v1/vector_stores/{id} Get vector store details
POST /v1/vector_stores/{id} Update vector store
DELETE /v1/vector_stores/{id} Delete vector store + all data

Key Design Decisions

  • VectorStoreManager orchestrates API calls + backend operations
  • In-memory registry of vector stores (map[string]*VectorStore)
  • Response format matches OpenAI API (object, id, created_at, etc.)
  • Follows existing API server patterns (parseJSONRequest, writeJSONResponse)

Acceptance Criteria

  • All 5 CRUD endpoints work correctly
  • Pagination with limit/order/after/before on list
  • Delete cascades to backend collection
  • Error handling for missing/invalid IDs
  • Tests for all endpoints

Dependencies

Depends on PR 1 (types), PR 3 (backends).

Branch: feat/rag-05-vectorstore-apifeat/rag-ingestion

Metadata

Metadata

Assignees

Labels

athenav0.2 Athena milestone taskspriority/P1Important / Should-Have

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions