Collections
/_api/database/:db/collection
Create a new collection.
Request Body Options
| Field | Type | Description | Required |
|---|---|---|---|
| name | string | The name of the collection. | Yes |
| type | string | Collection type: document (default), edge, or blob. |
No |
| numShards | integer | Number of shards. Default: 1. | No |
| shardKey | string | Field to shard by. Default: _key. |
No |
| replicationFactor | integer | Number of replicas. Default: 1. | No |
Response
/_api/database/:db/collection
List all collections in a database.
Response
/_api/database/:db/collection/:name/sharding
Get sharding details (nodes, shards, status).
Response
/_api/database/:db/collection/:name/stats
Get collection statistics (count, size).
Response
/_api/database/:db/collection/:name/properties
Update collection properties (e.g. sharding).
Request Body Options
| Field | Type | Description | Required |
|---|---|---|---|
| numShards | integer | New number of shards (triggers rebalance). | No |
| replicationFactor | integer | New replication factor. | No |
/_api/database/:db/collection/:name/truncate
Remove all documents from a collection.
Response
/_api/database/:db/collection/:name/compact
Trigger compaction for a collection to reclaim space.
Response
/_api/database/:db/collection/:name/recount
Recalculate collection document count.
Response
/_api/database/:db/collection/:name/repair
Repair collection shards (fix metadata inconsistencies).
Response
/_api/database/:db/collection/:name/count
Get document count for a collection.
Response
/_api/database/:db/collection/:name/prune
Delete old document revisions to free up space.
Response
/_api/database/:db/collection/:name
Drop a collection.
Response
/_api/database/:db/collection/:name/export
Export collection data.
Response
/_api/database/:db/collection/:name/import
Import data into collection.
Supported Formats
Send raw data in the request body. Format is auto-detected:
- JSON Array:
[{"name": "a"}, {"name": "b"}] - JSONL: Newline-delimited JSON objects.
- Mixed JSONL/Binary: For blob collections, streams JSON metadata followed immediately by raw binary data chunks.
- CSV: Comma-separated values (first row as headers).
Schema Management
/_api/database/:db/collection/:name/schema
Set or update the JSON schema for a collection.
Request Body Options
| Field | Type | Description | Required |
|---|---|---|---|
| name | string | Schema name (e.g. "users_v1"). | Yes |
| validation_mode | string | One of: off, lenient, strict. |
Yes |
| schema | object | The JSON Schema object (Draft 7+). | Yes |
Response
/_api/database/:db/collection/:name/schema
Get the current schema for a collection.
Response
/_api/database/:db/collection/:name/schema
Remove the schema (disables validation).
Response
Columnar Collections
/_api/database/:db/columnar
Create a new columnar collection.
Request Body
Response
/_api/database/:db/columnar/:name/insert
Insert rows into a columnar collection.
Request Body
/_api/database/:db/columnar/:name/query
Query rows with filters (optimized scan).
Request Body
/_api/database/:db/columnar/:name/aggregate
Run aggregation functionality.
Request Body
/_api/database/:db/columnar/:name/index
Create an index on a columnar collection column.
Request Body
Response
/_api/database/:db/columnar/:name/indexes
List indexes on a columnar collection.
Response
/_api/database/:db/columnar/:name/index/:column
Drop an index from a columnar collection.