This page is generated when anything in the implementation changes,
  at least every release.  Sorry for the current ugly presentation: functionality
  first.
  The implementation is really new, therefore, not everything is ready and
  complete.  Below, you find the follow conditions.
  
  | CouchDB API "stable" and official summary | impl status | Couch::DB use | 
|---|
  
      | GET / | DONE | $client->serverInfo(%options) | 
  | Returns the welcome message and version information |  |  | 
  
      | GET /_active_tasks | DONE | $client->activeTasks(%options) | 
  | Obtains a list of the tasks running in the server |  |  | 
  
      | GET /_all_dbs | DONE | $client->databaseNames(%options) | 
  | Returns a list of all the databases |  |  | 
  
      | GET /_cluster_setup | DONE | $cluster->clusterState(%options) | 
  | Return the status of the cluster setup wizard |  |  | 
  
      | POST /_cluster_setup | UNTESTED | $cluster->clusterSetup($config, %options) | 
  | Sets up a node as a single node or as part of a cluster. |  |  | 
  
      | GET /_db_updates | UNTESTED | $client->dbUpdates(\%feed, %options) | 
  | Return the server changes of databases |  |  | 
  
      | GET /_dbs_info | DONE | $client->databaseInfo(%options) | 
  | Returns all databases information |  |  | 
  
      | POST /_dbs_info | DONE | $client->databaseInfo(%options) | 
  | Returns information of a list of the specified databases |  |  | 
  
      | GET /_membership | UNTESTED | $client->clusterNodes(%options) | 
  | Returns a list of nodes |  |  | 
  
      | GET /_node/{node-name} | UNTESTED | $client->nodeName($name, %options) | 
  | Returns node name |  |  | 
  
      | GET /_node/{node-name}/_config | UNTESTED | $node->config(%options) | 
  | Obtains a list of the entire server configuration |  |  | 
  
      | POST /_node/{node-name}/_config/_reload | UNTESTED | $node->configReload(%options) | 
  | Reload the configuration from disk |  |  | 
  
      | GET /_node/{node-name}/_config/{section} | UNTESTED | $node->config(%options) | 
  | Returns all the configuration values for the specified section |  |  | 
  
      | DELETE /_node/{node-name}/_config/{section}/{key} | UNTESTED | $node->configDelete($section, $key, %options) | 
  | Removes the current setting |  |  | 
  
      | GET /_node/{node-name}/_config/{section}/{key} | UNTESTED | $node->config(%options) | 
  | Returns a specific section/configuration value |  |  | 
  
      | PUT /_node/{node-name}/_config/{section}/{key} | UNTESTED | $node->configChange($section, $key, $value, %options) | 
  | Sets the specified configuration value |  |  | 
  
      | GET /_node/{node-name}/_prometheus | UNSUPPORTED |  | 
  | Returns server statistics in prometheus format |  |  | 
  
      | POST /_node/{node-name}/_restart | UNTESTED | $node->restart(%options) | 
  | Restarts CouchDB application on a given node |  |  | 
  
      | GET /_node/{node-name}/_stats | UNTESTED | $node->stats(%options) | 
  | Returns server statistics |  |  | 
  
      | GET /_node/{node-name}/_system | UNTESTED | $node->server(%options) | 
  | Returns system-level server statistics |  |  | 
  
      | GET /_node/{node-name}/_versions | UNTESTED | $node->software(%options) | 
  | Returns system-level server version informations |  |  | 
  
      | POST /_replicate | UNTESTED | $client->replicate(\%rules, %options) | 
  | Starts or cancels the replication |  |  | 
  
      | GET /_reshard | DONE | $cluster->reshardStatus(%options) | 
  | Retrieve summary information about resharding on the cluster |  |  | 
  
      | GET /_reshard/jobs | DONE | $cluster->reshardJobs(%options) | 
  | Retrieve information about all the resharding jobs on the cluster |  |  | 
  
      | POST /_reshard/jobs | UNTESTED | $cluster->reshardStart(\%create, %options) | 
  | Create one or more resharding jobs |  |  | 
  
      | DELETE /_reshard/jobs/{jobid} | UNTESTED | $cluster->reshardJobRemove($jobid, %options) | 
  | Remove a resharding job |  |  | 
  
      | GET /_reshard/jobs/{jobid} | UNTESTED | $cluster->reshardJob($jobid, %options) | 
  | Retrieve information about a particular resharding job |  |  | 
  
      | GET /_reshard/jobs/{jobid}/state | UNTESTED | $cluster->reshardJobState($jobid, %options) | 
  | Retrieve the state of a single resharding job |  |  | 
  
      | PUT /_reshard/jobs/{jobid}/state | UNTESTED | $cluster->reshardJobChange($jobid, %options) | 
  | Change the state of a resharding job |  |  | 
  
      | GET /_reshard/state | DONE | $cluster->reshardStatus(%options) | 
  | Retrieve the state of resharding on the cluster |  |  | 
  
      | PUT /_reshard/state | UNTESTED | $cluster->resharding(%options) | 
  | Change resharding state on the cluster |  |  | 
  
      | GET /_scheduler/docs | UNTESTED | $client->replicationDocs(%options) | 
  | Retrieve information about replication documents from the ``_replicator`` database. |  |  | 
  
      | GET /_scheduler/docs/{replicator_db} | UNTESTED | $client->replicationDocs(%options) | 
  | Retrieve information about replication documents from a specific replicator database. |  |  | 
  
      | GET /_scheduler/docs/{replicator_db}/{docid} | UNTESTED | $client->replicationDoc($doc|$docid, %options) | 
  | Retrieve information about a particular replication document |  |  | 
  
      | GET /_scheduler/jobs | UNTESTED | $client->replicationJobs(%options) | 
  | Retrieve information about replication jobs |  |  | 
  
      | POST /_search_analyze | UNTESTED | $couch->searchAnalyze(%options) | 
  | Tests the results of analyzer tokenization |  |  | 
  
      | DELETE /_session | UNTESTED | $client->logout(%options) | 
  | Logout Cookie-based user |  |  | 
  
      | GET /_session | UNTESTED | $client->session(%options) | 
  | Returns Cookie-based login user information |  |  | 
  
      | POST /_session | UNTESTED | $client->login(%options) | 
  | Authenticates user by Cookie-based user login |  |  | 
  
      | GET /_up | UNTESTED | $client->serverStatus(%options) | 
  | Health check endpoint |  |  | 
  
      | GET /_utils | UNSUPPORTED |  | 
  | Redirects to /_utils/ |  |  | 
  
      | GET /_utils/ | UNSUPPORTED |  | 
  | CouchDB administration interface (Fauxton) |  |  | 
  
      | GET /_uuids | DONE | $couch->requestUUIDs($count, %options) | 
  | Generates a list of UUIDs from the server |  |  | 
  
      | GET /favicon.ico | UNSUPPORTED |  | 
  | Returns the site icon |  |  | 
  
      | DELETE /{db} | DONE | $db->remove(%options) | 
  | Deletes an existing database |  |  | 
  
      | GET /{db} | DONE | $db->details(%options) | 
  | Returns the database information |  |  | 
  
      | HEAD /{db} | DONE | $db->ping(%options) | 
  | Checks the database existence |  |  | 
  
      | POST /{db} | DONE | $doc->create(\%data, %options) | 
  | Creates a new document with generated ID if _id is not specified |  |  | 
  
      | PUT /{db} | DONE | $db->create(%options) | 
  | Creates a new database |  |  | 
  
      | GET /{db}/_all_docs | DONE | $db->search([\%search|\@%search, %options]) | 
  | Returns a built-in view of all documents in this database |  |  | 
  
      | POST /{db}/_all_docs | DONE | $db->search([\%search|\@%search, %options]) | 
  | Returns a built-in view of all documents in this database |  |  | 
  
      | POST /{db}/_all_docs/queries | UNTESTED | $db->search([\%search|\@%search, %options]) | 
  | Returns results for the specified queries |  |  | 
  
      | POST /{db}/_bulk_docs | DONE | $db->saveBulk(\@docs, %options) | 
  | Inserts or updates multiple documents in to the database in a single request |  |  | 
  
      | POST /{db}/_bulk_get | UNTESTED | $db->inspectDocs(\@docs, %options) | 
  | Fetches several documents at the given revisions |  |  | 
  
      | GET /{db}/_changes | TODO | $db->changes(%options) | 
  | Returns changes for the given database |  |  | 
  
      | POST /{db}/_changes | TODO | $db->changes(%options) | 
  | Returns changes for the given database for certain document IDs |  |  | 
  
      | POST /{db}/_compact | DONE | $db->compact(%options) | 
  | Starts a compaction for the database |  |  | 
  
      | POST /{db}/_compact/{ddoc} | UNTESTED | $db->compact(%options) | 
  | Starts a compaction for all the views in the selected design document |  |  | 
  
      | COPY /{db}/_design/{ddoc} | DONE | $ddoc->cloneInto($doc, %options) | 
  | Copies the design document | DONE | $ddoc->appendTo($doc, %options) | 
  
      | DELETE /{db}/_design/{ddoc} | DONE | $ddoc->delete(%options) | 
  | Deletes the design document |  |  | 
  
      | GET /{db}/_design/{ddoc} | DONE | $ddoc->get(%options) | 
  | Returns the design document |  |  | 
  
      | HEAD /{db}/_design/{ddoc} | DONE | $ddoc->exists(%option) | 
  | Returns bare information in the HTTP Headers for the design document |  |  | 
  
      | PUT /{db}/_design/{ddoc} | DONE | $ddoc->update(\%data, %options) | 
  | Creates a new design document or new version of an existing one |  |  | 
  
      | GET /{db}/_design/{ddoc}/_info | UNTESTED | $ddoc->details(%options) | 
  | Returns view index information for the specified design document |  |  | 
  
      | GET /{db}/_design/{ddoc}/_list/{func}/{other-ddoc}/{view} | UNTESTED | $ddoc->list($function, $view, %options) | 
  | Executes a list function against the view from other design document |  |  | 
  
      | POST /{db}/_design/{ddoc}/_list/{func}/{other-ddoc}/{view} | UNTESTED | $ddoc->list($function, $view, %options) | 
  | Same as GET method for the related endpoint |  |  | 
  
      | GET /{db}/_design/{ddoc}/_list/{func}/{view} | UNTESTED | $ddoc->list($function, $view, %options) | 
  | Executes a list function against the view from the same design document |  |  | 
  
      | POST /{db}/_design/{ddoc}/_list/{func}/{view} | UNTESTED | $ddoc->list($function, $view, %options) | 
  | Same as GET method for the related endpoint |  |  | 
  
      | ANY /{db}/_design/{ddoc}/_rewrite/{path} | UNSUPPORTED |  | 
  | Rewrites HTTP request for the specified path by using stored array of routing rules or JavaScript function |  |  | 
  
      | GET /{db}/_design/{ddoc}/_search/{index} | UNTESTED | $ddoc->indexFind($index, %options) | 
  | Returns results for the specified search index |  |  | 
  
      | GET /{db}/_design/{ddoc}/_search_info/{index} | UNTESTED | $ddoc->indexDetails($index, %options) | 
  | Returns metadata for the specified search index |  |  | 
  
      | GET /{db}/_design/{ddoc}/_show/{func} | UNTESTED | $ddoc->show($function, [$doc|$docid|undef, %options]) | 
  | Executes a show function against null document |  |  | 
  
      | POST /{db}/_design/{ddoc}/_show/{func} | UNTESTED | $ddoc->show($function, [$doc|$docid|undef, %options]) | 
  | Same as GET method for the related endpoint |  |  | 
  
      | GET /{db}/_design/{ddoc}/_show/{func}/{docid} | UNTESTED | $ddoc->show($function, [$doc|$docid|undef, %options]) | 
  | Executes a show function against the specified document |  |  | 
  
      | POST /{db}/_design/{ddoc}/_show/{func}/{docid} | UNTESTED | $ddoc->show($function, [$doc|$docid|undef, %options]) | 
  | Same as GET method for the related endpoint |  |  | 
  
      | POST /{db}/_design/{ddoc}/_update/{func} | UNTESTED | $ddoc->applyUpdate($function, [$doc|$docid|undef, %options]) | 
  | Executes an update function against the null document |  |  | 
  
      | POST /{db}/_design/{ddoc}/_update/{func}/{docid} | UNTESTED | $ddoc->applyUpdate($function, [$doc|$docid|undef, %options]) | 
  | Executes an update function against the specified document |  |  | 
  
      | GET /{db}/_design/{ddoc}/_view/{view} | UNTESTED | $ddoc->viewSearch($view, [\%search|\@%search), %options]) | 
  | Returns results for the specified stored view |  |  | 
  
      | POST /{db}/_design/{ddoc}/_view/{view} | UNTESTED | $ddoc->viewSearch($view, [\%search|\@%search), %options]) | 
  | Returns results for the specified view |  |  | 
  
      | POST /{db}/_design/{ddoc}/_view/{view}/queries | UNTESTED | $ddoc->viewSearch($view, [\%search|\@%search), %options]) | 
  | Returns results for the specified queries |  |  | 
  
      | DELETE /{db}/_design/{ddoc}/{attname} | DONE | $ddoc->attDelete($name, %options) | 
  | Deletes an attachment of a design document |  |  | 
  
      | GET /{db}/_design/{ddoc}/{attname} | DONE | $ddoc->attLoad($name, %options) | 
  | Gets the attachment of a design document |  |  | 
  
      | HEAD /{db}/_design/{ddoc}/{attname} | DONE | $ddoc->attExists($name, %options) | 
  | Returns bare information in the HTTP Headers for the attachment |  |  | 
  
      | PUT /{db}/_design/{ddoc}/{attname} | DONE | $ddoc->attSave($name, $data, %options) | 
  | Adds an attachment of a design document |  |  | 
  
      | GET /{db}/_design_docs | UNTESTED | $db->designs([\%search|\@%search, %options]) | 
  | Returns a built-in view of all design documents in this database |  |  | 
  
      | POST /{db}/_design_docs | UNTESTED | $db->designs([\%search|\@%search, %options]) | 
  | Returns a built-in view of all design documents in this database |  |  | 
  
      | POST /{db}/_design_docs/queries | UNTESTED | $db->designs([\%search|\@%search, %options]) | 
  |  |  |  | 
  
      | POST /{db}/_ensure_full_commit | DONE | $db->ensureFullCommit(%options) | 
  | Deprecated endpoint to support CouchDB versions < 3.0 replicators. |  |  | 
  
      | POST /{db}/_explain | DONE | $db->findExplain(\%search, %options) | 
  | Identify which index is being used by a particular query. |  |  | 
  
      | POST /{db}/_find | DONE | $db->find([\%search, %options]) | 
  | Find documents within a given database |  |  | 
  
      | GET /{db}/_index | UNTESTED | $db->indexes(%options) | 
  | List all indexes. |  |  | 
  
      | POST /{db}/_index | UNTESTED | $db->createIndex(\%filter, %options) | 
  | Create a new index. | UNTESTED | $ddoc->createIndex(\%filter, %options) | 
  
      | DELETE /{db}/_index/{designdoc}/json/{name} | UNTESTED | $ddoc->deleteIndex($index, %options) | 
  | Delete an index |  |  | 
  
      | COPY /{db}/_local/{docid} | PARTIAL | $doc->cloneInto($doc, %options) | 
  | Copies the local document within the same database | PARTIAL | $doc->appendTo($doc, %options) | 
  
      | DELETE /{db}/_local/{docid} | DONE | $doc->delete(%options) | 
  | Deletes the local document |  |  | 
  
      | GET /{db}/_local/{docid} | DONE | $doc->get([\%flags, %options]) | 
  | Returns the latest revision of the local document |  |  | 
  
      | PUT /{db}/_local/{docid} | DONE | $doc->update(\%data, %options) | 
  | Inserts a new version of the local document |  |  | 
  
      | GET /{db}/_local_docs | UNTESTED | $db->search([\%search|\@%search, %options]) | 
  | Returns a built-in view of all local (non-replicating) documents in this database |  |  | 
  
      | POST /{db}/_local_docs | UNTESTED | $db->search([\%search|\@%search, %options]) | 
  | Returns a built-in view of all local (non-replicating) documents in this database |  |  | 
  
      | POST /{db}/_local_docs/queries | UNTESTED | $db->search([\%search|\@%search, %options]) | 
  |  |  |  | 
  
      | POST /{db}/_missing_revs | UNTESTED | $db->revisionsMissing(\%plan, %options) | 
  | By given list of document revisions returns the document revisions that do not exist in the database |  |  | 
  
      | POST /{db}/_partition/{partition_id}/_explain | UNTESTED | $db->findExplain(\%search, %options) | 
  | Find index that is used with a query |  |  | 
  
      | POST /{db}/_partition/{partition_id}/_find | UNTESTED | $db->find([\%search, %options]) | 
  | Query the partition specified by ``partition_id`` |  |  | 
  
      | GET /{db}/_partition/{partition} | UNTESTED | $db->details(%options) | 
  | Returns document and size info for the given partition |  |  | 
  
      | GET /{db}/_partition/{partition}/_all_docs | UNTESTED | $db->search([\%search|\@%search, %options]) | 
  | Return all docs in the specified partition |  |  | 
  
      | GET /{db}/_partition/{partition}/_design/{ddoc}/_view/{view} | UNTESTED | $ddoc->viewSearch($view, [\%search|\@%search), %options]) | 
  | Execute a partitioned query |  |  | 
  
      | POST /{db}/_purge | UNTESTED | $db->purgeDocs(\%plan, %options) | 
  | Purges documents entirely from database |  |  | 
  
      | GET /{db}/_purged_infos_limit | UNTESTED | $db->purgeRecordsLimit(%options) | 
  | Returns the limit of historical purges to store in the database |  |  | 
  
      | PUT /{db}/_purged_infos_limit | UNTESTED | $db->purgeRecordsLimitSet($limit, %options) | 
  | Sets the limit of historical purges to store in the database |  |  | 
  
      | POST /{db}/_revs_diff | UNTESTED | $db->revisionsDiff(\%plan, %options) | 
  | By given list of document revisions returns differences between the given revisions and ones that are in the database |  |  | 
  
      | GET /{db}/_revs_limit | UNTESTED | $db->revisionLimit(%options) | 
  | Returns the limit of historical revisions to store for a single document in the database |  |  | 
  
      | PUT /{db}/_revs_limit | UNTESTED | $db->revisionLimitSet($limit, %options) | 
  | Sets the limit of historical revisions to store for a single document in the database |  |  | 
  
      | GET /{db}/_security | DONE | $db->userRoles(%options) | 
  | Returns the special security object for the database |  |  | 
  
      | PUT /{db}/_security | UNTESTED | $db->userRolesChange(%options) | 
  | Sets the special security object for the database |  |  | 
  
      | GET /{db}/_shards | DONE | $cluster->shardsForDB($db, %options) | 
  | Displays the shard map layout of a database |  |  | 
  
      | GET /{db}/_shards/{docid} | DONE | $cluster->shardsForDoc($doc, %options) | 
  | Returns the specific shard in which a document is stored |  |  | 
  
      | POST /{db}/_sync_shards | DONE | $cluster->syncShards($db, %options) | 
  | Trigger a synchronization of all shard replicas in the database |  |  | 
  
      | POST /{db}/_view_cleanup | UNTESTED | $db->purgeUnusedViews(%options) | 
  | Removes view files that are not used by any design document |  |  | 
  
      | COPY /{db}/{docid} | PARTIAL | $doc->cloneInto($doc, %options) | 
  | Copies the document within the same database | PARTIAL | $doc->appendTo($doc, %options) | 
  
      | DELETE /{db}/{docid} | DONE | $doc->delete(%options) | 
  | Deletes the document |  |  | 
  
      | GET /{db}/{docid} | DONE | $doc->get([\%flags, %options]) | 
  | Returns the document |  |  | 
  
      | HEAD /{db}/{docid} | DONE | $doc->exists(%option) | 
  | Returns bare information in the HTTP Headers for the document |  |  | 
  
      | PUT /{db}/{docid} | DONE | $doc->update(\%data, %options) | 
  | Creates a new document or new version of an existing document |  |  | 
  
      | DELETE /{db}/{docid}/{attname} | UNTESTED | $doc->attDelete($name, %options) | 
  | Deletes an attachment of a document |  |  | 
  
      | GET /{db}/{docid}/{attname} | UNTESTED | $doc->attLoad($name, %options) | 
  | Gets the attachment of a document |  |  | 
  
      | HEAD /{db}/{docid}/{attname} | UNTESTED | $doc->attExists($name, %options) | 
  | Returns bare information in the HTTP Headers for the attachment |  |  | 
  
      | PUT /{db}/{docid}/{attname} | UNTESTED | $doc->attSave($name, $data, %options) | 
  | Adds an attachment of a document |  |  |