Health Check π
Verify that the API server is up and responding.
/health_check/
curl -X GET
"/health_check/}" \
-H "Content-Type: application/json"
Response Example
{ "success": true, "message": "Server is up" }
Create Database π
Create a new logical database and its initial collections/fields.
/api/create_database/
Request Body
{ "db_name": "new_database", "collections": [ { "name": "users", "fields": [ {"name": "username", "type": "string"}, {"name": "age", "type": "number"} ] } ] }
curl -X POST
"/api/create_database/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022db_name\u0022: \u0022new_database\u0022,\u000A \u0022collections\u0022: [\u000A {\u000A \u0022name\u0022: \u0022users\u0022,\u000A \u0022fields\u0022: [\u000A {\u0022name\u0022: \u0022username\u0022, \u0022type\u0022: \u0022string\u0022},\u000A {\u0022name\u0022: \u0022age\u0022, \u0022type\u0022: \u0022number\u0022}\u000A ]\u000A }\u000A ]\u000A}\u000A'
Response Example
{ "success": true, "message": "Database 'new_database' and collections created successfully.", "database": { "id": "507f1f77bcf86cd799439011", "name": "new_database" }, "collections": [ { "name": "users", "id": "607e1c72e13c2a3f4a9b1234", "fields": [ {"name": "username", "type": "string"}, {"name": "age", "type": "number"} ] } ] }
Add Collections π
Add new collections (with field definitions) to an existing database.
/api/add_collection/
Request Body
{ "database_id": "507f1f77bcf86cd799439011", "collections": [ { "name": "orders", "fields": [ {"name": "order_id", "type": "string"}, {"name": "total", "type": "number"} ] } ] }
curl -X POST
"/api/add_collection/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022database_id\u0022: \u0022507f1f77bcf86cd799439011\u0022,\u000A \u0022collections\u0022: [\u000A {\u000A \u0022name\u0022: \u0022orders\u0022,\u000A \u0022fields\u0022: [\u000A {\u0022name\u0022: \u0022order_id\u0022, \u0022type\u0022: \u0022string\u0022},\u000A {\u0022name\u0022: \u0022total\u0022, \u0022type\u0022: \u0022number\u0022}\u000A ]\u000A }\u000A ]\u000A}\u000A'
Response Example
{ "success": true, "message": "Collections 'orders' created successfully.", "collections": [ { "name": "orders", "id": "607e1e33a1b2c4d5e6f78901", "fields": [ {"name": "order_id", "type": "string"}, {"name": "total", "type": "number"} ] } ], "database": { "total_collections": 2, "total_fields": 4 } }
List Databases π
Page through all databases with optional Mongo-style filter and collection count.
/api/list_databases/
Request Body
{ "page": 1, "page_size": 10, "filter": { "number_of_collections": { "$gte": 2 }, "database_name": { "$regex": "^prod_" } } }
curl -X POST
"/api/list_databases/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022page\u0022: 1,\u000A \u0022page_size\u0022: 10,\u000A \u0022filter\u0022: {\u000A \u0022number_of_collections\u0022: { \u0022$gte\u0022: 2 },\u000A \u0022database_name\u0022: { \u0022$regex\u0022: \u0022^prod_\u0022 }\u000A }\u000A}\u000A'
Response Example
{ "success": true, "data": [ {"id": "507f1f77bcf86cd799439011", "database_name": "prod_users", "num_collections": 5}, {"id": "507f1f77bcf86cd799439012", "database_name": "prod_orders", "num_collections": 3} ], "pagination": { "page": 1, "page_size": 10, "total": 2, "total_pages": 1 } }
List Collections π
Retrieve all collections in a database with document counts.
/api/list_collections/ ?
database_id=507f1f77bcf86cd799439011
Request Parameters
{'database_id': '507f1f77bcf86cd799439011'}
curl -X GET
"/api/list_collections/?database_id=507f1f77bcf86cd799439011}" \
-H "Content-Type: application/json"
Response Example
{ "success": true, "collections": [ {"name": "users", "num_documents": 42}, {"name": "orders", "num_documents": 128} ] }
Get Database Metadata π
Fetch metadata for a database including collections and fields.
/api/get_metadata/ ?
database_id=507f1f77bcf86cd799439011
Request Parameters
{'database_id': '507f1f77bcf86cd799439011'}
curl -X GET
"/api/get_metadata/?database_id=507f1f77bcf86cd799439011}" \
-H "Content-Type: application/json"
Response Example
{ "success": true, "data": { "_id": "507f1f77bcf86cd799439011", "database_name": "example_db", "number_of_collections": 2, "number_of_fields": 5, "collections": [ { "name": "users", "fields": [ {"name": "username", "type": "string"}, {"name": "email", "type": "string"} ] }, { "name": "orders", "fields": [ {"name": "order_id", "type": "string"}, {"name": "total", "type": "number"} ] } ] } }
Drop Database π
Delete a database and all collections after confirmation.
/api/drop_database/
Request Body
{ "database_id": "507f1f77bcf86cd799439011", "confirmation": "example_db" }
curl -X DELETE
"/api/drop_database/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022database_id\u0022: \u0022507f1f77bcf86cd799439011\u0022,\u000A \u0022confirmation\u0022: \u0022example_db\u0022\u000A}\u000A'
Response Example
{ "success": true, "message": "Database 'example_db' and its metadata dropped successfully" }
Drop Collections π
Remove one or more collections from a database.
/api/drop_collections/
Request Body
{ "database_id": "507f1f77bcf86cd799439011", "collection_names": ["users", "orders"] }
curl -X DELETE
"/api/drop_collections/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022database_id\u0022: \u0022507f1f77bcf86cd799439011\u0022,\u000A \u0022collection_names\u0022: [\u0022users\u0022, \u0022orders\u0022]\u000A}\u000A'
Response Example
{ "success": true, "dropped_collections": ["users", "orders"], "failed_collections": [] }
CRUD Documents π
Create, read, update, and delete documents in a collection.
/api/crud/
Request Body
{ "database_id": "507f1f77bcf86cd799439011", "collection_name": "users", "data": [ {"username": "alice", "age": 28}, {"username": "bob", "age": 34} ] }
curl -X POST
"/api/crud/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022database_id\u0022: \u0022507f1f77bcf86cd799439011\u0022,\u000A \u0022collection_name\u0022: \u0022users\u0022,\u000A \u0022data\u0022: [\u000A {\u0022username\u0022: \u0022alice\u0022, \u0022age\u0022: 28},\u000A {\u0022username\u0022: \u0022bob\u0022, \u0022age\u0022: 34}\u000A ]\u000A}\u000A'
Response Example
{ "success": true, "inserted_ids": ["60c72b2f9b1d8b1a2d3e4567", "60c72b2f9b1d8b1a2d3e4568"] }
/api/crud/ ?
database_id=507f1f77bcf86cd799439011
&
collection_name=users
&
filters={"age": {"$gt": 30}}
&
page=1
&
page_size=50
Request Parameters
{'database_id': '507f1f77bcf86cd799439011', 'collection_name': 'users', 'filters': '{"age": {"$gt": 30}}', 'page': '1', 'page_size': '50'}
curl -X GET
"/api/crud/?database_id=507f1f77bcf86cd799439011&collection_name=users&filters={"age": {"$gt": 30}}&page=1&page_size=50}" \
-H "Content-Type: application/json"
Response Example
{ "success": true, "data": [ {"_id": "60c72b2f9b1d8b1a2d3e4568", "username": "bob", "age": 34} ], "pagination": { "page": 1, "page_size": 50, "total": 1, "total_pages": 1 } }
/api/crud/
Request Body
{ "database_id": "507f1f77bcf86cd799439011", "collection_name": "users", "filters": {"username": "alice"}, "update_data": {"age": 29} }
curl -X PUT
"/api/crud/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022database_id\u0022: \u0022507f1f77bcf86cd799439011\u0022,\u000A \u0022collection_name\u0022: \u0022users\u0022,\u000A \u0022filters\u0022: {\u0022username\u0022: \u0022alice\u0022},\u000A \u0022update_data\u0022: {\u0022age\u0022: 29}\u000A}\u000A'
Response Example
{ "success": true, "modified_count": 1 }
/api/crud/
Request Body
{ "database_id": "507f1f77bcf86cd799439011", "collection_name": "users", "filters": {"age": {"$lt": 20}}, "soft_delete": false }
curl -X DELETE
"/api/crud/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022database_id\u0022: \u0022507f1f77bcf86cd799439011\u0022,\u000A \u0022collection_name\u0022: \u0022users\u0022,\u000A \u0022filters\u0022: {\u0022age\u0022: {\u0022$lt\u0022: 20}},\u000A \u0022soft_delete\u0022: false\u000A}\u000A'
Response Example
{ "success": true, "count": 2 }
Import JSON Data π
Bulk import JSON via file or raw payload. Auto-creates collection if needed.
/api/import_data/
Request Body
{ "database_id": "507f1f77bcf86cd799439011", "collection_name": "events", # optional "json_file":}
curl -X POST
"/api/import_data/}" \
-H "Content-Type: application/json" \
-d '\u000A{\u000A \u0022database_id\u0022: \u0022507f1f77bcf86cd799439011\u0022,\u000A \u0022collection_name\u0022: \u0022events\u0022, # optional\u000A \u0022json_file\u0022: \u003Cuploaded JSON file\u003E\u000A}\u000A'
Response Example
{ "success": true, "collection": "events", "inserted_count": 125 }