Vector Database API

REST API for vector database operations using Milvus.

Base URL

https://api.cloud.tenzro.com/vec

Endpoints

Create Database

POST /vec/databases
Content-Type: application/json
X-Project-ID: proj_xyz
{
"name": "embeddings",
"dimension": 1536,
"metric": "COSINE",
"index_type": "HNSW",
"index_params": {
"M": 16,
"efConstruction": 256
}
}
# Response
{
"vec_db_id": "vec_abc123",
"name": "embeddings",
"dimension": 1536,
"metric": "COSINE",
"status": "ready",
"created_at": "2024-01-15T00:00:00Z"
}

List Databases

GET /vec/databases
X-Project-ID: proj_xyz
# Response
{
"databases": [
{
"vec_db_id": "vec_abc123",
"name": "embeddings",
"dimension": 1536,
"vector_count": 10000,
"status": "ready"
}
]
}

Insert Vectors

POST /vec/databases/{vec_db_id}/vectors
Content-Type: application/json
{
"vectors": [
{
"id": "doc_1",
"vector": [0.1, 0.2, ...],
"metadata": {
"title": "Document 1",
"category": "tech"
}
}
]
}
# Response
{
"inserted": 1,
"ids": ["doc_1"]
}

Search Vectors

POST /vec/databases/{vec_db_id}/search
Content-Type: application/json
{
"vector": [0.1, 0.2, ...],
"top_k": 10,
"filter": {
"category": "tech"
},
"include_metadata": true,
"include_vectors": false
}
# Response
{
"results": [
{
"id": "doc_1",
"score": 0.95,
"metadata": {
"title": "Document 1",
"category": "tech"
}
}
]
}

Get Vector

GET /vec/databases/{vec_db_id}/vectors/{vector_id}
# Response
{
"id": "doc_1",
"vector": [0.1, 0.2, ...],
"metadata": {
"title": "Document 1"
}
}

Delete Vectors

DELETE /vec/databases/{vec_db_id}/vectors
Content-Type: application/json
{
"ids": ["doc_1", "doc_2"]
}
# Response
{
"deleted": 2
}

Delete Database

DELETE /vec/databases/{vec_db_id}
# Response
{
"success": true,
"deleted_at": "2024-01-15T12:00:00Z"
}

Filter Syntax

{
"filter": {
"category": "tech",
"score": { "$gte": 0.5 },
"tags": { "$in": ["ai", "ml"] },
"$and": [
{ "status": "active" },
{ "date": { "$gte": "2024-01-01" } }
]
}
}

Error Responses

{
"error": {
"code": "dimension_mismatch",
"message": "Vector dimension 768 does not match database dimension 1536",
"status": 400
}
}