IBM Cloud Docs
Comparison of IBM Cloudant and Apache CouchDB API endpoints

Comparison of IBM Cloudant and Apache CouchDB API endpoints

The IBM® Cloudant® for IBM Cloud® and Apache CouchDB 3.x API endpoints, and the methods for accessing them, are described here.

The table shows you which endpoints are present in the CouchDB or IBM Cloudant service.

Some CouchDB endpoints don't have IBM Cloudant equivalents because it wouldn't be meaningful. Similarly, some IBM Cloudant endpoints don't have CouchDB equivalents.

While IBM Cloudant is API-compliant with CouchDB, IBM Cloudant doesn't support URL rewrites from the JavaScript function.

For more information about a specific endpoint on a service, click the corresponding link.

Table 1. Compare IBM Cloudant and Apache CouchDB API endpoints
Endpoint & Links Description
GET /
Cloudant, CouchDB
Retrieve meta-information about the instance.
GET /_active_tasks
Cloudant, CouchDB
Retrieve a list of running tasks.
GET /_all_dbs
Cloudant, CouchDB
Query a list of all database names in the instance.
POST /_api/v2/api_keys
Cloudant
Generate an API key.
GET /_api/v2/db/{db}/_security
Cloudant
Retrieve database permissions information.
PUT /_api/v2/db/{db}/_security
Cloudant
Modify only Cloudant related permissions to database.
GET /_api/v2/monitoring
Cloudant
Monitor a specific cluster aspect.
GET /_api/v2/user/config/cors
Cloudant
Retrieve CORS configuration information.
PUT /_api/v2/user/config/cors
Cloudant
Modify the CORS configuration.
GET /_db_updates
CouchDB
List all database events in the instance.
The endpoint is not available in IBM Cloudant.
GET /_membership
Cloudant, CouchDB
Retrieve cluster membership information. Active clusters are indicated in the cluster_nodes field, while all_nodes has all nodes.
POST /_replicate
Cloudant, CouchDB
Request, configure, or stop a replication operation.
IBM Cloudant documentation references more request body fields (selector, since_seq).
PUT /_replicator/{doc_id}
Cloudant, CouchDB
Trigger a replication.
IBM Cloudant documentation references more request body fields (selector, since_seq).
DELETE /_replicator
Cloudant, CouchDB
Cancel an ongoing replication.
IBM Cloudant documentation references more request body fields (selector, since_seq).
GET /_scheduler/docs
Cloudant, CouchDB
Monitor the status of a replication that is described by a replication document.
HEAD /_scheduler/docs
CouchDB
Retrieve the HTTP headers for the status of a replication that is described by a replication document.
GET /_scheduler/docs/_replicator/$doc_id
Cloudant, CouchDB
Retrieve a replication scheduler document.
HEAD /_scheduler/docs/_replicator/$doc_id
CouchDB
Retrieve the HTTP headers for a particular replication scheduler document.
GET /_scheduler/jobs
Cloudant, CouchDB
Retrieve replication scheduler jobs.
HEAD /_scheduler/jobs
CouchDB
Retrieve the HTTP headers for replication scheduler jobs.
GET /_scheduler/jobs/{job_id}
Cloudant
Retrieve the state of a single replication task based on its replication ID.
HEAD /_scheduler/jobs/{job_id}
Cloudant
Retrieve the HTTP headers of a single replication task based on its replication ID.
POST /_search_analyze
Cloudant, CouchDB
Retrieve the results of analyzer tokenization of the provided sample text.
GET /_session
Cloudant, CouchDB
Retrieve information about the authenticated user.
CouchDB documentation references a query parameter (basic).
POST /_session
Cloudant, CouchDB
Start a new session for the specified user credentials. Cookie-based user login.
CouchDB documentation references an extra query parameter (next).
DELETE /_session
Cloudant, CouchDB
Retrieve a response that instructs the HTTP client to clear the cookie.
GET /_utils
CouchDB
Access the built-in Fauxton administration interface.
GET /_uuids
Cloudant, CouchDB
Request one or more Universally Unique Identifiers (UUIDs).
GET /favicon.ico
CouchDB
Get the binary content for the favicon.ico site icon.
HEAD /{db}
Cloudant, CouchDB
Retrieve the HTTP headers that contain a minimal amount of information about the specified database.
GET /{db}
Cloudant, CouchDB
Retrieve information about the specified database.
POST /{db}
Cloudant, CouchDB
Create or modify a document in the specified database by using the supplied JSON document.
PUT /{db}
Cloudant, CouchDB
Create a database.
Database names must start with a lowercase letter and contain only the following characters: lowercase characters (a-z), digits (0-9), any of the characters _, $, (, ), +, -, and /.
DELETE /{db}
Cloudant, CouchDB
Delete the specified database, and all the documents and attachments contained within it.
GET /{db}/_all_docs
Cloudant, CouchDB
Query a list of all documents in a database.
CouchDB documentation references more query parameters (end_key, endkey_docid, end_key_doc_id, stale, start_key, startkey_docid, start_key_doc_id, update_seq). For IBM Cloudant, use GET _all_docs.
POST /{db}/_all_docs
Cloudant, CouchDB
Query a list of all documents in a database by using the HTTP POST method where the query is submitted as a JSON object in the request body.
CouchDB documentation references more query parameters (end_key, endkey_docid, end_key_doc_id, stale, start_key, startkey_docid, start_key_doc_id, update_seq).
POST /{db}/_bulk_docs
Cloudant, CouchDB
Create and update multiple documents at the same time within a single request.
CouchDB documentation references an extra request object field (new_edits).
POST /{db}/_bulk_get
Cloudant, CouchDB
Retrieve specific revisions or revision histories for multiple documents.
GET /{db}/_changes
Cloudant, CouchDB
List of changes that are made to documents in the database, including insertions, updates, and deletions.
CouchDB includes query parameters (attachments, att_encoding_info, last-event-id, view).
POST /{db}/_changes
Cloudant, CouchDB
List of changes that are made to documents in the database, including insertions, updates, and deletions.
POST /{db}/_compact
CouchDB
Request compaction of the specified database.
POST /{db}/_compact/{ddoc}
CouchDB
Compact the view indexes associated with the specified design document.
HEAD /{db}/_design/{ddoc}
Cloudant, CouchDB
Retrieve the HTTP headers that contain a minimal amount of information about the specified design document.
GET /{db}/_design/{ddoc}
Cloudant, CouchDB
Retrieve a design document with the specified doc_id from the specified database.
PUT /{db}/_design/{ddoc}
Cloudant, CouchDB
Create a new named design document or create a new revision of the existing design document.
IBM Cloudant documentation references an extra request body field (indexes). CouchDB documentation references more request body fields (language, options).
DELETE /{db}/_design/{ddoc}
Cloudant, CouchDB
Delete the specified document from the database.
COPY /{db}/_design/{ddoc}
Cloudant, CouchDB
Copy an existing design document to a new or existing one.
GET /{db}/_design/{ddoc}/_info
Cloudant, CouchDB
Obtain information about the specified design document, including the index, index size, and status of the design document.
GET /{db}/_design/{ddoc}/_search_info/{index}
Cloudant, CouchDB
Retrieve search index metadata information, such as the size of the index on disk.
GET /{db}/_design/{ddoc}/_search/{index}
Cloudant, CouchDB
Query an index by using the HTTP GET method.
POST /{db}/_design/{ddoc}/_search/{index}
Cloudant
Query an index by using the HTTP POST method where the query is submitted as a JSON object in the request body.
GET /{db}/_design/{ddoc}/_view/{view}
Cloudant, CouchDB
Execute the view function from the specified design document.
CouchDB documentation references more query parameters (conflicts, end_key, end_key_doc_id, attachments, att_encoding_info, sorted, start_key, start_key_doc_id, update_seq).
POST /{db}/_design/{ddoc}/_view/{view}
Cloudant, CouchDB
Execute the view function from the specified design document.
CouchDB documentation references more query parameters (conflicts, end_key, end_key_doc_id, attachments, att_encoding_info, sorted, start_key, start_key_doc_id, update_seq).
HEAD /{db}/_design/{ddoc}/{attname}
Cloudant, CouchDB
Retrieve the HTTP headers that contain a minimal amount of information about the specified attachment. For IBM Cloudant, use {attachment_name} instead of {attname}.
GET /{db}/_design/{ddoc}/{attname}
Cloudant, CouchDB
Retrieve the file attachment associated with the design document.
PUT /{db}/_design/{ddoc}/{attname}
Cloudant, CouchDB
Upload the supplied content as an attachment to the specified design document.
DELETE /{db}/_design/{ddoc}/{attname}
Cloudant, CouchDB
Delete the attachment of the specified design document.
POST /{db}/_ensure_full_commit
CouchDB
Commit any recent changes to the specified database to disk.
POST /{db}/_explain
Cloudant, CouchDB
Identify which index is being used by a particular query.
POST /{db}/_find
Cloudant, CouchDB
Find documents that use a declarative JSON querying syntax.
IBM Cloudant documentation references more request body fields (r, bookmark).
GET /{db}/_index
Cloudant, CouchDB
List indexes.
POST /{db}/_index
Cloudant, CouchDB
Create an index on a database.
DELETE /{db}/_index/_design/{ddoc}/{type}/{index}
Cloudant, CouchDB
Delete an index.
GET /{db}/_local/{doc_id}
Cloudant, CouchDB
Get the specified local document.
PUT /{db}/_local/{doc_id}
Cloudant, CouchDB
Store the specified local document.
Local documents aren't replicated to other databases.
COPY /{db}/_local/{doc_id}
Cloudant, CouchDB
Copy the specified local document.
DELETE /{db}/_local/{doc_id}
Cloudant, CouchDB
Delete the specified local document.
POST /{db}/_missing_revs
Cloudant (This endpoint is deprecated. See POST /{db}/_revs_diff.), CouchDB
Retrieve the document revisions from the list that don't exist in the database.
POST /{db}/_purge
CouchDB
Remove the references to deleted documents from the database.
POST /{db}/_revs_diff
Cloudant, CouchDB
Given a set of document or revision IDs, retrieve the subset of document or revision IDs that don't correspond to revisions stored in the database.
GET /{db}/_security
Cloudant, CouchDB
Retrieve the current security object from the specified database.
PUT /{db}/_security
Cloudant, CouchDB
Set the security object for the specific database.
GET /{db}/_shards
Cloudant, CouchDB
Retrieve information about the shards in the cluster.
POST /{db}/_view_cleanup
CouchDB
Remove view index files that are no longer required because of changed views within design documents.
HEAD /{db}/{docid}
Cloudant, CouchDB
Retrieve the HTTP headers that contain a minimal amount of information about the specified document.
GET /{db}/{docid}
Cloudant, CouchDB
Retrieve the document specified by the docid from the specified database.
PUT /{db}/{docid}
Cloudant, CouchDB
Create a new named document or create a new revision of the existing document.
DELETE /{db}/{docid}
Cloudant, CouchDB
Delete the specified document.
COPY /{db}/{docid}
Cloudant, CouchDB
Copy an existing document to a new or existing document.
HEAD /{db}/{docid}/{attname}
Cloudant, CouchDB
Retrieve the HTTP headers that contain a minimal amount of information about the specified attachment. For IBM Cloudant, use {attachment_name} instead of {attname}.
GET /{db}/{docid}/{attname}
Cloudant, CouchDB
Retrieve the file attachment associated with the document. For IBM Cloudant, use {attachment_name} instead of {attname}.
PUT /{db}/{docid}/{attname}
Cloudant, CouchDB
Upload the supplied content as an attachment to the specified document. For IBM Cloudant, use {attachment_name} instead of {attname}.
DELETE /{db}/{docid}/{attname}
Cloudant, CouchDB
Delete the attachment associated with the specified doc. For IBM Cloudant, use {attachment_name} instead of {attname}.