# ZkDatabase API - **Database** - Create new database (done) - View statistics (done) - List all databases (done) - Edit database - Delete database - **Collection** - Create new collection (done) - List all collections (done) - Get document count - Edit collection - Delete collection - Duplicate collection - View statistics - **Collection Indexes** - Create index (done) - List indexes (done) - Remove index (done) - Check if index exists (done) - **Ownership** - Change document ownership (done) - Change collection ownership (done) - List ownerships (done) - **Permissions** - Change document permissions (done) - Change collection permissions (done) - List document permissions (done) - List collection permissions (done) - **Authentication** - Register (done) - Log in (done) - Log out (done) - Get login info (done) - **Schema** - Get schema - Create schema - Validate schema - **Group** - Create new group - Edit group - Delete group - Duplicate group - Add to group (done) - Remove from group - **Proof** - Check proof status for document (new, queued, proving, proved) - Request proof (to validate locally) - **Document** - Create document (done) - Delete document (done) - Update document (done) - Read document (done) - Apply filtering and ordering - **Merkle Tree** - Get root (done) - Get node (done) - Get witness (done) - Get witness by document (done) - **Combined quering** - We also need an endpoint that will combine different entities for convenient querying. Document + proof status + permissions, etc