REST API reference

    +
    The REST API supports the management of Couchbase-Server clusters.

    The REST API supports the management of Couchbase-Server clusters. This includes cluster-creation and the definition of nodes, services, and server groups. The API also supports the extensive retrieval of statistics.

    This page provides a complete list of HTTP methods and URIs. It also lists HTTP Request Headers and HTTP Response Codes.

    Nodes and Clusters API

    The Cluster API provides support for managing and retrieving information on clusters. It also provides support for managing rebalance, failover, and server group awareness. The APIs for each area are assigned a table, below.

    Cluster Initialization and Provisioning

    HTTP Method URI Documented at

    POST

    /nodes/self/controller/settings

    Initializing a Node

    POST

    /settings/web

    Establishing Credentials

    POST

    /node/controller/rename

    Naming a Node

    POST

    /pools/default

    Configuring Memory

    POST

    /node/controller/setupServices

    Assigning Services

    POST

    /pools/default

    Naming a Cluster

    Node Addition and Removal

    HTTP Method URI Documented at

    POST

    /controller/addNode

    Adding Nodes to Clusters

    POST

    /node/controller/doJoinCluster

    Joining Nodes to Clusters

    POST

    /controller/ejectNode

    Removing Nodes from Clusters

    Rebalance

    HTTP Method URI Documented at

    POST

    /controller/rebalance

    Rebalancing the Cluster

    GET

    /pools/default/rebalanceProgress

    Getting Rebalance Progress

    GET

    /pools/default/retryRebalance

    Configuring Rebalance Retries

    POST

    /pools/default/retryRebalance

    Configuring Rebalance Retries

    GET

    /pools/default/pendingRetryRebalance

    Getting Rebalance-Retry Status

    POST

    /controller/cancelRebalanceRetry/<rebalance-id>

    Canceling Rebalance Retries

    GET

    /settings/rebalance

    Limiting Concurrent vBucket Moves

    POST

    /settings/rebalance

    Limiting Concurrent vBucket Moves

    POST

    /internalSettings

    Disabling Consistent View Query Results on Rebalance

    Manual-Failover

    HTTP Method URI Documented at

    POST

    /controller/failOver

    Performing Hard Failover

    POST

    /controller/startGracefulFailover

    Performing Graceful Failover

    POST

    /controller/setRecoveryType

    Setting Recovery Type

    Auto-Failover

    HTTP Method URI Documented at

    GET

    /settings/autoFailover

    Retrieving Auto-Failover Settings

    POST

    /settings/autoFailover

    Enabling and Disabling Auto-Failover

    POST

    /settings/autoFailover/resetCount

    Resetting Auto-Failover

    POST

    /controller/setRecoveryType

    Setting Recovery Type

    Settings and Connections

    HTTP Method URI Documented at

    GET

    /internalSettings

    Managing Internal Settings

    POST

    /internalSettings

    Managing Internal Settings

    GET

    /settings/maxParallelIndexers

    Managing Internal Settings

    POST

    /settings/maxParallelIndexers

    Managing Internal Settings

    GET

    /pools/default/settings/memcached/global

    Managing Cluster Connections

    POST

    /pools/default/settings/memcached/global

    Managing Cluster Connections

    PUT

    /node/controller/setupAlternateAddresses/external

    Managing Alternate Addresses

    DELETE

    /node/controller/setupAlternateAddresses/external

    Managing Alternate Addresses

    GET

    /settings/alerts

    Getting Alert Settings

    POST

    /settings/alerts

    Enabling and Disabling Email Notifications

    POST

    /settings/alerts/sendTestEmail

    Sending Test Emails

    Status and Events

    HTTP Method URI Documented at

    GET

    /pools/default/tasks

    Getting Cluster Tasks

    GET

    /logs/rebalanceReport?reportID=<report-id>

    Getting Cluster Tasks

    GET

    /pools

    Retrieving Cluster Information

    GET

    /pools/default

    Viewing Cluster Details

    GET

    /events

    Getting System Events

    GET

    /eventsStreaming

    Getting System Events

    GET

    /pools/default/terseClusterInfo

    Identifying the Orchestrator Node

    GET

    /pools/nodes

    Getting Information on Nodes

    GET

    /pools/default/nodeServices

    Listing Node Services

    Statistics

    HTTP Method URI Documented at

    GET

    /pools/default/stats/range/<metric_name>/[function-expression]

    Getting a Single Statistic

    POST

    /pools/default/stats/range

    Getting Multiple Statistics

    Logging

    HTTP Method URI Documented at

    GET

    /diag

    Retrieving Log Information

    GET

    /sasl_logs

    Retrieving Log Information

    GET

    /sasl_logs/[log-name]

    Retrieving Log Information

    POST

    /logClientError

    Creating Client Logs

    Buckets API

    Couchbase Server keeps items in buckets. Before an item can be saved, a bucket must exist for it. Buckets can be created and managed by means of the following REST API.

    HTTP Method URI Documented at

    POST

    /pools/default/buckets

    Creating and Editing Buckets

    POST

    /pools/default/buckets/<bucketName>

    Creating and Editing Buckets

    GET

    /pools/default/buckets

    Getting Bucket Information

    GET

    /pools/default/buckets/<bucket-name>

    Getting Bucket Information

    POST

    /pools/default/buckets/<bucket-name>/nodes

    Listing Nodes by Bucket

    GET

    /pools/default/buckets/[bucket-name]/stats

    Getting Bucket Statistics

    GET

    /pools/default/buckets/default

    Getting Bucket Streaming URI

    DELETE

    /pools/default/buckets/[bucket-name]

    Deleting Buckets

    DELETE

    /pools/default/buckets/[bucket-name]

    Deleting Buckets

    POST

    /pools/default/buckets/[bucket-name]/controller/doFlush

    Flushing Buckets

    GET

    /sampleBuckets

    Managing Sample Buckets

    POST

    /sampleBuckets/install

    Managing Sample Buckets

    Scopes and Collections API

    Couchbase Server provides scopes and collections; allowing documents to be categorized and organized, within a bucket. The REST API provided for the creation and management of scopes and collections is listed below.

    HTTP Method URI Documented at

    POST

    /pools/default/buckets/<bucket_name>/scopes

    Creating a Scope

    POST

    /pools/default/buckets/<bucket_name>/scopes/<scope_name>/collections

    Creating a Collection

    GET

    /pools/default/buckets/<bucket_name>/scopes/

    Listing Scopes and Collections

    DELETE

    /pools/default/buckets/<bucket_name>/scopes/<scope_name>/collections/<collection_name>

    Dropping a Collection

    DELETE

    /pools/default/buckets/<bucket_name>/scopes/<scope_name>

    Dropping a Scope

    Memory and Storage API

    Memory quotas can be allocated to services, and the current allocations retrieved. During cluster initialization, the on-disk paths for services can be specified on a per node basis.

    Reader and writer threads can be configured, to ensure that disk access is highly performant.

    Compaction can be managed: this is used by Couchbase Server to relocate on-disk data; so as to ensure the data’s closest-possible proximity, and thereby reclaim fragments of unused disk-space. The periodic compaction of a bucket’s data helps to ensure the ongoing efficiency of both reads and writes.

    HTTP Method URI Documented at

    POST

    /nodes/self/controller/settings

    Initializing a Node

    POST

    /pools/default

    Configuring Memory

    POST

    /pools/default/settings/memcached/global

    Setting Thread Allocations

    GET

    /nodes/self

    Getting Storage Information

    POST

    /pools/default/buckets/[bucket-name]/controller/compactBucket

    Performing Compaction Manually

    POST

    /pools/default/buckets/[bucket-name]/controller/cancelBucketCompaction

    Performing Compaction Manually

    GET

    /settings/autoCompaction

    Auto-Compaction: Global

    POST

    /controller/setAutoCompaction

    Auto-Compaction: Global

    GET

    /pools/default/buckets/[bucket-name]

    Auto-Compaction: Per Bucket

    POST

    /pools/default/buckets/[bucket-name]

    Auto-Compaction: Per Bucket

    Server Groups API

    Server Group Awareness provides enhanced availability. Specifically, it protects a cluster from large-scale infrastructure failure, through the definition of groups. Its REST API is expressed by the following table.

    HTTP Method URI Documented at

    GET

    /pools/default/serverGroups

    Getting Group Information

    POST

    /pools/default/serverGroups

    Creating Groups

    POST

    /pools/default/serverGroups/<:uuid>/addNode

    Adding Nodes to Groups

    PUT

    /pools/default/serverGroups/<:uuid>

    Renaming Groups

    PUT

    /pools/default/serverGroups?rev=<:number>

    Updating Group Membership

    DELETE

    /pools/default/serverGroups/<:uuid>

    Deleting Groups

    XDCR API

    Cross Data Center Replication (XDCR) replicates data between a source bucket and a target bucket. The buckets may be located on different clusters, and in different data centers: this provides protection against data-center failure, and also provides high-performance data-access for globally distributed, mission-critical applications. XDCR is supported by the REST API shown in the table below.

    HTTP Method URI Documented at

    POST

    /pools/default/remoteClusters

    Creating and Editing References

    GET

    /pools/default/remoteClusters

    Getting a Reference

    POST

    /controller/createReplication

    Creating a Replication

    POST

    /settings/replications/[replication_id]

    Pausing and Resuming a Replication

    DELETE

    /controller/cancelXDCR/[url_encoded_replication_id]

    Deleting a Replication

    DELETE

    /pools/default/remoteClusters/[destination-cluster-name]

    Deleting a Reference

    POST

    /settings/replications/

    Managing Advanced Settings

    POST

    /settings/replications/<settings_URI>

    Managing Advanced Settings

    GET

    /settings/replications/

    Managing Advanced Settings

    GET

    /settings/replications/<settings_URI>

    Managing Advanced Settings

    GET

    /pools/default/buckets/[source_bucket]/stats/[destination_endpoint]

    Getting Statistics

    Security API

    The Security REST API provides the endpoints for general security, for authentication, and for authorization. These APIs are listed in the tables below.

    General Security

    HTTP Method URI Documented at

    GET

    ./whoami

    Who Am I?

    GET

    /settings/audit

    Configure Auditing

    POST

    /settings/audit

    Configure Auditing

    GET

    /settings/audit/descriptors

    Configure Auditing

    GET

    /settings/security/[service-name]

    Configure On-the-Wire Security

    POST

    /settings/security/[service-name]

    Configure On-the-Wire Security

    GET

    /settings/security/responseHeaders

    Configure HSTS

    POST

    /settings/security/responseHeaders

    Configure HSTS

    DELETE

    /settings/security/responseHeaders

    Configure HSTS

    POST

    /node/controller/changeMasterPassword

    Secret Management API

    POST

    /node/controller/rotateDataKey

    Secret Management API

    Authentication

    HTTP Method URI Documented at

    GET

    /settings/ldap

    Configure LDAP

    POST

    /settings/ldap

    Configure LDAP

    GET

    /settings/saslauthdAuth

    Configure saslauthd

    POST

    /settings/saslauthdAuth

    Configure saslauthd

    GET

    /settings/passwordPolicy

    Set Password Policy

    POST

    /settings/passwordPolicy

    Set Password Policy

    POST

    /node/controller/loadTrustedCAs

    Load Root Certificates

    GET

    /node/controller/loadTrustedCAs

    Get Root Certificates

    DELETE

    /pools/default/trustedCAs/<id>

    Delete Root Certificates

    GET

    /pools/default/certificates

    Retrieve All Node Certificates

    POST

    /node/controller/reloadCertificate

    Upload and Retrieve Node Certificates

    GET

    /pools/default/certificate/node/<ip-address-or-domain-name>

    Upload and Retrieve Node Certificates

    POST

    /controller/regenerateCertificate

    Regenerate All Certificates

    Authorization

    HTTP Method URI Documented at

    GET

    /settings/rbac/roles

    List Roles

    GET

    /settings/rbac/users

    List Current Users and Their Roles

    POST

    /pools/default/checkPermissions

    Check Permissions

    GET

    /settings/rbac/groups

    List Currently Defined Groups

    PUT

    /settings/rbac/users/local/<new-username>

    Create a Local User

    PATCH

    /settings/rbac/users/local/<existing-username>

    Create a Local User

    PUT

    /settings/rbac/users/local/<new-username>

    Create an External User

    PUT

    /settings/rbac/groups/<new-groupname>

    Create a Group

    DELETE

    /settings/rbac/users/local/<local-username>

    Delete Users and Groups

    DELETE

    /settings/rbac/users/external/<external-username>

    Delete Users and Groups

    DELETE

    /settings/rbac/groups/<groupname>

    Delete Users and Groups

    Query Service API

    The Query Service provides a REST API that covers four requirements; which are the administration of Query Service nodes, the configuration of the Query Service, the execution of N1QL statements, and the management of JavaScript libraries and objects used to create N1QL user-defined functions. The REST API is detailed in the tables below.

    Query Service Administration

    HTTP Method URI Documented at

    GET

    /admin/clusters

    Read All Clusters

    GET

    /admin/clusters/{cluster}

    Read a Cluster

    GET

    /admin/clusters/{cluster}/nodes

    Read All Nodes

    GET

    /admin/clusters/{cluster}/nodes/{node}

    Read a Node

    GET

    /admin/config

    Read Configuration

    GET

    /admin/prepareds

    Retrieve All Prepared Statements

    GET

    /admin/prepareds/{name}

    Retrieve a Prepared Statement

    DELETE

    /admin/prepareds/{name}

    Delete a Prepared Statement

    GET

    /admin/indexes/prepareds

    Retrieve Prepared Index Statements

    GET

    /admin/active_requests

    Retrieve All Active Requests

    GET

    /admin/active_requests/{request}

    Retrieve an Active Request

    DELETE

    /admin/active_requests/{request}

    Delete an Active Request

    GET

    /admin/indexes/active_requests

    Retrieve Active Index Requests

    GET

    /admin/completed_requests

    Retrieve All Completed Requests

    GET

    /admin/completed_requests/{request}

    Retrieve a Completed Request

    DELETE

    /admin/completed_requests/{request}

    Delete a Completed Request

    GET

    /admin/indexes/completed_requests

    Retrieve Completed Index Requests

    GET

    /admin/vitals

    Retrieve Vitals

    GET

    /admin/stats

    Retrieve All Statistics

    GET

    /admin/stats/{stats}

    Retrieve a Statistic

    GET

    /admin/settings

    Retrieve Node-Level Query Settings

    POST

    /admin/settings

    Update Node-Level Query Settings

    GET

    /admin/ping

    Ping

    Query Service Settings

    HTTP Method URI Documented at

    GET

    /settings/querySettings

    Retrieve Cluster-Level Query Settings

    POST

    /settings/querySettings

    Update Cluster-Level Query Settings

    GET

    /settings/querySettings/curlWhitelist

    Retrieve CURL Access List

    POST

    /settings/querySettings/curlWhitelist

    Update CURL Access List

    N1QL Statement Execution

    HTTP Method URI Documented at

    POST

    /query/service

    Query Service

    GET

    /query/service

    Read-Only Query Service

    JavaScript Management

    HTTP Method URI Documented at

    GET

    /evaluator/v1/libraries

    Read All Libraries

    GET

    /evaluator/v1/libraries/{library}

    Read a Library

    POST

    /evaluator/v1/libraries/{library}

    Create or Update a Library

    DELETE

    /evaluator/v1/libraries/{library}

    Delete a Library

    Index Service API

    The Index Service REST API provides configuration options for the Index Service. The API is listed below.

    HTTP Method URI Documented at

    GET

    /settings/indexes

    Retrieve GSI Settings

    POST

    /settings/indexes

    Set GSI Settings

    GET

    /api/v1/stats

    Get Node Statistics

    GET

    /api/v1/stats/{keyspace}

    Get Keyspace Statistics

    GET

    /api/v1/stats/{keyspace}/{index}

    Get Index Statistics

    Backup Service API

    The Backup Service API supports management of the Backup Service, providing endpoints categorized as follows: Cluster, Configuration, Repository, Plan, Task, and Data. All calls require the Full Admin role, and use port 8097. Each URI, in Couchbase Server Enterprise Edition Version 7.0 and later, must be prefixed with /api/v1.

    The individual endpoints are listed by category, in the tables below.

    Cluster

    HTTP Method URI Documented at

    GET

    /cluster/self

    Get Information on the Cluster

    Configuration

    HTTP Method URI Description

    GET

    /config

    Manage Backup Configuration

    POST

    /config

    Manage Backup Configuration

    PUT

    /config

    Manage Backup Configuration

    Repository

    HTTP Method URI Documented at

    GET

    /cluster/self/repository/<'active'|'archived'|'imported'>

    Get Information on Repositories

    GET

    /cluster/self/repository/active/<repository-id>

    Get Information on Repositories

    GET

    /cluster/self/repository/<'active'|'archived'|'imported'>/<repository-id>/info

    Get Information on Repositories

    POST

    /cluster/self/repository/active/<repository-id>

    Create a Repository

    POST

    /cluster/self/repository/<'archived'|'imported'>/<repository-id>/restore

    Restore Data

    POST

    /cluster/self/repository/import

    Import a Repository

    POST

    /cluster/self/repository/<'active'|'archived'|'imported'>/<repository-id>/examine

    Examine Backed-Up Data

    POST

    /cluster/self/repository/active/<repository-id>/backup

    Perform an Immediate Backup

    POST

    /cluster/self/repository/active/<repository-id>/merge

    Perform an Immediate Merge

    POST

    /cluster/self/repository/active/<repository-id>/archive

    Archive a Repository

    POST

    /cluster/self/repository/active/<repository-id>/pause

    Pause and Resume Tasks

    POST

    /cluster/self/repository/active/<repository-id>/resume

    Pause and Resume Tasks

    DELETE

    /cluster/self/repository/<'archived'|'imported'>/<repository-id>

    Delete a Repository

    DELETE

    /cluster/self/repository/<'archived'|'imported'>/<repository-id>?remove_repository

    Delete a Repository

    DELETE

    /cluster/self/repository/active/<repository-id>/backups/<backup-id>

    Delete a Backup

    Plan

    HTTP Method URI Documented at

    GET

    /cluster/plan

    Get Information on Plans

    GET

    /cluster/plan/<plan-id>

    Get Information on Plans

    POST

    /cluster/plan/<plan-id>

    Create and Edit Plans

    PUT

    /cluster/plan/<existing-plan-id>

    Create and Edit Plans

    DELETE

    /plan/<plan-id>

    Delete a Plan

    Task

    HTTP Method URI Documented at

    GET

    /cluster/self/repository/<'active'|'archived'|'imported'>/<repository-id>/taskHistory

    Get Information on Tasks

    GET

    /cluster/self/repository/<'active'|'archived'|'imported'>/<repository-id>/taskHistory?<task-subset-specification-string>

    Get Information on Tasks

    Data

    HTTP Method URI Documented at

    DELETE

    /cluster/self/repository/active/<repository-id>/backups/<backup-id>

    Delete Backups

    Search Service API

    The Search Service allows users to create, manage, and query Full Text Indexes, whereby searches can be performed and matches attained on character strings. The Search Service REST API allows such indexes to be created and maintained. The API is listed in the tables below.

    Index Definition

    HTTP Method URI Documented at

    GET

    /api/index

    Index Definition

    GET

    /api/index/{indexName}

    Index Definition

    PUT

    /api/index/{indexName}

    Index Definition

    DELETE

    /api/index/{indexName}

    Index Definition

    Index Management

    HTTP Method URI Documented at

    POST

    /api/index/{indexName}/ingestControl/{op}

    Index Management

    POST

    /api/index/{indexName}/planFreezeControl/{op}

    Index Management

    POST

    /api/index/{indexName}/planQueryControl/{op}

    Index Management

    Index Monitoring and Debugging

    HTTP Method URI Documented at

    GET

    /api/stats

    Index Monitoring And Debugging

    GET

    /api/stats/{indexName}

    Index Monitoring And Debugging

    POST

    /api/stats/{indexName}/analyzeDoc

    Index Monitoring And Debugging

    GET

    /api/query/index/{indexName}

    Index Monitoring And Debugging

    Index Querying

    HTTP Method URI Documented at

    GET

    /api/index/{indexName}/count

    Index Querying

    POST

    /api/index/{indexName}/query

    Index Querying

    Node Configuration

    HTTP Method URI Documented at

    GET

    /api/cfg

    Node Configuration

    POST

    /api/cfgRefresh

    Node Configuration

    POST

    /api/managerKick

    Node Configuration

    GET

    /api/managerMeta

    Node Configuration

    Node Diagnostics

    HTTP Method URI Documented at

    GET

    /api/diag

    Node Diagnostics

    GET

    /api/log

    Node Diagnostics

    GET

    /api/runtime

    Node Diagnostics

    GET

    /api/runtime/args

    Node Diagnostics

    POST

    /api/runtime/profile/cpu

    Node Diagnostics

    POST

    /api/runtime/profile/memory

    Node Diagnostics

    Node Management

    HTTP Method URI Documented at

    POST

    /api/runtime/gc

    Node Management

    Node Monitoring

    HTTP Method URI Documented at

    GET

    /api/runtime/stats

    Node Monitoring

    GET

    /api/runtime/stats/statsMem

    Node Monitoring

    Index Partition Definition

    HTTP Method URI Documented at

    GET

    /api/pindex

    Advanced

    GET

    /api/pindex/{pindexName}

    Advanced

    Index Partition Querying

    HTTP Method URI Documented at

    GET

    /api/pindex/{pindexName}/count

    Advanced

    POST

    /api/pindex/{pindexName}/query

    Advanced

    FTS Memory Quota

    HTTP Method URI Documented at

    POST

    /pools/default

    Advanced

    Eventing Service API

    The Eventing Service REST API provides methods for working with Eventing Functions. The complete API is listed at Eventing REST API.

    Analytics Service API

    The Analytics Service provides a REST API for querying, configuration, and the management of links and libraries. The API is listed in the following tables.

    Analytics Query API

    HTTP Method URI Documented at

    POST

    /analytics/service

    Query Service

    GET

    /analytics/service

    Read-Only Query Service

    POST

    /query/service

    Query Service (Alternative)

    GET

    /query/service

    Read-Only Query Service (Alternative)

    Analytics Admin API

    HTTP Method URI Documented at

    DELETE

    /analytics/admin/active_requests

    Request Cancellation

    GET

    /analytics/cluster

    Cluster Status

    POST

    /analytics/cluster/restart

    Cluster Restart

    POST

    /analytics/node/restart

    Node Restart

    GET

    /analytics/status/ingestion

    Ingestion Status

    Analytics Config API

    HTTP Method URI Documented at

    GET

    /analytics/config/service

    View Service-Level Parameters

    PUT

    /analytics/config/service

    Modify Service-Level Parameters

    GET

    /analytics/config/node

    View Node-Specific Parameters

    PUT

    /analytics/config/node

    Modify Node-Specific Parameters

    Analytics Settings API

    HTTP Method URI Documented at

    GET

    /settings/analytics

    View Analytics Settings

    PUT

    /settings/analytics

    Modify Analytics Settings

    HTTP Method URI Documented at

    POST

    /analytics/link/{scope}/{name}

    Create Link

    GET

    /analytics/link/{scope}/{name}

    Query Link

    PUT

    /analytics/link/{scope}/{name}

    Edit Link

    DELETE

    /analytics/link/{scope}/{name}

    Delete Link

    GET

    /analytics/link

    Query All Links

    GET

    /analytics/link/{scope}

    Query Scope Links

    Analytics Library API

    HTTP Method URI Documented at

    GET

    /analytics/library

    Read All Libraries

    POST

    /analytics/library/{scope}/{library}

    Create or Update a Library

    DELETE

    /analytics/library/{scope}/{library}

    Delete a Library

    HTTP Request Headers

    The following HTTP request headers are used to create requests:

    Header Supported Values Description of Use Required

    Accept

    Comma-delimited list of media types or media type patterns.

    Indicates to the server what media type(s) this client is prepared to accept.

    Recommended

    Authorization

    Basic plus username and password (per RFC 2617).

    Identifies the authorized user making this request.

    No, unless secured

    Content-Length

    Body Length (in bytes)

    Describes the size of the message body.

    Yes, on requests that contain a message body.

    Content-Type

    Content type

    Describes the representation and syntax of the request message body.

    Yes, on requests that contain a message body.

    Host

    Origin host name

    Required to allow support of multiple origin hosts at a single IP address.

    All requests

    X-YYYYY-Client-Specification-Version

    String

    Declares the specification version of the YYYYY API that this client was programmed against.

    No

    HTTP Response Codes

    The Couchbase Server returns one of the following HTTP status codes in response to REST API requests:

    HTTP response Description

    200 OK

    Successful request and an HTTP response body returns. If this creates a new resource with a URI, the 200 status will also have a location header containing the canonical URI for the newly created resource.

    201 Created

    Request to create a new resource is successful, but no HTTP response body returns. The URI for the newly created resource returns with the status code.

    202 Accepted

    The request is accepted for processing, but processing is not complete. Per HTTP/1.1, the response, if any, SHOULD include an indication of the request’s current status, and either a pointer to a status monitor or some estimate of when the request will be fulfilled.

    204 No Content

    The server fulfilled the request, but does not need to return a response body.

    400 Bad Request

    The request could not be processed because it contains missing or invalid information, such as validation error on an input field, a missing required value, and so on.

    401 Unauthorized

    The credentials provided with this request are missing or invalid.

    403 Forbidden

    The server recognized the given credentials, but you do not possess proper access to perform this request.

    404 Not Found

    URI provided in a request does not exist.

    405 Method Not Allowed

    The HTTP verb specified in the request (DELETE, GET, HEAD, POST, PUT) is not supported for this URI.

    406 Not Acceptable

    The resource identified by this request cannot create a response corresponding to one of the media types in the Accept header of the request.

    409 Conflict

    A create or update request could not be completed, because it would cause a conflict in the current state of the resources supported by the server. For example, an attempt to create a new resource with a unique identifier already assigned to some existing resource.

    500 Internal Server Error

    The server encountered an unexpected condition which prevented it from fulfilling the request.

    501 Not Implemented

    The server does not currently support the functionality required to fulfill the request.

    503 Service Unavailable

    The server is currently unable to handle the request due to temporary overloading or maintenance of the server.