@@ -13,11 +13,11 @@ VortexDB's HTTP API provides a RESTful interface for vector operations using JSO
1313http://localhost:3000
1414```
1515
16- The port can be configured via the ` HTTP_PORT ` environment variable.
16+ The port can be configured via the ` HTTP_PORT ` environment variable. The server binds to ` 127.0.0.1 ` by default.
1717
18- <Note >
19- The HTTP API does not require authentication and is designed for development and trusted internal networks. For production, use the gRPC API or deploy behind a reverse proxy with authentication .
20- </Note >
18+ <Warning >
19+ The HTTP API has no authentication. Always deploy behind a reverse proxy or disable it with ` DISABLE_HTTP=true ` in production .
20+ </Warning >
2121
2222---
2323
@@ -67,7 +67,7 @@ Vector Database server is running!
6767
6868<ParamField body = " payload" type = " object" required >
6969 Metadata object associated with the vector.
70-
70+
7171 <Expandable title = " payload properties" >
7272 <ParamField body = " content_type" type = " string" required >
7373 Type of content: ` "Text" ` or ` "Image" `
@@ -79,7 +79,7 @@ Vector Database server is running!
7979</ParamField >
8080
8181<ResponseField name = " point_id" type = " string" >
82- The UUID of the created point.
82+ UUID of the created point.
8383</ResponseField >
8484
8585<CodeGroup >
@@ -111,12 +111,61 @@ curl -X POST http://localhost:3000/points \
111111
112112---
113113
114+ ### Batch Insert
115+
116+ Insert multiple vectors in a single request.
117+
118+ <ParamField body = " vectors" type = " array" required >
119+ Array of insert objects, each with ` vector ` and ` payload ` fields (same shape as single insert).
120+ </ParamField >
121+
122+ <ResponseField name = " point_ids" type = " array" >
123+ Array of UUIDs for each created point, in the same order as the input.
124+ </ResponseField >
125+
126+ <CodeGroup >
127+ ``` bash Request
128+ curl -X POST http://localhost:3000/points/batch \
129+ -H " Content-Type: application/json" \
130+ -d ' {
131+ "vectors": [
132+ {
133+ "vector": [0.1, 0.2, 0.3, 0.4],
134+ "payload": {"content_type": "Text", "content": "Document one"}
135+ },
136+ {
137+ "vector": [0.5, 0.6, 0.7, 0.8],
138+ "payload": {"content_type": "Text", "content": "Document two"}
139+ }
140+ ]
141+ }'
142+ ```
143+
144+ ``` json Response (201 Created)
145+ {
146+ "point_ids" : [
147+ " 550e8400-e29b-41d4-a716-446655440000" ,
148+ " 6ba7b810-9dad-11d1-80b4-00c04fd430c8"
149+ ]
150+ }
151+ ```
152+ </CodeGroup >
153+
154+ ** Error Responses:**
155+
156+ | Status | Description |
157+ | --------| -------------|
158+ | ` 400 Bad Request ` | Invalid JSON or missing fields |
159+ | ` 500 Internal Server Error ` | Server error during insertion |
160+
161+ ---
162+
114163### Get Point
115164
116165Retrieve a point by its ID.
117166
118167<ParamField path = " id" type = " string" required >
119- The UUID of the point to retrieve.
168+ UUID of the point to retrieve.
120169</ParamField >
121170
122171<ResponseField name = " id" type = " string" >
@@ -162,7 +211,7 @@ curl http://localhost:3000/points/550e8400-e29b-41d4-a716-446655440000
162211Delete a point by its ID.
163212
164213<ParamField path = " id" type = " string" required >
165- The UUID of the point to delete.
214+ UUID of the point to delete.
166215</ParamField >
167216
168217<CodeGroup >
@@ -234,42 +283,46 @@ curl -X POST http://localhost:3000/points/search \
234283
235284---
236285
237- ## Data Types
238-
239- ### Vector
286+ ### Batch Search
240287
241- An array of floating-point numbers:
288+ Search against multiple query vectors in a single request.
242289
243- ``` json
244- [ 0.1 , 0.2 , 0.3 , 0.4 ]
245- ```
290+ < ParamField body = " queries " type = " array " required >
291+ Array of search query objects, each with ` vector ` , ` similarity ` , and ` limit ` .
292+ </ ParamField >
246293
247- <Warning >
248- The vector length must match the ` DIMENSION ` environment variable configured on the server .
249- </Warning >
294+ <ResponseField name = " results " type = " array " >
295+ Array of result arrays, one per input query, each ordered by similarity .
296+ </ResponseField >
250297
251- ### Payload
298+ <CodeGroup >
299+ ``` bash Request
300+ curl -X POST http://localhost:3000/points/search/batch \
301+ -H " Content-Type: application/json" \
302+ -d ' {
303+ "queries": [
304+ {"vector": [0.1, 0.2, 0.3, 0.4], "similarity": "Cosine", "limit": 2},
305+ {"vector": [0.5, 0.6, 0.7, 0.8], "similarity": "Euclidean", "limit": 2}
306+ ]
307+ }'
308+ ```
252309
253- ``` json
310+ ``` json Response (200 OK)
254311{
255- "content_type" : " Text" ,
256- "content" : " Your content here"
312+ "results" : [
313+ [" 550e8400-..." , " 6ba7b810-..." ],
314+ [" f47ac10b-..." , " 9a1b2c3d-..." ]
315+ ]
257316}
258317```
318+ </CodeGroup >
259319
260- | Field | Type | Values |
261- | -------| ------| --------|
262- | ` content_type ` | string | ` "Text" ` or ` "Image" ` |
263- | ` content ` | string | Any string content |
264-
265- ### Similarity
320+ ** Error Responses:**
266321
267- | Value | Description |
268- | -------| -------------|
269- | ` "Euclidean" ` | L2 distance (straight line) |
270- | ` "Manhattan" ` | L1 distance (city block) |
271- | ` "Hamming" ` | Count of differing elements |
272- | ` "Cosine" ` | Angular distance (1 - cosine similarity) |
322+ | Status | Description |
323+ | --------| -------------|
324+ | ` 400 Bad Request ` | Invalid JSON or missing fields |
325+ | ` 500 Internal Server Error ` | Server error during search |
273326
274327---
275328
@@ -325,19 +378,6 @@ curl -X POST http://localhost:3000/points/search \
325378curl -X DELETE http://localhost:3000/points/$POINT_ID
326379```
327380
328- ### Batch Insert (using shell loop)
329-
330- ``` bash
331- for i in {1..10}; do
332- curl -s -X POST http://localhost:3000/points \
333- -H " Content-Type: application/json" \
334- -d " {
335- \" vector\" : [$( echo " scale=2; $i /10" | bc) , $( echo " scale=2; $i /10 + 0.1" | bc) , 0.3, 0.4],
336- \" payload\" : {\" content_type\" : \" Text\" , \" content\" : \" Document $i \" }
337- }"
338- done
339- ```
340-
341381---
342382
343383## OpenAPI Specification
@@ -358,7 +398,7 @@ You can import this into tools like Postman or Swagger UI for interactive API ex
358398 <Card title = " gRPC API" icon = " bolt" href = " /api-reference/grpc" >
359399 High-performance gRPC API reference
360400 </Card >
361- <Card title = " Python SDK" icon = " python" href = " /guides/python- sdk" >
362- Build applications with the Python client
401+ <Card title = " Python SDK" icon = " python" href = " /sdk/reference " >
402+ Python client documentation
363403 </Card >
364404</CardGroup >
0 commit comments