From 46410d9e8f53d03ae61cc5de5fe146f1e255957d Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 17:43:45 +0100 Subject: [PATCH 01/20] Remove legacy OpenAPI specs --- .../assets/attachments/rest-api-admin.yaml | 6789 ----------------- .../assets/attachments/rest-api-metrics.yaml | 315 - .../assets/attachments/rest-api-public.yaml | 1743 ----- 3 files changed, 8847 deletions(-) delete mode 100644 modules/ROOT/assets/attachments/rest-api-admin.yaml delete mode 100644 modules/ROOT/assets/attachments/rest-api-metrics.yaml delete mode 100644 modules/ROOT/assets/attachments/rest-api-public.yaml diff --git a/modules/ROOT/assets/attachments/rest-api-admin.yaml b/modules/ROOT/assets/attachments/rest-api-admin.yaml deleted file mode 100644 index 4831cbc96..000000000 --- a/modules/ROOT/assets/attachments/rest-api-admin.yaml +++ /dev/null @@ -1,6789 +0,0 @@ - -swagger: "2.0" -info: - title: Sync Gateway - description: |+ - Documentation for the Sync Gateway Admin REST API. - version: '3.0' -# the domain of the service -host: localhost:4985 -# array of all schemes that your API supports -schemes: -- http -- https -# will be prefixed to all paths -consumes: -- application/json -# - application/javascript -produces: -- application/json -# - application/javascript -securityDefinitions: - BasicAuth: - type: basic - -paths: - /: - get: - tags: - - Server - operationId: get_server_metadata - summary: Get Server Metadata - description: |+ - Returns meta-information about the server. - responses: - 200: - description: Meta-information about the server. - schema: - $ref: '#/definitions/Server' - /_config: - get: - operationId: 'get_server_configuration' - tags: - - Server - - 'Bootstrap Configuration' - summary: Get Server Configuration - description: |+ - Returns the Sync Gateway configuration of the running instance. - This is a good method to check if a particular key was set correctly on the config file. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - responses: - 200: - $ref: '#/responses/200_startup_config' - - put: - operationId: 'put_logging_options' - tags: - - Server - - 'Bootstrap Configuration' - - Logging - summary: Update Logging Options - description: |+ - Update bootstrap logging options without needing a restart - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - parameters: - - $ref: '#/parameters/bootstrap-logging' - responses: - 200: - description: Returned updated Bootstrap logging settings - schema: - $ref: '#/definitions/Logging_model' - /_expvar: - get: - operationId: 'get_sync_gateway_statistics' - tags: - - Server - summary: Get Sync Gateway Statistics - description: |+ - The ```Expvar```method returns a number of runtime variables that you can view for debugging or performance monitoring purposes. - - This method can also be accessed using Sync Gateway's [Metrics REST API](rest-api-metrics.html) - - **See** : [Sync Gateway Statistics Schema](stats-monitoring.html) for more details on the metrics collected and reported by Sync Gateway. - - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - - External stats reader - responses: - 200: - description: OK - indicates success - schema: - $ref: '#/definitions/ExpVars' - - /_logging: - get: - operationId: 'get_logging_tags' - tags: - - Server - summary: Get Logging Tags - description: |+ - Get logging tags of running instance. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - responses: - 200: - description: |+ - The response is a set of key-value pairs. - The key is a log tag and the value is a boolean to indicate whether this tag is enabled. - schema: - $ref: '#/definitions/LogTags' - put: - operationId: 'logging_tags_put' - tags: - - Server - summary: Set Logging Tags - description: |+ - Enabling logging for a tag provides additional diagnostic information for that logging area. - - The PUT request replaces all existing logging tags with the ones specified in the request body. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - parameters: - - $ref: '#/parameters/level' - - $ref: '#/parameters/logLevel' - - $ref: '#/parameters/logtags' - responses: - 201: - description: The operation was successful - post: - operationId: 'logging_tags_post' - tags: - - Server - summary: Set Logging Tags - description: |+ - Enabling logging for a tag provides additional diagnostic information for that logging area. - - The POST request only updates the tags specified in the request body. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - parameters: - - $ref: '#/parameters/level' - - $ref: '#/parameters/logLevel' - - $ref: '#/parameters/logtags' - responses: - 201: - description: The operation was successful - /_sgcollect_info: - get: - tags: - - Server - summary: Get Sgcollect_info Status - description: |+ - Will return information about whether sgcollect_info is currently running or not. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - - responses: - 200: - description: The operation was successful - schema: - $ref: '#/definitions/SGCollectInfoStats' - post: - tags: - - Server - summary: Start Sgcollect_info - description: |+ - Starting in Sync Gateway 2.1, sgcollect_info can be triggered using this endpoint. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - - parameters: - - $ref: '#/parameters/sgcollect_info' - responses: - 200: - description: The request was successful. - delete: - tags: - - Server - summary: Stop Sgcollect_info - description: |+ - sgcollect_info can be cancelled using ths endpoint. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - - parameters: - - $ref: '#/parameters/sgcollect_info' - responses: - 200: - description: The request was successful. - /_post_upgrade: - post: - tags: - - Server - summary: Delete Obsolete Design Documents - description: |+ - Starting in Sync Gateway 2.0, design documents used internally by Sync Gateway will include a version number in their name. - - - - This version is incremented at each change, but the previous version of the design documents are retained, as they may be required by other nodes. - - - - Use this `_post_upgrade` endpoint to remove any obsolete design documents when you are sure they are no longer needed. - - - - *TIP:* Use the `preview=true` query string option to check which design documents will be removed. - - - - Typical use cases for this end point include: - - - - After upgrading Sync Gateway - see ([upgrade guide](upgrade.html#upgrade)). - - - After moving from *non-import-docs* to *import-docs* methods. That is, from `import-docs=False` to `import-docs=True` - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - - parameters: - - $ref: '#/parameters/upgrade_preview' - responses: - 200: - description: The request was successful. - - /_replicate: - post: - deprecated: true - tags: - - Server - summary: Start or Cancels Replication - description: |+ - This API endpoint is now deprecated. - It is replaced by the Inter-Sync Gateway Replication (v2) replication endpoint - - *About* - - This endpoint is used to start or cancel a database replication operation. - - - Starting a replication with the _replicate endpoint will implicitly set `adhoc=true` for the replication - - Setting `cancel=true` will set the replication state to **STOPPING** - - *Canceling replications* - - You can cancel continuous replications by adding the cancel field to the JSON request object and setting the value to true. - - Note that the structure of the request must be identical to the original for the cancellation request to be honoured. - For example, if you requested continuous replication, the cancellation request must also contain the continuous field. - - *Constraints* - - - Use this endpoint only for Inter-Sync Gateway Replication (v1) replications. - - parameters: - - $ref: '#/parameters/replicate__replication-body' - responses: - 200: - description: 200 OK - schema: - $ref: '#/definitions/ReplicationResponse' - /_all_dbs: - get: - tags: - - Server - summary: Get List of All Databases - description: |+ - List all databases - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - responses: - 200: - description: Identify all available databases - schema: - type: array - items: - type: object - $ref: '#/definitions/AllDatabases' - /_active_tasks: - get: - tags: - - Server - deprecated: true - summary: Get List of Active Tasks (v1 replications only) - description: |+ - *Deprecated @ 2.8* - - Replaced by Inter-Sync Gateway Replication (v2)'s *[_replicationStatus](#/server/get__replicationStatus)* endpoint. - This **_active_tasks** endpoint is retained **only** for backward compatibility. - - Use this end point to return the status of active Inter-Sync Gateway Replication (v1) replications. Only replications configured on the local node are returned. - - The response is as defined in [_replicationStatus](#/replications/get__db___replicationStatus) except that it also includes: - - - **end_last_seq**, which returns the maximum of (last_seq_pull, last_seq_push) - - **start_last_seq**, which is not populated (as was the case prior to Sync Gateway 2.8) - - The Inter-Sync Gateway Replication (v2) equivalent is `_replicationStatus?localOnly=true&activeOnly=true` - see [_replicationStatus](#/replications/get__db___replicationStatus). - responses: - 200: - description: Information about active replications. - schema: - $ref: '#/definitions/ActiveTasks_model' - /{db}/: - get: - operationId: get_database_information - tags: - - 'Database Management' - # title: Get database information - summary: Get Database Data - description: |+ - This request retrieves information about the database. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Dev Ops - parameters: - - $ref: '#/parameters/db' - responses: - 200: - description: |+ - Request completed successfully. - The information is returned in the response body. - schema: - properties: - db_name: - type: string - title: Database name - description: Name of the database - db_uuid: - type: integer - description: Database identifier - disk_format_version: - type: integer - description: Database schema version - disk_size: - type: integer - description: Total amount of data stored on the disk (in bytes) - instance_start_time: - type: string - description: Date and time the database was opened (in microseconds since 1 January 1970) - state: - type: string - description: |+ - The state of the specified database. - - Possible values are 'Online' and 'Offline'. - - A database can be taken offline and brought back online using the /{db}/_offline and /{db}/_online endpoints on the Admin REST API. - update_seq: - type: string - description: Number of updates to the database - - 401: - description: |+ - Unauthorized. - Login required. - 404: - description: Not Found. Requested database not found. - post: - tags: - - Document - operationId: create_database_document - summary: Create Document - description: |+ - This request creates a new document in the specified database. - - You can either specify the document ID by including the _id in the request message body (the value must be a string), or let the software generate an ID. - - The maximum size allowed for a document is 20MB. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - in: body - name: body - description: The document body - schema: - type: object - responses: - 201: - $ref: '#/responses/200-doc' - put: - operationId: create_database - summary: Create Database - tags: - - 'Database Management' - description: |+ - Use this method to create a new Sync Gateway database. - - The database name is taken from the URL path. - Pass the required database configuration settings as a JSON object in the request body. - - ``` - { - "name": "todo_db" - "bucket": "todo_app" - } - ``` - - By default the created database is brought online immediately, **unless** you include `"offline": true` in the configuration. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/database_config_body' - responses: - 201: - $ref: '#/responses/OK-create' - 401: - $ref: '#/responses/Unauthorized' - - delete: - tags: - - 'Database Management' - summary: Delete Database - description: |+ - Delete database - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - parameters: - - $ref: '#/parameters/db' - responses: - 200: - $ref: '#/responses/200-doc' - /{db}/_bulk_docs: - post: - tags: - - 'Database Management' - summary: Add, Update or Delete Bulk Documents - description: |+ - This request enables you to add, update, or delete multiple documents to a database in a single request. To add new documents, you can either specify the ID (`_id`) or let the software create an ID. To update existing documents, you must provide the document ID, revision identifier (`_rev`), and new document values. To delete existing documents you must provide the document ID, revision identifier, and the deletion flag (`_deleted`). - - The JSON returned by the `_bulk_docs` operation consists of an array of JSON structures, one for each document in the original submission. The returned JSON structure should be examined to ensure that all of the documents submitted in the original request were successfully added to the database. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/bulkdocs' - responses: - 201: - description: Documents have been created or updated. The response object is an array with the status for each document submitted in the original request. - schema: - $ref: '#/definitions/BulkDocsSuccess' - 409: - description: The operation failed with a forbidden error. Probably because the document already exists in the database but a revision number wasn't specified. - schema: - $ref: '#/definitions/Forbidden' - /{db}/_bulk_get: - post: - tags: - - 'Database Management' - summary: Get Bulk Documents - description: |+ - This request returns any number of documents, as individual bodies in a MIME multipart response. - - Each enclosed body contains one requested document. - The bodies appear in the same order as in the request, but can also be identified by their X-Doc-ID and X-Rev-ID headers. - - A body for a document with no attachments will have content type application/json and contain the document itself. - - A body for a document that has attachments will be written as a nested multipart/related body. - Its first part will be the document's JSON, and the subsequent parts will be the attachments (each identified by a Content-Disposition header giving its attachment name.) - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - - produces: - - 'multipart/mixed' - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/revs' - - $ref: '#/parameters/revs_limit' - - $ref: '#/parameters/include_attachments' - - $ref: '#/parameters/bulkget' - responses: - 200: - description: Request completed successfully - examples: - multipart/mixed (document found): | - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - Content-Type: application/json - - {"_id":"doc123","_rev":"1-c543d6514c609f65180f94af247aaffe","hello":"world!"} - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - multipart/mixed (document not found): | - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - Content-Type: application/json; error="true" - - {"error":"not_found","id":"doc1234","reason":"missing","status":404} - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - 301: - description: Request failed with a forbidden error. This usually happens because the user requesting that document doesn't have access to it. Access to documents is granted to users through channels. - schema: - type: object - properties: - _id: - type: string - description: The document ID that was requested - _removed: - type: boolean - default: true - _rev: - type: string - description: The revision number that was requested - /{db}/_local/{local_doc}: - get: - tags: - - Document - summary: Get Specific Local Document - description: |+ - This request retrieves a local document. - - Local document IDs begin with _local/. - Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. - In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/local_doc' - responses: - 200: - description: OK - - put: - tags: - - Document - summary: Update Specific Local Document - description: |+ - This request creates or updates a local document. Local document IDs begin with _local/. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by the client's replicator, as a place to store replication checkpoint data. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/local_doc' - responses: - 201: - $ref: '#/responses/200-doc' - delete: - tags: - - Document - summary: Delete Specific Local Document - description: |+ - This request deletes a local document. Local document IDs begin with _local/. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/local_doc' - - $ref: '#/parameters/rev' - - $ref: '#/parameters/batch' - responses: - 200: - $ref: '#/responses/200-doc' - /{db}/_changes: - get: - tags: - - 'Database Management' - summary: Get List of Changes (query parameters) - description: |+ - This request retrieves a sorted list of changes made to documents in the database, in time order of application. - - Each document appears at most once, ordered by its most recent change, regardless of how many times it's been changed. - This request can be used to listen for update and modifications to the database for post processing or synchronization. - A continuously connected changes feed is a reasonable approach for generating a real-time log for most applications. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/limit' - - $ref: '#/parameters/style' - - $ref: '#/parameters/active_only' - - $ref: '#/parameters/include_docs' - - $ref: '#/parameters/filter' - - $ref: '#/parameters/channels_list' - - $ref: '#/parameters/doc_ids' - - $ref: '#/parameters/feed' - - $ref: '#/parameters/since' - - $ref: '#/parameters/heartbeat' - - $ref: '#/parameters/timeout' - responses: - 200: - description: Request completed successfully - schema: - $ref: '#/definitions/Changes' - post: - tags: - - 'Database Management' - summary: Changes - description: |+ - Same as the GET /_changes request except the parameters are in the JSON body. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/changes_body' - - responses: - 200: - description: Request completed successfully - schema: - $ref: '#/definitions/Changes' - - /{db}/_compact: - get: - tags: - - 'Database Management' - summary: Get Compact Status - description: |+ - Use this request to return the current status of a compaction. - - Set the `type` parameter to one of: - - tombstone - A GET request to /{db}/_compact?type=tombstone returns the number of tombstones removed. - - attachment - A GET request to /{db}/_compact?type=attachment returns the number of attachments that are removed from the bucket. - - For example: - ```{ - "status": "running", - "start_time": "2021-12-02T18:26:17.086152Z", - "last_error": "", - "marked_attachments": 0, - "purged_attachments": 0, - "compact_id": "68302d2d-2c56-434e-94e0-33c0d0437828", - "phase": "cleanup" - }``` - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/compaction_type' - - responses: - 200: - $ref: '#/responses/200-db-compact-get' - - post: - tags: - - 'Database Management' - - summary: Compact Database - description: |+ - Use the ```/{db}/_compact``` endpoint to start a compaction process. - The process purges the JSON bodies of non-leaf revisions. - - Using this endpoint following a failed compaction will trigger a restart of the compact_id at the appropriate phase (where possible). - - This process is also run periodically by the system. - - Note - Leaf revisions are not purged during compaction. - - Compaction does not remove JSON bodies of leaf nodes (conflicting branches). - So it is also important to resolve conflicts in your application in order to re-claim disk space. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/compaction_type' - - $ref: '#/parameters/compaction_action' - - $ref: '#/parameters/compaction_dry_run' - - $ref: '#/parameters/compaction_reset' - - responses: - 200: - $ref: '#/responses/200-db-compact-post-start' - 400: - $ref: '#/responses/400-db-compact-post-bad-request' - 503: - $ref: '#/responses/503-db-compact-post-unavailable' - - /{db}/_config: - get: - tags: - - 'Database Configuration' - summary: Get Database Configuration - description: |+ - Returns the Sync Gateway configuration of the database specified in the URL. This is a good method to check if a particular key was set correctly on the config file. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - parameters: - - $ref: '#/parameters/db' - responses: - 200: - description: Sync Gateway configuration of the running instance. - put: - operationId: "update_database_config" - tags: - - 'Database Configuration' - summary: Update Database Configuration - description: |+ - Use this endpoint to update the configuration of an existing Sync Gateway database. - - Provide the database name in the URL path. - Provide the required database configuration settings as a JSON object in the request body. - - By default the updated database is brought online immediately, **unless** you include `"offline": true` in the configuration. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/database_config_body' - responses: - 200: - $ref: '#/responses/OK' - 401: - $ref: '#/responses/Unauthorized' - /{db}/_config/import_filter: - get: - operationId: "get_import_filter" - tags: - - 'Database Configuration' - summary: Get Import_Filter Function - description: |+ - Use this convenience endpoint to get the content of the current `import_filter` - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - consumes: ['application/javascript'] - - parameters: - - $ref: '#/parameters/db' - responses: - 200: - $ref: '#/responses/200-import-filter' - 401: - $ref: '#/responses/Unauthorized' - put: - operationId: "update_import_filter" - tags: - - 'Database Configuration' - summary: Update Import_Filter Function - description: |+ - Use this convenience endpoint to add or update the `import_filter` Javascript function for an existing Sync Gateway database. - - See the 'Model' below for more info - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - consumes: ['application/javascript'] - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/import_filter_body' - responses: - 200: - $ref: '#/responses/200-import-filter' - 401: - $ref: '#/responses/Unauthorized' - delete: - operationId: "delete_import_filter" - tags: - - 'Database Configuration' - summary: Delete Import_Filter Function - description: |+ - Use this convenience endpoint to remove an existing`import_filter`. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - consumes: ['application/javascript'] - - parameters: - - $ref: '#/parameters/db' - responses: - 200: - $ref: '#/responses/200-import-filter' - 401: - $ref: '#/responses/Unauthorized' - - /{db}/_config/sync: - get: - operationId: "get_sync_function" - tags: - - 'Access Control' - - 'Database Configuration' - summary: Get Sync Function - description: |+ - Get the content of the current Sync Function - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - consumes: ['application/javascript'] - parameters: - - $ref: '#/parameters/db' - responses: - 200: - $ref: '#/responses/200-sync' - 401: - $ref: '#/responses/Unauthorized' - put: - operationId: "update_sync_function" - tags: - - 'Access Control' - - 'Database Configuration' - summary: Update Sync Function - description: |+ - Use this convenience endpoint to add or update the `Sync` function for an existing Sync Gateway database - - See the 'Model' below for more info - - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - - consumes: ['application/javascript'] - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/sync_function_body' - responses: - 200: - $ref: '#/responses/200-sync' - 401: - $ref: '#/responses/Unauthorized' - delete: - operationId: "delete_sync_function" - tags: - - 'Access Control' - - 'Database Configuration' - summary: Delete Sync Function - description: |+ - Use this convenience endpoint to remove an existing `Sync` function - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - consumes: ['application/javascript'] - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/sync_function_body' - responses: - 200: - $ref: '#/responses/200-sync' - 401: - $ref: '#/responses/Unauthorized' - - /{db}/{doc}: - get: - tags: - - Document - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - - $ref: '#/parameters/rev_get' - - $ref: '#/parameters/include_attachments' - - $ref: '#/parameters/atts_since' - - $ref: '#/parameters/open_revs' - - $ref: '#/parameters/revs' - - $ref: '#/parameters/show_exp' - summary: Get Specific Document - description: - This request retrieves a document from a database. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - responses: - 200: - description: The message body contains the following objects in a JSON document. - schema: - type: object - put: - tags: - - Document - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - - $ref: '#/parameters/new_edits' - - $ref: '#/parameters/rev_put' - - in: body - name: Document - description: Request body - schema: - $ref: '#/definitions/Document_model' - summary: Create or update document - description: |+ - This request creates a new document or creates a new revision of an existing document. It enables you to specify the identifier for a new document rather than letting the software create an identifier. If you want to create a new document and let the software create an identifier, use the POST /db request. - If the document specified by doc does not exist, a new document is created and assigned the identifier specified in doc. If the document already exists, the document is updated with the JSON document in the message body and given a new revision. The maximum size allowed for a document is 20MB. - - Since Sync Gateway 1.3, an expiry property (`_exp`) can also be specified to purge the document after a given time. If **convergence** is enabled (introduced in Sync Gateway 1.5), the behavior of the expiry feature changes in the following way: when the expiry value is reached, instead of getting purged, the **active** revision of the document is tombstoned. If there is another non-tombstoned revision for this document (i.e a conflict) it will become the active revision. The tombstoned revision will be purged when the server's metadata purge interval is reached. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - responses: - 200: - $ref: '#/responses/200-doc' - delete: - tags: - - Document - summary: Delete document - description: |+ - This request deletes a document from the database. - When a document is deleted, the revision number is updated so the database can track the deletion in synchronized copies. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - - $ref: '#/parameters/rev_delete' - responses: - 200: - description: OK - - /{db}/{doc}/{attachment}: - get: - tags: - - Document - summary: Get attachment - description: |+ - Use this request to get the file attachment associated with a document. - It returns the raw data of the associated attachment, just as if you were accessing a static file. - - The Content-Type response header is the same content type set when the document attachment was added to the database. - - To remove an attachment from a document, simply update the `_attachments` dictionary of the document in the PUT "/{db}/{id}" request. - - Use the `meta` parameter to request that only the document ID of the attachment blob be returned - - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - - $ref: '#/parameters/attachment' - - $ref: '#/parameters/rev' - - in: query - name: meta - type: boolean - description: |+ - If `true` only the document ID of the attachment blob is returned in the response body - default: false - - responses: - 200: - description: The message body contains the attachment, in the format specified in the Content-Type header. - schema: - type: string - format: binary - example: |+ - GET /{db}/{doc}/{attachment}?meta=true - { - "content_type": "text/plain", - "length": 2, - "key": "_sync:att2:uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek=:sha1-Kq5sNclPz7QV2+lfQIuc6R7oRu0=" - } - - 304: - description: Not Modified, the attachment wasn't modified if ETag equals the If-None-Match header - 400: - description: Bad Request - A non boolean value was supplied for the meta parameter. - 404: - description: Not Found, the specified database, document or attachment was not found. - - - put: - tags: - - Document - summary: Add or update a document attachment - description: |+ - Use this request to add or update the supplied request content as an attachment to the specified document. - - - The maximum content size of an attachment is 20MB. - - The attachment name must be a URL-encoded string (the file name). - - You must also supply either the rev query parameter or the If-Match HTTP header for validation, and the Content-Type headers (to set the attachment content type). - - When uploading an attachment using an existing attachment name, the corresponding stored content of the database will be updated. Because you must supply the revision information to add an attachment to the document, this serves as validation to update the existing attachment. - - Uploading an attachment updates the corresponding document revision. - Revisions are tracked for the parent document, not individual attachments. - - To remove an attachment from a document, simply update the `_attachments` dictionary of the document in the PUT "{db}/{id}" request. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - - $ref: '#/parameters/attachment' - - $ref: '#/parameters/rev' - - in: body - name: body - description: The request body - schema: - type: string - format: binary - - $ref: '#/parameters/content_type' - responses: - 200: - description: Operation completed successfully - 409: - description: Conflict, the document revision wasn't specified or it's not the latest. - - - /{db}/_design/{ddoc}: - get: - tags: - - 'Design Documents' - summary: Get Views of a design document - description: |+ - Query a design document. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/ddoc' - responses: - 200: - description: Views for design document - schema: - type: object - properties: - my_view_name: - $ref: '#/definitions/View' - put: - tags: - - 'Design Documents' - summary: Update views of a design document - description: |+ - Update views of a design document - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/ddoc' - - in: body - name: body - description: The request body - required: false - schema: - $ref: '#/definitions/View' - responses: - 200: - description: OK - delete: - tags: - - 'Design Documents' - summary: Delete design document - description: |+ - Delete a design document. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/ddoc' - responses: - 200: - description: The status - schema: - $ref: '#/definitions/Design' - default: - description: Unexpected error - schema: - $ref: '#/definitions/Error' - - /{db}/_design/{ddoc}/_view/{view}: - get: - tags: - - 'Design Documents' - summary: Query a view - description: |+ - Query a view on a design document. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/ddoc' - - $ref: '#/parameters/view' - - in: query - name: conflicts - description: Include conflict information in the response. This parameter is ignored if the include_docs parameter is false. - type: boolean - - in: query - name: descending - description: Return documents in descending order. - type: boolean - - in: query - name: endkey - description: If this parameter is provided, stop returning records when the specified key is reached. - type: string - - in: query - name: end_key - description: Alias for the endkey parameter. - type: string - - in: query - name: endkey_docid - description: If this parameter is provided, stop returning records when the specified document identifier is reached. - type: string - - in: query - name: end_key_doc_id - description: Alias for the endkey_docid parameter. - type: string - - in: query - name: include_docs - description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - type: boolean - - in: query - name: inclusive_end - description: Indicates whether the specified end key should be included in the result. - type: boolean - - in: query - name: group - description: Group the results using the reduce function to a group or single row. - type: boolean - - in: query - name: group_level - description: Specify the group level to be used. - type: integer - - in: query - name: key - description: If this parameter is provided, return only document that match the specified key. - type: string - - in: query - name: limit - description: If this parameter is provided, return only the specified number of documents. - type: integer - - in: query - name: skip - description: If this parameter is provided, skip the specified number of documents before starting to return results. - type: integer - - in: query - name: stale - description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. Valid values are ok and update_after. - type: string - - in: query - name: startkey - description: If this parameter is provided, return documents starting with the specified key. - type: string - - in: query - name: start_key - description: Alias for startkey param. - type: string - - in: query - name: startkey_docid - description: If this parameter is provided, return documents starting with the specified document identifier. - type: string - - in: query - name: update_seq - description: Indicates whether to include the update_seq property in the response. - type: boolean - responses: - 200: - description: Query results - schema: - $ref: '#/definitions/QueryResult' - /{db}/_all_docs: - get: - tags: - - 'Database Management' - summary: All docs - description: |+ - This request returns a built-in view of all the documents in the database. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/access' - - $ref: '#/parameters/channels' - - $ref: '#/parameters/include_docs' - - $ref: '#/parameters/revs' - - $ref: '#/parameters/update_seq' - - $ref: '#/parameters/limit' - - $ref: '#/parameters/keys' - - $ref: '#/parameters/startkey' - - $ref: '#/parameters/endkey' - responses: - 200: - description: Query results - schema: - $ref: '#/definitions/QueryResult' - post: - tags: - - 'Database Management' - summary: All docs - description: |+ - This request retrieves specified documents from the database. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/access' - - $ref: '#/parameters/channels' - - $ref: '#/parameters/include_docs' - - $ref: '#/parameters/revs' - - $ref: '#/parameters/update_seq' - - in: body - name: body - description: Request body - schema: - $ref: '#/definitions/AllDocs' - responses: - 200: - description: Query results - schema: - $ref: '#/definitions/QueryResult' - /{db}/_oidc: - get: - tags: - - Authentication - summary: OpenID Connect Authentication. - description: |+ - Called by clients to initiate the OIDC Authorization Code flow. - parameters: - - $ref: '#/parameters/db' - - in: query - name: offline - description: When true, requests a refresh token from the OP. Sets access_type=offline and prompt=consent on the redirect to the OP. Secure clients should set offline=true and persist the returned refresh token to secure storage. - type: boolean - required: false - - in: query - name: provider - description: OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 302: - description: Redirect to the requested OpenID Connect provider for authentication. Redirect link is returned in the Location header. - 400: - description: Bad request. Reason is returned as "OpenID Connect not configured for database default". If a provider was specified in the request, that provider was not defined in the Sync Gateway config. If no provider was specified, OpenID Connect is not configured in the Sync Gateway config. - 500: - description: Server Error. Sync Gateway is unable to connect and validate the OpenID Connect provider requested. - /{db}/_oidc_callback: - get: - tags: - - Authentication - summary: OpenID Connect Authentication callback. - description: |+ - Sync Gateway callback URL that clients are redirected to by the OpenID Connect provider. - parameters: - - $ref: '#/parameters/db' - - in: query - name: code - description: OpenID Connect Authorization code. - type: string - required: true - - in: query - name: provider - description: OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 200: - description: Successful OpenID Connect authentication. - schema: - type: object - properties: - id_token: - type: string - description: OpenID Connect ID token - refresh_token: - type: string - description: OpenID Connect refresh token - session_id: - type: string - description: Sync Gateway session token - name: - type: string - description: Sync Gateway username - access_token: - type: string - description: OpenID Connect access token - token_type: - type: string - description: OpenID Connect token type - expires_in: - type: number - description: TTL for id_token - 400: - description: Bad request. - 401: - description: Authentication failed. Reason returned in the response body. - /{db}/_oidc_challenge: - get: - tags: - - Authentication - summary: OpenID Connect Authentication. - description: |+ - Called by clients to initiate the OIDC Authorization Code flow. - parameters: - - $ref: '#/parameters/db' - - in: query - name: offline - description: When true, requests a refresh token from the OP. Sets access_type=offline and prompt=consent on the redirect to the OP. Secure clients should set offline=true and persist the returned refresh token to secure storage. - type: boolean - required: false - - in: query - name: provider - description: OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 302: - description: Redirect to the requested OpenID Connect provider for authentication. Redirect link is returned in the Location header. - 400: - description: Bad request. Reason is returned as "OpenID Connect not configured for database default". If a provider was specified in the request, that provider was not defined in the Sync Gateway config. If no provider was specified, OpenID Connect is not configured in the Sync Gateway config. - 500: - description: Server Error. Sync Gateway is unable to connect and validate the OpenID Connect provider requested. - /{db}/_oidc_refresh: - get: - tags: - - Authentication - summary: OpenID Connect refresh. - description: |+ - Used to obtain a new OpenID Connect ID token based on the provided refresh token. - parameters: - - $ref: '#/parameters/db' - - in: query - name: refresh_token - description: OpenID Connect refresh token. - type: string - required: true - - in: query - name: provider - description: OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 200: - description: Successful OpenID Connect authentication. - schema: - type: object - properties: - id_token: - type: string - description: OpenID Connect ID token - session_id: - type: string - description: Sync Gateway session token - name: - type: string - description: Sync Gateway username - access_token: - type: string - description: OpenID Connect access token - token_type: - type: string - description: OpenID Connect token type - expires_in: - type: number - description: TTL for id_token - 400: - description: Bad request. - 401: - description: Authentication failed. Unable to refresh token. - /{db}/_replication: - post: - tags: - - Replication - summary: Create a new replication definition - description: |+ - The **_replication** endpoint is used to manage both *ad hoc* and *persistent* replication operations. - - Using a POST request you can insert a new set of replication details. - - - **To Cancel a Replication** - You can cancel continuous replications by adding the cancel field to the JSON request object and setting the value to true. - Note that the structure of the request must be identical to the original for the cancellation request to be honoured. - For example, if you requested continuous replication, the cancellation request must also contain the continuous field. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/replication__replication-body' - - responses: - 200: - description: Replication successfully updated - schema: - $ref: '#/definitions/ReplicationResponse' - 201: - description: Replication successfully inserted - schema: - $ref: '#/definitions/ReplicationResponse' - get: - tags: - - Replication - summary: - Get all replication definitions - description: |+ - Returns an array object containing all replication definitions - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - responses: - 200: - description: Successful response - returns an array of replication definitions in the body as JSON - schema: - $ref: '#/definitions/ReplicationResponseBody' - - /{db}/_replication/{replicationID}: - get: - tags: - - Replication - summary: Get a replication definition - description: |+ - Returns requested (**replicationID**) replication definition - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/replication_id-required' - responses: - 200: - description: Successful response - returns requested replication definition in the body as JSON - schema: - $ref: '#/definitions/ReplicationResponseBody' - put: - tags: - - Replication - operationId: upsert_replication - summary: Upsert a replication definition - description: |+ - The **_replication** endpoint is used to manage both *ad hoc* and *persistent* replication operations. - - Using a PUT request you can update (or insert, if it doesn't exist) a set of replication details. - - - **To cancel a replication** - You can cancel continuous replications by adding the cancel field to the JSON request object and setting the value to true. - - Note that the structure of the request must be identical to the original for the cancellation request to be honoured. - - For example, if you requested continuous replication, the cancellation request must also contain the continuous field. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/replication_id-upsert' - - $ref: '#/parameters/replication__replication-body' - responses: - 200: - description: Replication successfully updated - schema: - $ref: '#/definitions/ReplicationResponse' - 201: - description: Replication successfully inserted - schema: - $ref: '#/definitions/ReplicationResponse' - delete: - tags: - - Replication - summary: Cancel and delete replication - description: |+ - Deletes a specific (**replicationID**) replication - - Removes persisted replication definition - - Removes all checkpoints associated with the replication - - Deletes all replication status information associated with the replication - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/replication_id-required' - responses: - 200: - description: Replication successfully deleted - - /{db}/_replicationStatus: - get: - tags: - - Replication - summary: Returns replication status data for replications matching the criteria - description: |+ - **About** - - Returns replication status data for all replications matching the criteria specified in the {querystring} parameter. - - **Options** - - The `{queryString}` parameter supports the following filter parameters - see *Parameter* section for more details - - - `activeOnly` - - `localOnly` - - `includeConfig` - - `includeError` - - **Behavior** - - The selection is made from all replications across *all* nodes. - - By default the response includes status data for replications in any state (starting, running, stopped or error) from across all nodes. - -
Example
- - ``` - http://localhost:4985/{db}/_replicationStatus?activeOnly=false&localOnly=false&includeError=true - - ``` - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - in: query - name: activeOnly - type: boolean - default: false - required: false - description: |+ - When *true*, only active replications (state=starting, running, stopping) are returned - - in: query - name: localOnly - type: boolean - default: false - required: false - description: |+ - When *true* returns only replications run (or running) the local node since startup. - - By default the response includes replications run or running across all nodes since node start-up. - - in: query - name: includeError - type: boolean - default: true - required: false - description: |+ - When false, omits replications stopped due to error (state=error) - - By default the response includes replications in `error` state. - - in: query - name: includeConfig - type: boolean - default: false - required: false - description: |+ - When *true* the replication definition is included in the response. - responses: - 200: - description: Returns information about the active replications - schema: - $ref: '#/definitions/ReplicationStatusResponseBody' - - /{db}/_replicationStatus/{replicationID}: - get: - tags: - - Replication - summary: Returns information on specified replication - description: |+ - Returns the status of the requested (**replicationID**) replication - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/replication_id-required' - responses: - 200: - description: Information about specified replication. - schema: - type: object - $ref: '#/definitions/ReplicationStatusResponseBody' - # /{db}/_replicationStatus/{replicationID}: - put: - tags: - - Replication - summary: Modify replication status - description: |+ - Use this endpoint to change the status of the specified (**replicationID**) replication using the value of the `action` parameter. - - The `action` parameter specifies the status to be set - valid values are - - - `start` - starts a stopped replication - - - `stop` - stops an active replication - - - `reset` - resets a stopped replication (resets checkpoint to zero). For bidirectional replication, both push and pull checkpoints are reset to zero. - - For example - - ``` - http://localhost:4985/fred/_replicationStatus/{replicationID}?action=start - ``` - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Replicator - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/replication_id-required' - - $ref: '#/parameters/replicationStatus-action' - responses: - 200: - description: The required status is successfully set - schema: - type: object - $ref: '#/definitions/ReplicationStatusResponseBody' - /{db}/_revs_diff: - post: - tags: - - 'Database Management' - summary: Get Revisions DIff List - description: |+ - Given a set of document/revision IDs, returns the subset of those that do not correspond to revisions stored in the database. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - in: body - name: body - description: Request body - schema: - description: A dictionary with document IDs as keys to revision IDs for that document. - type: array - items: - properties: - key: - type: string - description: document id - value: - type: string - description: revision id - - responses: - 200: - description: |+ - The request was successful. - Returns a list of revision IDs for that document (the ones that are not stored in the database) - schema: - type: array - items: - properties: - key: - type: string - description: document id - value: - type: string - description: revision id - - /{db}/_offline: - post: - tags: - - 'Database Management' - operationId: take_database_offline - summary: Take Database Offline - description: |+ - This request takes the specified database offline. - - An offline database is not accessible through Sync Gateway's Public REST API. However, some commands can be given to Sync Gateway through the Admin REST API. - - Taking a database offline will: - - - Cleanly closes all active `_changes` feeds for this database. - - Rejects all access to the database through the Public REST API (503 Service Unavailable). - - Rejects most Admin API requests (503 Service Unavailable). A specific, short list of Admin REST API requests remain available (`GET /{db}`, `PUT /{db}/_config`, `POST /{db}/_resync`). - - Stops webhook event handlers. - - Does not take the backing Couchbase Server bucket offline. The bucket remains available and Sync Gateway keeps its connection to the bucket. - - When a database is offline, you can load properties for the database, without stopping and re-starting the Sync Gateway instance. The new properties are applied when the database is brought online. - - Taking a database offline that is in the progress of coming online will take the database offline after it comes online. - - For more information about taking a database offline and bringing it back online, see [this guide](database-offline.html). - - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - parameters: - - $ref: '#/parameters/db' - responses: - 200: - description: Database brought online - /{db}/_online: - post: - tags: - - 'Database Management' - summary: Bring Database Online. - description: |+ - When a database is online, Sync Gateway serves both Public and Admin REST API requests for the database. This request brings the specified database online, either immediately or after a specified delay. - - Bringing a database online: - - - Closes the databases connection to the backing Couchbase Server bucket. - - Reloads the database configuration, and connects to the backing Couchbase Server bucket. - - Re-establishes access to the database from the Public REST API. - - Accepts all Admin API requests. - - You can bring an offline database online after a specific delay. Uses for this include: - - - Making a database available for Couchbase Mobile clients at a specific time. - - Making databases on several Sync Gateway instances available at the same time. - - For more information about taking a database offline and bringing it back online, see [this guide](database-offline.html). - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - parameters: - - $ref: '#/parameters/db' - - in: body - name: body - description: Optional request body to specify a delay. - required: false - schema: - type: object - properties: - delay: - type: integer - description: Delay in seconds before bringing the database online. - responses: - 200: - description: OK - online request accepted. - 503: - description: Service Unavailable - Database resync is in progress. - /{db}/_purge: - post: - tags: - - Document - summary: Purge document - description: |+ - The purge command provides a way to remove a document from the bucket itself. The operation removes all the revisions (active and tombstones) for the specified document(s). A common usage of this endpoint is to remove tombstone documents that are no longer needed, thus recovering storage space and reducing data replicated to clients. Other clients are not notified when a revision has been purged; so in order to purge a revision from the system it must be done from all databases (on Couchbase Lite and Sync Gateway). - - When **convergence** is enabled (introduced in Sync Gateway 1.5), this endpoint removes the document and its associated extended attributes. - - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - in: body - name: body - description: The message body is a JSON document that contains the following objects. - schema: - $ref: '#/definitions/PurgeBody' - responses: - 200: - description: OK - The purge operation was successful - schema: - type: array - description: |+ - Response object, contains one property for each document ID successfully purged, the property key is the "docID" and the property value is a list containing the single entry "*". - items: - type: string - description: Revision ID that was purged - /{db}/_raw/{doc}: - get: - tags: - - Document - summary: Document with metadata - description: |+ - Returns the document with the metadata. - - Note: The direct use of this endpoint is unsupported. The sync metadata is maintained internally by Sync Gateway and its structure can change. It should not be used to drive business logic of applications since the response to the `/{db}/_raw/{id}` endpoint can change at any time.\ - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - responses: - 200: - description: OK - schema: - $ref: '#/definitions/DocMetadata' - - /{db}/_resync: - get: - tags: - - 'Database Management' - summary: Show resync status - description: |+ - This request returns the status of the asynchronous `_resync` operation, including: - - - status - - docs processed - - docs changed - - last error (if any) - - **Sync Gateway Roles Required:** - - - Sync Gateway Architect - parameters: - - $ref: '#/parameters/db' - responses: - 200: - $ref: '#/responses/200-resync' - - post: - tags: - - 'Database Management' - summary: Start or Stop Resync - description: |+ - - Use the _resync operation whenever you have modified the database's sync function such that the channel or access mappings for any existing document would change as a result. - - The request will start or stop the _resync process depending upon the ```action``` parameter provided. - If no ```action``` parameter is given then `start` is assumed. - - **```action=start```** - - The start action causes all documents to be reprocessed by the database's sync function. - This is an **asynchronous** operation. - - When the sync function is invoked by `_resync`, the requireUser() and requireRole() calls will always return 'true'. - - A _resync operation on a database that is not in the offline state will be rejected (503 Service Unavailable). - - **```action=stop```** - - The currently running resync operation is stopped. - - - **```regenerate_sequences=true```** - **Use this only when requested to do so by the Couchbase support team** - - This request will start a resync while regenerating sequences. - - The resync action is carried out **only** on the node that the POST is made to. - It is not cross-node aware. - - In a multi-node cluster, the resync must be only run on one node. - Users should bring other nodes offline before initiating this action. - Starting it on more than one node will result in multiple resyncs running, with undefined system behavior. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/resync-action' - - $ref: '#/parameters/resync-regenerate' - - responses: - 200: - $ref: '#/responses/200-resync' - 400: - $ref: '#/responses/400-resync-post-stopped' - 503: - $ref: '#/responses/503-resync-post' - - - /{db}/_revtree/{doc}: - get: - produces: - - text/plain - tags: - - Document - summary: Revision Tree structure in Graphviz Dot format | not officially supported - description: |+ - Returns the dot syntax of the revision tree which can be rendered into a PNG image with the [CLI dot tool](http://www.graphviz.org/). - - - Install the dot tool via `brew install graphviz`. - - Save the response text to a file (for example, **revtree.dot**). - - Render a PNG by calling `dot -Tpng revtree.dot > revtree.png`. - - **Note:** This endpoint is useful for debugging purposes only. It is not officially supported. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - responses: - 200: - description: Success and returns the revtree as plain text. - /{db}/_role: - get: - tags: - - 'Database Security' - summary: Get All Roles - description: |+ - This request returns all the roles in the specified database. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - - responses: - 200: - description: |+ - 200 OK - Returns the list of roles as an array of strings - - The message body contains the list of roles in a JSON array. Each element of the array is a string representing the name of a role in the specified database. - schema: - type: array - items: - description: "" - type: string - 401: - $ref: '#/responses/Unauthorized' - - post: - tags: - - 'Database Security' - summary: Create New Role - description: |+ - This request creates a new role - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/role_body' - responses: - 201: - $ref: '#/responses/OK-create' - 401: - $ref: '#/responses/Unauthorized' - 409: - $ref: '#/responses/Conflict' - /{db}/_role/{name}: - get: - tags: - - 'Database Security' - summary: Get Specific Role - description: |+ - Request a specific role by name. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - Sync Gateway Application Read Only - - Without `Application` or `Application Read Only` users will be unable to see dynamic user or role data. - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/role_name' - responses: - 200: - description: The response contains information about this role. - schema: - type: object - properties: - name: - type: string - admin_channels: - type: array - description: |+ - The admin channels that this role has granted access to. Admin channels are the ones which are - granted access to in the config file or via the Admin REST API. - items: - type: string - all_channels: - type: array - description: All the channels that this role has access to. - items: - type: string - 401: - $ref: '#/responses/Unauthorized' - - put: - operationId: "upsert_role" - tags: - - 'Database Security' - summary: Update Specific Role - description: |+ - Use this convenience endpoint to upsert a Sync Gateway role. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/role_name' - - $ref: '#/parameters/role_body' - responses: - 200: - $ref: '#/responses/OK' - 201: - $ref: '#/responses/OK-create' - 401: - $ref: '#/responses/Unauthorized' - delete: - tags: - - 'Database Security' - summary: Delete Specific Role - description: |+ - This request deletes the role with the specified name. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/role_name' - responses: - 200: - description: 200 OK - The role was successfully deleted - /{db}/_session: - post: - tags: - - Session - summary: Create New Session - description: |+ - If the credentials provided in the request body are valid, the session is created with an idle session timeout of 24 hours. - An idle session timeout in the context of Sync Gateway is defined as the following: - - If 10% or more of the current expiration time has elapsed when a subsequent request with that session id is processed, the session's expiry time is automatically updated to 24 hours from that time. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - parameters: - - $ref: '#/parameters/db' - - in: body - name: SessionBody - description: The message body is a JSON document that contains the following objects. - schema: - type: object - properties: - name: - type: string - description: Username of the user the session will be associated to. - ttl: - description: |+ - Default is 24 hours (86400 seconds). - The TTL (time-to-live) of the session, in seconds. - The value must be greater than 0. - type: integer - default: 86400 - example: 180 - responses: - 200: - description: Session successfully created. - schema: - type: object - properties: - cookie_name: - type: string - description: Cookie used for session handling - expires: - type: string - description: Expiration time for session. - session_id: - type: string - description: Session ID. - /{db}/_session/{sessionid}: - get: - tags: - - Session - summary: Get Session Data - description: |+ - This request retrieves information about a session. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/sessionid' - responses: - 200: - description: 200 OK - Request completed successfully. - schema: - type: object - properties: - authentication_handlers: - type: array - items: - type: object - description: List of supported authentication handlers - ok: - type: boolean - description: Success flag - userCtx: - type: object - description: Contains an object with properties channels (the list of channels for the user associated with the session) and name (the user associated with the session) - delete: - tags: - - Session - summary: Delete Specific Session - description: |+ - This request deletes a single session. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/sessionid' - responses: - 200: - description: |+ - 200 OK - Request completed successfully. - - If the session is successfully deleted, the response has an empty message body. - If the session is not deleted, the message body contains error information. - /{db}/_user/{name}/_session: - delete: - tags: - - Session - summary: Delete All User Sessions - description: |+ - This request delete the session for the specified user. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/name' - responses: - 200: - description: User session deleted. - /{db}/_user/{name}/_session/{sessionid}: - delete: - tags: - - Session - summary: Delete Specific User Session - description: |+ - This request delete the specified session for the specified user. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/name' - - $ref: '#/parameters/sessionid' - responses: - 200: - description: User session deleted. - /{db}/_user/: - get: - tags: - - 'Database Security' - summary: Get All Users - description: |+ - This request returns a list of all users - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - Sync Gateway Application Read Only - parameters: - - $ref: '#/parameters/db' - responses: - 200: - description: |+ - The message body contains the list of users in a JSON array. - Each element of the array is a string representing the name of a user in the specified database. - schema: - type: array - items: - type: string - description: username - 404: - $ref: '#/responses/NotFound' - post: - tags: - - 'Database Security' - summary: Create New User - description: |+ - This request creates a new user - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application` - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/user_body' - responses: - - 201: - $ref: '#/responses/OK-create' - 401: - $ref: '#/responses/Unauthorized' - 409: - $ref: '#/responses/Conflict' - /{db}/_user/{name}: - get: - tags: - - 'Database Security' - summary: Get User Data - description: |+ - This request returns information about the specified user. - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - - Sync Gateway Application Read Only - - Without `Application` or `Application Read Only` users will be unable to see dynamic user or role data. - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/name' - - responses: - 200: - $ref: '#/responses/200-User' - 401: - $ref: '#/responses/Unauthorized' - - put: - operationId: "upsert_user" - tags: - - 'Database Security' - summary: Update User Data - description: |+ - Use this method to create or update a user - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/name' - - $ref: '#/parameters/user_body' - responses: - 200: - $ref: '#/responses/OK' - 201: - $ref: '#/responses/OK-create' - 401: - $ref: '#/responses/Unauthorized' - - delete: - tags: - - 'Database Security' - summary: Delete Specific User - description: |+ - This request deletes the user with the specified name - - *Sync Gateway Roles Required (CBS 7.0.2 Developer Preview):* - - - Sync Gateway Architect - - Sync Gateway Application - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/name' - responses: - 200: - $ref: '#/responses/OK' - 401: - $ref: '#/responses/Unauthorized' - - -responses: - 200-doc: - description: Operation completed successfully - schema: - $ref: '#/definitions/doc-resp' - - 200_startup_config: - description: Sync Gateway configuration of the running instance. - schema: - $ref: '#/definitions/Bootstrap_model' - - 200-db-compact-get: - description: |+ - OK - A successful response will return a JSON object containing the _compact status. - - The current phase of `running` compact processes is returned in `phase`. - - schema: - $ref: '#/definitions/Compact_Response' - example: - { - "status": "running", - "start_time": "2021-12-02T18:26:17.086152Z", - "last_error": "", - "marked_attachments": 0, - "purged_attachments": 0, - "compact_id": "68302d2d-2c56-434e-94e0-33c0d0437828", - "phase": "cleanup" - } - - 200-db-compact-post-start: - description: | - OK - This successful response indicates _compact process was started. - The response body comprises a JSON object showing the _compact status. - schema: - $ref: '#/definitions/Compact_Response' - example: - { - "id": "2", - "status": "Started", - "start_time": "2015-09-23T17:27:17.55+01:00", - "duration": "0ms", - "atts_compacted": 0 - } - - 400-db-compact-post-bad-request: - description: |+ - Bad Request - - This can mean that a required parameter has not been provided, the value supplied is invalid, or the combination of provided parameters is invalid. - - Compaction API returns a 400 Bad Request error in the following cases: - - A GET /{db}/_compact request is submitted with an invalid value for type parameter (anything other than tombstone or attachment). - - A POST /{db}/_compact request is submitted with an invalid value for type parameter (type must be either tombstone or attachment) and or action parameter (action must be either start or stop). - - 503-db-compact-post-unavailable: - description: |+ - Service Unavailable - - A 503 Service Unavailable error indicates that the system is not ready to handle the submitted compaction start request due another compaction is running. - You may encounter this error when you submit a compaction request in the middle of another. - - 200-import-filter: - description: OK - schema: - $ref: '#/definitions/Import_filter_model' - - 200-sync: - description: OK - schema: - $ref: '#/definitions/Sync_model' - - 200-User: - description: 200 OK - Returns information about the specified user - schema: - $ref: '#/definitions/User-response' - example: - { - "name": "jim", - "admin_channels" : [ - "!", - "jim.roberts@gmail,com" - ], - "all-Channels": [ - "!", - "jim. roberts@gmail,com" - ], - "email": "jim.roberts@gmail.com" - } - - 200-resync: - description: OK - schema: - $ref: '#/definitions/Resync-response' - example: - { - "status": "completed", - "start_time": "2022-01-05T15:05:27.521824Z", - "last_error": "", - "docs_changed": 0, - "docs_processed": 0 - } - - 400-resync-post-stopped: - description: 400 - Database _resync not running - - 503-resync-post: - description: |+ - 503 error code. The meaning varies depending on the action parameter: - - - action=start - Database must be offline before calling _resync. - - action=stop - Database _resync already in progress - - OK: - description: 200 - OK - Operation successful - - OK-create: - description: 201 - OK - Create Operation successful - - Unauthorized: - description: 401 - Unauthorized - Error validating credentials - - NotFound: - description: 404 - Not Found - Object missing or misreferenced - - Conflict: - description: 409 - Conflict - For example, an object with this name already exists - - -definitions: - - Bootstrap_model: - type: object - title: Bootstrap Configuration Model - description: |+ - Sync Gateway's start-up configuration properties - properties: - - bootstrap: - type: object - title: Bootstrap configuration - description: Define fundamental bootstrap related configuration properties - properties: - group_id: - type: string - default: "default" - description: |+ - The ID of the configuration group to which this node belongs. - - config_update_frequency: - type: string - default: "10s" - description: |+ - Sets the interval between checks for new or updated configurations made by other nodes in Couchbase Server - - It is provided as string, which uses Go's duration format (e.g: 1s = 1 second, 5m = 5 minutes , 1h32m15s = 1 hour, 32 mins, 15 seconds) - see: https://pkg.go.dev/time#ParseDuration - - server: - type: string - default: none - description: |+ - Sets the endpoint for the Couchbase Server holding (database) configuration details. - - The value of the *server* property specifies the Hostname(s) to the Couchbase Server node(s) in the cluster. - - Sync Gateway supports the ability to specify multiple hosts in the configuration. - Sync Gateway supports both the `couchbase://` and `http://` schemes for specifying connection endpoints. - - Sync Gateway also supports *SSL* in the connection to Couchbase Server; use the `couchbases://` scheme for this. - As with the Couchbase Server SDKs, the `https://` scheme is **not** supported. - - Examples of valid `server` values for *IPv4* include: - - `couchbase://host1` - - `couchbases://host1` - - `couchbase://host1,host2` - - `couchbase://host1:11210,host2,` - - `couchbases://host1:11207,host2` - - `http://host1:8091` - - `http://host1,host2:8091` - - `http://foo:bar@host1:8091` - - Examples of valid `server` values for *IPv6* include: - - `http://[2001:db8::8811]:8091` *// single node IPv6 - http scheme with default server port* - - `couchbases://[2001:db8::8811]` *// single node SSL IPv6 - default port (omitted)* - - `couchbase://[2001:db8::8811],[2001:db8::8822]:888` *// node1 default port, node2 port 888* - - As with the SDK, when using the `couchbase://` or `couchbases://` schemes, the port is not required, but if specified should be the external/internal bucket ports (defaults are 11210 or 11207 respectively). Attempting to use the admin ports (8091/18091) will result in a startup error. - - **Alternate Addresses** - - On startup, Sync Gateway will try each hostname that is provided until it is able to connect successfully. - - By default, if a remote cluster has an external address set, then when SG connects it will apply a heuristic to determine whether to choose between external or default (internal) addresses. - - The choice is based on the host names supplied in the connection string. - - SG uses external networking only when none of the supplied host names match any of Couchbase Server's internal node addresses, and an external address is defined. - - In all other cases Sync Gateway uses the default (internal) networking. - - However, it is possible to override this behavior by adding a `network` parameter to the connection string. - - The `network` parameter can be -- - - auto - this is the default value if no parameter is provided. In this case the heuristic described above is applied to determine the address used; so effectively there is no override. - - external - to always force use of the external address - - default - to always force use of the internal address - - For example: - ```"server": "couchbases://my-cbs-server?network=default"``` - - Will force the connection to ignore any alternative external addresses configured on the Couchbase Server node. - - **Lost Connections** - - If the connection to Couchbase Server is lost during normal operations, Sync Gateway will automatically re-connect to another node in the cluster. During that re-connection period, the Sync Gateway will appear offline - see [Taking Databases Offline](database-offline.html) - and documents will not be replicated to mobile clients. - - username: - type: string - default: none - description: |+ - The username to be used when authenticating to the server. - - password: - type: string - default: none - description: |+ - The password to be used when authenticating to the server. - - - ca_cert_path: - type: string - title: Root CA cert path for TLS connection - description: |+ - Absolute or relative path on the filesystem to the root CA certificate to verify the certificate chain and hostname of the Couchbase Server cluster. - - Works in conjunction with `server_tls_skip_verify` to control whether system root pool is used or not. - Set this empty and `server_tls_skip_verify` true to avoid using system root pool - - server_tls_skip_verify: - type: boolean - description: - Defaults to `false`, which requires a valid CA Cert Path. - - Works in conjunction with `ca_cert_path` to control whether system root pool is used or not. - - Set this true and `ca_cert_path` empty to allow, for example, self-signed or un-trusted certificates. - This will be the default of-of-the-box setting. - - x509_cert_path: - type: string - title: Cert path (public key) for X.509 bucket auth - description: |+ - Use x509_cert_path to define the absolute or relative path on the filesystem to the x509 certificate. - - Relative paths are relative to the directory containing the Sync Gateway executable. - - x509_key_path: - type: string - title: Key path (private key) for X.509 bucket auth - description: |+ - Absolute or relative path on the filesystem to the X509 key. - - Relative paths are relative to the directory containing the Sync Gateway executable. - - use_tls_server: - type: boolean - default: true - description: |+ - Default to `true`, which forces the connection to Couchbase Server to use TLS. - - Use `use_tls_server` to enforce use of a secure scheme (for example, `couchbases://`) to connect to Couchbase Server. - - Set this `false` to use a non-secure scheme (for example with `couchbase://`). - - If the scheme used does not match that indicated by the `use_tls_server` value (for example, `couchbases://` with `use_tls_server` = `false`) then Sync Gateway will error and refuse to start. - - kv_tls_port: - type: integer - default: 11207 - description: |+ - Optional value for the Memcached TLS port, if not using the default (11207) - - max_concurrent_query_ops: - description: |+ - Sets the maximum number of concurrent query operations allowed - type: integer - default: 1000 - - api: - type: object - title: - API configuration - description: Define API related configuration properties - properties: - admin_interface: - type: string - default: '127.0.0.1:4985' - description: |+ - Port or TCP network address (IP address and the port) that the Admin REST API listens on. - - The loopback address prefix before the port (`127.0.0.1`) means the interface will not be reachable from other hosts. To make it reachable, change it to ":4985". - - Change requires restart of Admin API - admin_interface_authentication: - type: boolean - default: true - description: |+ - Use the `admin_interface_authentication` property to disable authentication for the metrics API. - This option should be used with discretion and only in test environments. - - By default the Admin API requires Couchbase Server RBAC authentication. - The user must provide credentials to an existing user with an appropriate Sync Gateway role. - - metrics_interface: - type: string - default: '127.0.0.1:4986' - description: |+ - This defines the Port or TCP network address (IP address and the port) that the Metrics REST API will listen on. - - Using the loopback address prefix before the port (`127.0.0.1`) means the interface will not be reachable from other hosts. - - For example - ```"metricsInterface": "127.0.0.1:4986"``` - metrics_interface_authentication: - type: boolean - default: true - description: |+ - Use the `metrics_interface_authentication` property to disable authentication for the metrics API. - This option should be used with discretion and only in test environments. - - By default the Metrics API requires Couchbase Server RBAC authentication. - The user must provide credentials to an existing user with an appropriate Sync Gateway role. - - profile_interface: - type: string - description: |+ - TCP network address (IP address and the port) that the Go profile API listens on. - You can obtain Go profiling information from the interface. - You can omit the IP address. - - public_interface: - type: string - default: ':4984' - description: |+ - Public REST API port - - Change requires restart of Public API - - compress_responses: - description: |+ - Whether to compress HTTP responses. Set to false to disable compression of HTTP responses. - - type: boolean - default: true - cors: - type: object - description: |+ - Configuration object for allowing cross-origin resource sharing (CORS). - This is useful to interact directly with Sync Gateway from HTML 5 applications via XHR. - - Change requires HTTP server restart - properties: - headers: - type: array - description: |+ - List of HTTP headers that can be used by domains specified in the `origin` and `login_origin` properties. - - A common value is `["Content-Type"]` as clients use the `Content-Type: application/json` header when sending data as JSON in the body of POST/PUT requests. - - Change requires HTTP server restart - items: - type: string - login_origin: - type: array - description: |+ - List of allowed login origins. - - Change requires HTTP server restart - - items: - type: string - max_age: - type: integer - description: |+ - Value for the Access-Control-Max-Age header. - This is the period of time, in seconds, that the response to a CORS preflight request is cached before sending another preflight request. - - Change requires HTTP server restart - - origin: - type: array - description: |+ - List of allowed origins; use a wildcard character (*) to allow access from everywhere. - - **Note** that the wildcard (*) cannot be used if you plan to authenticate users as well (by using the `withCredentials` flag on the client side). - Instead specify the explicit domain(s) in the `origin` and `login_origin` properties of the configuration file. - - Change requires HTTP server restart - items: - type: string - description: An allowed origin array element - - hide_product_version: - type: boolean - default: false - description: |+ - Determines whether product versions are removed from Server headers and REST API responses. - This setting does not apply to the Admin REST API. - - This customization of the Sync Gateway response avoids revealing the version of the Sync Gateway to HTTP requests to the root path. - - https: - type: object - description: Group in which to specify any API HTTPS configuration properties - properties: - - tls_minimum_version: - type: string - default: 'tlsv1.2' - title: The minimum allowable TLS version for the REST APIs - description: |+ - Enforce a minimum TLS version to be used in replications with Couchbase Lite. - - Possible values are: - - - "tlsv1" - - - "tlsv1.1" - - - "tlsv1.2" - - - "tlsv1.3" - - Change requires HTTP server restart - - tls_cert_path: - type: string - title: The TLS certificate file to use for the REST APIs - description: |+ - Absolute or relative path on the filesystem to the TLS certificate file, if TLS is used to secure Sync Gateway connections - - To use plaintext, omit both this property and the `tls_key_path` property. - - A relative path is from the directory that contains the Sync Gateway executable file. - - Change requires HTTP server restart - tls_key_path: - type: string - title: The TLS key file to use for the REST APIs - description: |+ - Absolute or relative path on the filesystem to the TLS private key files. - - To use plaintext, omit both this property and the `tls_cert_path` property. - - A relative path is from the directory that contains the Sync Gateway executable file. - - Change requires HTTP server restart - idle_timeout: - type: integer - default: 90 - description: |+ - Maximum duration (in seconds) to wait for the next request when keep-alives are enabled - - Change requires HTTP server restart - max_connections: - type: integer - default: 0 - description: |+ - Maximum number of incoming HTTP connections to accept. - - Change requires HTTP server restart - pretty: - type: boolean - default: false - description: |+ - (**Deprecated**) Whether to pretty-print JSON responses. - - read_header_timeout: - type: integer - default: 5 - description: |+ - Maximum duration (in seconds) allowed to read request headers - - Change requires HTTP server restart - server_read_timeout: - type: integer - description: |+ - Maximum duration in seconds before timing out the read of an HTTP(S) request. - - This property only effects the HTTP connections on the Sync Gateway public and admin ports. - - Sync Gateway is written in the Go programming language, therefore the value set in the configuration file is passed to Go's server instance [https://golang.org/pkg/net/http/#Server](https://golang.org/pkg/net/http/#Server). - - Change requires HTTP server restart - server_write_timeout: - type: integer - description: |+ - Maximum duration in seconds before timing out the write of an HTTP(S) response. - - This property only effects the HTTP connections on the Sync Gateway public and admin ports. - - Sync Gateway is written in the Go programming language, therefore the value set in the configuration file is passed to Go's server instance [https://golang.org/pkg/net/http/#Server](https://golang.org/pkg/net/http/#Server). - - Change requires HTTP server restart - - logging: - description: Define logging configuration - $ref: '#/definitions/Logging_model' - - replicator: - title: - Replicator configuration - description: Define Replicator related configuration properties - properties: - blip_compression: - type: integer - default: 6 - description: |+ - This sets the 'deflate' compression level to use when compressing messages sent via the WebSocket protocol, where: - - - 0 means no compression, - - 1 means fastest (least) compression - - 9 means slowest (most) compression. - max_heartbeat: - type: integer - default: 0 - description: |+ - This specifies the Maximum Heartbeat value for the ```_changes feed``` requests; the time in second between heartbeats. - - The default value of ```maxHeartbeat``` is 0 (zero) - - The minimum value of ```maxHeartbeat``` is 25 (25,000 ms) - - auth: - type: object - title: Auth configuration - description: Define Auth related configuration properties - properties: - bcrypt_cost: - type: integer - default: 10 - description: Cost to use for bcrypt password hashes - - unsupported: - type: object - title: Unsupported configuration - description: Collection of unsupported properties - properties: - stats_log_freq: - type: string - default: "1m" - description: |+ - It is provided as string, which uses Go's duration format (e.g: 1s = 1 second, 5m = 5 minutes , 1h32m15s = 1 hour, 32 mins, 15 seconds) - see: https://pkg.go.dev/time#ParseDuration - - http2.enabled: - type: boolean - default: false - - use_stdlib_json: - type: boolean - default: false - - max_file_descriptors: - type: integer - default: 5000 - description: |+ - Maximum number of open file descriptors. - - Logging_model: - type: object - title: Logging Model - description: |+ - Holding object for all logging-related settings. - - Note that in addition to setting these logging values in the bootstrap configuration file, you can also use the ADMIN Rest API to set or change the values without requiring a full reload. - See: [Rest Admin API](rest-api-admin.html) - - A full logging initialization is required. - - See the [Logging](logging.html) page for a fuller explanation on logging settings. - - properties: - log_file_path: - type: string - description: |+ - Absolute or relative path on the filesystem to the log file. - A relative path is from the directory that contains the Sync Gateway executable file. - - Changes require full logging re-initialization - redaction_level: - type: string - default: none - description: |+ - Optionally, log files can be redacted. - This means that user-data, considered to be private, is removed. - Such data includes: - - - Key/value pairs in JSON documents - - - Usernames - - - Query-fields that reference key/value pairs and/or usernames - - - Names and email addresses retrieved during product registration - - - Extended attributes - - This redaction of user-data is referred to as partial redaction. - - To enable it, set this property to `"redaction_level" : "partial"` in the configuration file: - - console: - type: object - description: Settings for the console output logging. - properties: - enabled: - type: boolean - description: Indicates whether console logging is enabled - rotation: - type: object - description: |+ - The log file may be rotated by defining a "rotation" sub document. - See details in [log rotation](logging.html#lbl-logrotate). - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets rotated. - default: 100 - max_age: - type: integer - description: |+ - The maximum number of days to retain old log files. - This can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: |+ - If true, it uses the computer's local time to format the backup timestamp. - False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: |+ - Controls how much disk space the rotated (and compressed) log files for this level can take up. - - The value is expressed in megabytes. - The minimum value is `10` and there is no maximum value. - collation_buffer_size: - type: integer - description: |+ - Size of the collation buffer - - log_level: - type: string - default: 'info' - description: |+ - The level of logging. - - Log levels are cumulative (that is, log entries at WARN will also be included in the INFO and DEBUG logs). - - See: - [Log Levels](logging.html#lbl-log-keys) page - - log_keys: - description: |+ - List of log keys to enable for diagnostic logging. - - Available log key values are described in the - [Log Keys](logging.html#lbl-log-keys) page - - type: array - items: - type: string - default: '["HTTP"]' - color_enabled: - type: boolean - default: false - description: Use ANSI color codes in the console output (Linux/MacOS only). - file_output: - type: string - description: |+ - Changes require full logging re-initialization - error: - description: |+ - Activate the error logging level - see [Logging](logging.html) page for more on log levels. - type: object - properties: - enabled: - description: |+ - Enable this *error* log level. - - - The *error*, *warn* and *info* log levels are enabled by default. - - - The *debug* log level is disabled by default. - - **Note:** You are advised to keep this log level enabled to troubleshoot issues. - - Enabling this log level is a requirement to receive - [Enterprise Support](https://www.couchbase.com/support-policy). - type: boolean - rotation: - type: object - description: |+ - The log file may be rotated by defining a "rotation" sub document. - - See details in [log rotation](logging.html#lbl-logrotate). - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: |+ - Controls how much disk space the rotated (and compressed) log files for this level can take up. - - The value is expressed in megabytes. - The minimum value is `10` and there is no maximum value. - collation_buffer_size: - type: integer - description: |+ - Size of the collation buffer - - warn: - description: |+ - The warning logging-level is triggered when Sync Gateway detects something is wrong but it can still service requests - - - Minimum max_age is 90 days - - - Log File Name is ```sg_warn.log``` - - type: object - properties: - enabled: - description: |+ - Whether to enable this log level. - The *error*, *warn* and *info* log levels are enabled by default. - The *debug* log level is disabled by default. - - Note, however, that you are advised to keep this log level enabled to troubleshoot issues. Enabling this log level is a requirement to receive [Enterprise Support](https://www.couchbase.com/support-policy). - type: boolean - rotation: - type: object - description: |+ - The log file may be rotated by defining a "rotation" sub document. See details in [log rotation](logging.html#lbl-logrotate). - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: |+ - Controls how much disk space the rotated (and compressed) log files for this level can take up. - - The value is expressed in megabytes. - The minimum value is `10` and there is no maximum value. - collation_buffer_size: - type: integer - description: |+ - Size of the collation buffer - - info: - type: object - description: |+ - The information logging-level provides important diagnostics for support and customers - properties: - enabled: - type: boolean - default: true - description: |+ - Whether to enable this log level. - - rotation: - type: object - description: |+ - The log file may be rotated by defining a "rotation" sub document - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: |+ - Controls how much disk space the rotated (and compressed) log files for this level can take up. - - The value is expressed in megabytes. - The minimum value is `10` and there is no maximum value. - collation_buffer_size: - type: integer - description: |+ - Size of the collation buffer - - debug: - type: object - description: |+ - The debug logging-level provides lower level development analysis - - - Minimum max_age is 1 day - _ Log File Name is ```sg_debug.log``` - properties: - enabled: - type: boolean - default: false - description: |+ - Sets this logging-level on or off. - - Note, you are advised to keep this log level enabled when troubleshooting issues. - Enabling this log level is a requirement to receive [Enterprise Support](https://www.couchbase.com/support-policy). - rotation: - type: object - description: |+ - The log file may be rotated by defining a "rotation" sub document. See details in [log rotation](logging.html#lbl-logrotate). - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: |+ - Controls how much disk space the rotated (and compressed) log files for this level can take up. - - The value is expressed in megabytes. - The minimum value is `10` and there is no maximum value. - collation_buffer_size: - type: integer - description: |+ - Size of the collation buffer - - trace: - type: object - description: |+ - The trace logging-level. - properties: - enabled: - type: boolean - default: - description: |+ - Whether to enable this log level. - - rotation: - type: object - description: |+ - The log file may be rotated by defining a "rotation" sub document. See details in [log rotation](logging.html#lbl-logrotate). - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: |+ - Controls how much disk space the rotated (and compressed) log files for this level can take up. - - The value is expressed in megabytes. - The minimum value is `10` and there is no maximum value. - collation_buffer_size: - type: integer - description: |+ - Size of the collation buffer - - stats: - type: object - description: |+ - The stats logging level - properties: - enabled: - type: boolean - default: - description: |+ - Whether to enable this log level. - rotation: - type: object - description: |+ - The log file may be rotated by defining a "rotation" sub document. See details in [log rotation](logging.html#lbl-logrotate). - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: |+ - Controls how much disk space the rotated (and compressed) log files for this level can take up. - - The value is expressed in megabytes. - The minimum value is `10` and there is no maximum value. - collation_buffer_size: - type: integer - description: |+ - Size of the collation buffer - - - Database_model: - type: object - title: "Database" - description: |+ - This `database` object defines the JSON configuration of a sync gateway database. - - Provision the configuration using the request message body of a ```put /{db}/``` and-or ```put /{db}/_config``` - that comprises all the properties required to upsert a replication. - - properties: - - bucket: - type: string - default: "the database name" - title: The Couchbase Server bucket name associated with this Sync Gateway database - description: |+ - Defines the Couchbase Server bucket to be used for this Sync Gateway database - bucket - - If not specified, then the database name is used as the bucket name. - - - name: - type: string - description: |+ - Use `name` to define the Sync Gateway database name. - - Change initiates database restart - - sync: - $ref: '#/definitions/Sync_model' - - guest: - type: object - description: |+ - Defines whether a GUEST user is available and able to interacted, unauthenticated, with the Public REST API - properties: - disabled: - type: boolean - default: true - description: |+ - Set `disabled` = `false` to allow GUEST - - For example: - ```curl -X PUT username:password@localhost:4985/db/_config -H "Content-Type: application/json" --data-binary '{"guest": {"disabled":false}}``` - - revs_limit: - type: integer - description: |+ - This property defines the maximum depth to which a document's revision tree can grow. - - It value governs the point at which to prune a document's revision tree. - - For more information see: [Revisions](revisions.html) page. - import_docs: - type: boolean - description: |+ - Use the `import_docs` property to define whether the Sync Gateway node should automatically import Couchbase Server documents; - - This property works in conjunction with the `enable_shared_bucket_access` property, which enables Xattrs. - - Since Sync Gateway 2.7, all Sync Gateway nodes can be configured as import nodes. - This results in performance benefits as the import process is shared across all Sync Gateway nodes. - - Prior to version 2.7, `import_docs` can only be set to `true` on a single node. - - Changes initiate a database restart - - default: false - - import_partitions: - type: integer - description: |+ - Use the `import_partitions` property to define how many import partitions should be used for import sharding. - - Partitions are distributed among all Sync Gateway nodes participating in import processing (import_docs:true), and each process a subset of the server's vbuckets. - - Each partition is processed by a separate goroutine, so `import_partitions` can be used to tune concurrency based on the number of Sync Gateway nodes, and the number of cores per node. - - default: 16 - - import_filter: - $ref: '#/definitions/Import_filter_model' - - import_backup_old_rev: - type: string - description: |+ - Use the `import_backup_old_rev` property to define whether import should attempt to create a temporary backup of the previous revision body, when available - - event_handlers: - type: object - title: "Event Handler" - description: |+ - Webhooks in Sync Gateway are designed to minimize performance impacts on Sync Gateway's regular processing. - - Sync Gateway manages the number of processes that are spawned for webhook event handling, so that slow response times from the HTTP POST operations don't consume available CPU resources on Sync Gateway nodes. - - When a `webhook` event handler is defined, after Sync Gateway has updated a document, Sync Gateway adds a `document_changed` event to an asynchronous event-processing queue (the event queue). - - New processes are then spawned to apply the `filter` function to the documents and to perform the HTTP POST operations. - - When an event is not added to the event queue, but is instead discarded, a warning message is written to the the Sync Gateway log. - - You can configure Sync Gateway to log information about event handling, by including either the log key ```Event``` or ```Events+``` in the `Log` property in your Sync Gateway configuration file. `Events+` is more verbose. - - See also: - [Webhook](webhooks.html).. - - properties: - document_changed: - title: "Document Changed" - description: The configuration for the action to perform when a document change is detected. - properties: - filter: - type: string - description: |+ - Use ```document_changed.filter``` to define a JavaScript function that determines which documents to post. - - The filter function accepts the document body as input and returns a boolean value. - - - If the filter function returns true, then Sync Gateway posts the document. - - - If the filter function returns false, then Sync Gateway does not post the document. - - - If no filter function is defined, then Sync Gateway posts all changed documents. - - Filtering only determines which documents to post. - It does not extract specific content from documents and post only that. - - handler: - type: string - description: |+ - Specify the type of event handler. - - This must be `webhook` currently). - options: - type: string - description: |+ - Options can be specified per-handler, and are specific to each handler type. - timeout: - type: integer - description: |+ - Defines the period in seconds to wait for a response to the POST operation. - - Using a timeout ensures that slow-running POST operations don't cause the webhook event queue to back up. - - Slow-running POST operations are discarded (if they time out), so that new events can be processed. - When the timeout is reached, Sync Gateway stops listening for a response. - - A value of 0 (zero) means no timeout. - - You should not need to adjust it to tune performance as he default value should work well in the majority of cases. - default: 60 - url: - description: |+ - Defines the URL to post documents to (for a webhook event handler). - type: string - # required: true - - db_state_changed: - description: |+ - Use the `db_state_changed` property group to define the actions to perform when a `db_state` change is detected. - title: db_state_changed model - type: object - properties: - filter: - type: string - description: |+ - Use `db_state_changed.filter``` to define a JavaScript function that determines which state changes to post. - handler: - type: string - description: |+ - Specify the type of event handler. - - This must be `webhook` currently). - options: - type: string - description: |+ - Options can be specified per-handler, and are specific to each handler type. - timeout: - type: integer - description: |+ - Defines the period in seconds to wait for a response to the operation. - Default: 60 - url: - type: string - description: |+ - Defines the URL to post to (for a webhook event handler). - - max_processes: - type: integer - description: |+ - Maximum number of events that can be processed concurrently, that is, no more than `max_processes` concurrent processes will be spawned for event handling. - - The default value should work well in the majority of cases. - You should not need to adjust it to tune performance. - However, if you wish to ensure that most webhook posts are sent, you can set it to sufficiently high value. - default: 500 - - wait_for_process: - type: string - description: |+ - Maximum wait time in milliseconds before canceling event processing for an event that is detected when the event queue is full. - - If you set the value to 0 (zero), then incoming events are discarded immediately if the event queue is full. - - If you wish to avoid any blocking of standard Sync Gateway processing this may be a desirable value to use. - - The default value should work well in the majority of cases. You should not need to adjust it to tune performance. - default: 100 - allow_empty_password: - type: boolean - description: - Use ```allow_empty_password``` to define whether to Sync Gateway users can be created with empty passwords. - default: false - - cache: - type: object - title: "Cache" - description: |+ - The `cache` group of properties define the configuration for this database's channel and revision caches - - properties: - rev_cache: - type: object - title: "Revision Cache" - description: |+ - Use the `rev_cache` properties to configure the revision cache - properties: - size: - type: integer - description: |+ - Size of the revision cache, specified as the total number of document revisions to cache in memory for all recently accessed documents. - - When the revision cache is full, Sync Gateway removes less recent document revisions to make room for new document revisions. - Adjust this property to tune memory consumption by Sync Gateway, for example on servers with less memory and in cases when Sync Gateway creates many new documents and/or updates many documents relative to the number of read operations. - - *Disabling the revision cache* - - Disabling the revision cache is an [Enterprise Edition](https://www.couchbase.com/products/editions) feature. - - To disable the revision entirely, set this property to 0. - Setting this property to 0 on the Community Edition is ignored. - - Disabling the revision cache would be useful when there are very large documents or if you expect a very low cache hit rate. - Otherwise it could negatively impact the latency of replications. - It is generally not recommended to disable the revision cache, unless advised by Couchbase - [Enterprise Support](https://www.couchbase.com/support-policy). - default: 5000 - shard_count: - type: integer - description: |+ - Tuning this property is an [Enterprise Edition](https://www.couchbase.com/products/editions) feature. - The Community Edition is configured with the default value, and will ignore any value in the configuration file. - - Number of shards the rev cache should be split into. More shards allows for lower cache contention when accessing distinct revisions, at the cost of some memory overhead per-shard. - This generally should not greatly exceed the number of CPU threads available to Sync Gateway. - - It is generally not recommended to set this property, unless advised by Couchbase [Enterprise Support](https://www.couchbase.com/support-policy). - default: 8 - - channel_cache: - type: object - title: "Channel Cache" - description: |+ - Use the `channel_cache` group's properties to configure the database's channel cache - - Changes initiate a database restart - properties: - compact_high_watermark_pct: - type: integer - description: |+ - Use ```compact_high_watermark_pct``` to define the trigger value for starting channel cache eviction. - Specify the value as a percentage (of ```max_number```) - - When the cache size, determined by `max_number`, reaches the high watermark, the eviction process iterates through the cache, removing inactive channels. - default: 80 - compact_low_watermark_pct: - type: integer - description: |+ - Use ```compact_low_watermark_pct``` to define the trigger value for stopping channel cache eviction. - Specify the value as a percentage (of ```max_number```) - - When the cache size, determined by `max_number` returns to a value lower than `compact_low_watermark_pct`, the cache eviction process is stopped. - default: 60 - - enable_star_channel: - type: boolean - description: |+ - Use ```enable_star_channel``` to define whether Sync GAteway should use the all documents (*) channel - sometimes referred to as the 'star' channel. - - default: true - - expiry_seconds: - type: integer - description: |+ - Use ```expiry_seconds``` to define how long (in seconds) Sync Gateway should keep cached entries beyond the minimum retained. - default: 60 - - max_length: - type: integer - description: |+ - Maximum number of entries maintained in cache per channel. - default: 500 - - max_num_pending: - type: integer - description: |+ - Use ```max_num_pending``` to define the maximum number of pending sequences before skipping the sequence. - default: 10000 - - max_number: - type: integer - description: |+ - Use ```max_number``` to define the maximum number of channel caches allowed at any one point. - This property is used alongside the associated eviction watermarks ```compact_low_watermark_pct``` and ```compact_high_watermark_pct``` to control the cache size. - - The default value for this property is 50000. - Assuming the default channel `min_length` and `max_length` values, this would result in a memory usage under 1GB. - - Tuning this property is an [Enterprise Edition](https://www.couchbase.com/products/editions) feature - in the Community Edition any change to the default value is ignored. - - *Enterprise Edition Only*: - The `max_number` value can be tuned to optimize for cache hits (requests that are handled using the cache), as opposed to cache misses (requests that require a round-trip to Couchbase Server to fetch data). - The cache hit/miss ratio can be obtained with the following: - - ```cache hit/miss ratio``` = ```cache.chan_cache_hits``` / ```cache.chan_cache_misses``` - - Increasing the `max_number` value can increase the cache hit/miss ratio, resulting in better cache utilization. - - If the cache size grows to reach the high watermark (`compact_high_watermark_pct`), channels with no connected replications will be evicted before channels which are associated with an active pull replication (i.e a blip-based pull replication in Couchbase Lite 2.x, or an active `/{db}/_changes` request in Couchbase Lite 1.x). - - The minimum allowed value is 100. - - It isn't possible to remove the limit altogether, users who wish to remove the limit would need to set `max_number` to an arbitrarily high value. - default: 50000 - - max_wait_pending: - type: integer - description: |+ - Maximum wait time in milliseconds for a pending sequence before skipping sequences. - default: 5000 - - max_wait_skipped: - type: integer - description: |+ - Maximum wait time in milliseconds for a skipped sequence before abandoning the sequence. - default: 3600000 - min_length: - type: integer - description: |+ - Minimum number of entries maintained in cache per channel. - default: 50 - query_limit: - type: integer - default: 5000 - description: Limit used for channel queries - - offline: - type: boolean - description: |+ - Use `offline` to determine whether Sync Gateway should start the database in offline mode. - - The default of false means the database will be online. - default: false - - unsupported: - title: "Unsupported Properties Model" - type: object - description: |+ - This group comprises an unrelated collection of unsupported properties that may, potentially, be useful in controlled testing scenarios. - - NOTE: Due to the unsupported nature of these options, there is no guarantee on their continued availability. - properties: - api_endpoints: - type: object - properties: - enable_couchbase_bucket_flush: - type: boolean - description: |+ - Determines whether Couchbase buckets can be flushed using the Admin REST API. - - Use *only* for testing purposes if it is necessary to flush data in between tests to start with a clean DB. - - oidc_tls_skip_verify: - type: boolean - default: false - description: |+ - Unsupported option for use in development and testing environment ONLY - - `oidc_tls_skip_verify` can be used to enable the use of self-signed certs for OpenID Connection testing. - - oidc_test_provider: - type: object - description: Config settings for OIDC test provider - properties: - enabled: - type: boolean - description: |+ - Unsupported option for use in development and testing environment ONLY - - Determines whether the oidc_test_provider endpoints should be exposed on the public API. - remote_config_tls_skip_verify: - type: boolean - default: false - description: |+ - Unsupported option for use in development and testing environment ONLY - - Use only to enable self signed certificates for testing external JavaScript load. - sgr_tls_skip_verify: - type: boolean - default: false - description: |+ - Unsupported option for use in development and testing environment ONLY - - `sgr_tls_skip_verify` can be used to skip validation of TLS certs used for Inter-Sync Gateway Replication. - - user_views: - type: object - description: Configuration settings for user views - default: 'none' - properties: - user_views_enabled: - type: boolean - description: |+ - Unsupported option for use in development and testing environment ONLY - - Use to determine whether pass-through view query is supported through public API - - warning_thresholds: - type: object - title: "Warning Threshold" - properties: - access_and_role_grants_per_doc: - type: boolean - description: |+ - Number of access and role grants per document to be used as a threshold for grant count warnings - channels_per_doc: - type: boolean - description: |+ - Number of channels per document to be used as a threshold for channel count warnings - channels_per_user: - type: boolean - description: |+ - Number of channels per user to be used as a threshold for channel count warnings - channel_name_size: - type: boolean - description: |+ - Number of channel name characters to be used as a threshold for channel name warnings - - - xattr_size_bytes: - type: boolean - description: |+ - Number of bytes to be used as a threshold for XATTR size limit warnings - disable_clean_skipped_query: - type: boolean - description: Clean skipped sequence processing bypasses final check - - oidc: - type: object - title: "OIDC Group" - description: |+ - Use the `oidc` object properties to defined any OpenID Connect providers and associated credentials. - properties: - default_provider: - type: string - description: |+ - Use this `default_provider` property to identify the provider to use for OIDC requests that do not specify a provider. - - If only one provider is specified in the providers map, then that is used as the default provider. - If multiple providers are defined and default_provider is not specified, requests to ```/db/_oidc``` must specify the provider parameter. - - providers: - title: "OIDC Providers" - description: Include an entry for each OIDC provider - type: object - properties: - this_provider: - title: "OIDC Provider" - type: object - properties: - - issuer: - type: string - description: The OpenID Connect Provider issuer. - - register: - type: string - description: |+ - Whether Sync Gateway should automatically create users for successfully authenticated users that don't have an already existing user in Sync Gateway. - - Optional. - - client_id: - type: string - description: The client ID defined in the provider for Sync Gateway. - - validation_key: - type: string - description: Client secret associated with the client. Required for auth code flow. - - callback_url: - type: string - description: |+ - The callback URL to be invoked after the end-user obtains a client token. - When not provided, Sync Gateway will generate it based on the incoming request. - - *Optional* - - disable_session: - type: string - description: |+ - By default, Sync Gateway will create a new session for the user upon successful OIDC authentication, and set that session in the usual way on the _oidc_callback and _oidc_refresh responses. - - If disable_session is set to true, the session is not created (clients must use the ID token for subsequent authentications). - - *Optional* - - scope: - type: string - description: |+ - By default, Sync Gateway uses the scope "openid email" when calling the OP's authorize endpoint. - - If the scope property is defined in the config (as an array of string values), it will override this scope. - - *Optional. * - - include_access: - type: string - description: |+ - Optional. - When true, the oidccallback response will include the access_token, expires_at and token_type properties returned by the OP. - - user_prefix: - type: string - description: |+ - Optional. - Specifies the prefix for Sync Gateway usernames for the provider. - When not specified, defaults to issuer. - - discovery_url: - type: string - description: |+ - Optional. - Discovery URL used to obtain the OpenID Connect provider configuration. - If not specified, the default discovery endpoint of [issuer]/.well-known/openid-configuration will be used. - - disable_cfg_validation: - default: false - type: boolean - description: |+ - Couchbase Sync Gateway, by default, applies strict validation of the OpenID Connect configuration based on the OIDC specification. - - Set ```"disable_cfg_validation": true``` when you do not want strict validation of the OIDC configuration. - - disable_callback_state: - default: false - type: boolean - description: |+ - DisableCallbackState determines whether or not to maintain state between the ```/_oidc``` and - ```/_oidc_callback``` endpoints. - - Disabling this action is NOT recommended as it will increase vulnerability to Cross-Site Request Forgery (CSRF, XSRF). - - Set ```"disable_callback_state": true``` to switch-off callback state. - - username_claim: - type: string - default: 'optional' - description: |+ - - You can use `username_claim` to specify a claim other than subject to use as the Sync Gateway username. - - The specified claim must be a string, as numeric claims may be un-marshalled inconsistently between Sync Gateway and the underlying OIDC library. - - When authenticating incoming OIDC tokens, Sync Gateway currently treats the username as [user_prefix]_[subject]. - By default user_prefix is the issuer, but can be customized in the Sync Gateway provider config. - Subject is always the sub claim in the token. - - Behavior: - - - If username_claim is set but user_prefix is not set, use that claim as the Sync Gateway username. - - - If username_claim is set and user_prefix is also set, use [user_prefix]_[username_claim] as the Sync Gateway username. - - - If username_claim is not set and user_prefix is set, use [user_prefix]_[subject] as the Sync Gateway username (existing behavior). - - - If neither username_claim nor user_prefix are set, use [issuer]_[subject] as the Sync Gateway username (existing behavior). - - allow_unsigned_provider_tokens: - type: boolean - default: false - description: |+ - Unsigned provider tokens are not accepted. - - Set ```"allow_unsigned_provider_tokens": true``` to opt-in to accepting unsigned tokens from providers. - - old_rev_expiry_seconds: - type: integer - description: |+ - Use the `old_rev_expiry_seconds` property to define the number of seconds before old revisions are removed from Couchbase Server buckets. - - view_query_timeout_secs: - type: integer - description: |+ - Use the `view_query_timeout_secs` property to define the view query timeout in seconds. - - This is the time Sync Gateway should wait for a view query response from Couchbase Server before it times out. - - The timeout applies to both view and N1QL queries issued by Sync Gateway. - default: 75 - - local_doc_expiry_secs: - type: integer - description: |+ - Use the `local_doc_expiry_secs` property to define an expiry value for local documents managed on Sync Gateway. - - Local documents are used by the Couchbase Lite replicator to track up to which sequence number a given client has synchronized and where it should resume the next time it connects to Sync Gateway. - - Clients failing to replicate within the expiry window are forced to restart their replication from the beginning (sequence zero). - - This property is intended to minimize accumulation of obsolete replication checkpoint documents in the Couchbase Server bucket. - - The default is `7776000` seconds (90 days). - default: 7776000 - - enable_shared_bucket_access: - type: boolean - default: true - description: |+ - Use the `enable_shared_bucket_access` property to define whether to use extended attributes to store sync metadata. - This is required to enable mobile-to-server data sync (_mobile convergence_). - - You can learn more about this functionality in [Syncing with Couchbase Server](sync-with-couchbase-server.html) - - This property works in conjunction with the ```import_docs``` property, which determines whether a node participates in import processing. - Leave `enable_shared_bucket_access` `true` on all nodes participating in such a configuration. - - On start-up, Sync Gateway will generate the mobile-specific metadata for all the pre-existing documents in the Couchbase Server bucket. From then on, documents can be inserted on the Server directly (with N1QL or SDKs) or through the Sync Gateway REST API. - - Change initiates a database restart - - - session_cookie_secure: - type: boolean - default: true - description: |+ - Override secure cookie flag (that is, disable secure cookies). - - If SSLCert is set, then secure cookies are also used by default. - However, this flag can be set `false` to override this behavior and allow insecure cookies to be used alongside SSL. - - If SSLCert is not set then this flag defaults to false. - - session_cookie_name: - type: string - description: |+ - Starting in Sync Gateway 2.0, it is possible to customize the session cookie name that is used for this database. - - This property is mostly used by web applications interacting with multiple Sync Gateway databases. - - Browsers typically have two methods of determining which cookie to use for a given request: the `URL` path, or the cookie name. - - Use this property, to set different cookie names for each database specified in the configuration file. Let's consider the following configuration file: - - ```json - { - "databases": { - "db1": { - "session_cookie_name": "CustomName1", - "bucket": "bucket-1" - }, - "db2": { - "session_cookie_name": "CustomName2", - "bucket": "bucket-2" - } - } - } - } - ``` - - With this configuration, the `Set-Cookie` response header of the POST `:4984/{db}/_session` endpoint (Public REST API) would then have the form "CustomName1=3cad4b95524179bf144fe0d92b8f09877bb86bf5;path=/db1/". - - When using POST `:4985/{db}/_session` (Admin REST API) to create a session, the cookie value is returned in the response body instead of the `Set-Cookie` header. In this case, it could also be set by the client, for web applications it would be the following in JavaScript: - - ```javascript - cookie1String = "CustomName1=3cad4b95524179bf144fe0d92b8f09877bb86bf5;path=/db1/"; - document.cookie = cookie1String; - ``` - default: 'SyncGatewaySession' - - session_cookie_http_only: - type: boolean - default: false - description: This flag disallows cookies from being used by Javascript; by default javascript CAN use them - - allow_conflicts: - type: boolean - description: |+ - Use ```allow_conflict``` to define whether Sync Gateway will handle conflicts. - - The default of ```true``` indicates that conflicts are handled. - - Set the value to ```false``` to cause Sync Gateway to reject any attempt to write conflicting revisions (returning a `409` HTTP status code). - It will be up to the client to resolve the conflict. - - Restarting Sync Gateway with this property enabled will not automatically result in disk space savings (compaction on a document won't occur until a document is updated). - - *Constraints:* - - Push replications to pre-2.8 targets do not support the `"allow_conflicts": false` setting; the target must use `"allow_conflicts": true`. - - Change initiates a database restart. - default: true - - num_index_replicas: - type: integer - description: |+ - use `num_index_replicas` property to define the number of index replicas used when creating the core Sync Gateway indexes. - - Only applicable if `databases.$db.use_views` is set to `false` (default value). - - Change initiates a database restart. - default: 1 - - use_views: - type: boolean - description: |+ - If set to `true`, Sync Gateway will use views instead of GSI for system functions like authentication and replication. - default: false - - send_www_authenticate_header: - type: boolean - description: Whether to send WWW-Authenticate header in 401 responses. - default: true - - bucket_op_timeout_ms: - type: integer - description: |+ - Use ```bucket_op_timeout_ms``` to define how long Sync Gateway will wait for a bucket operation to complete before timing out and trying again. - - You may increase this value where there is a heavy load on Couchbase Server and operations are likely to take more than 2.5 seconds to complete. - - The default value is 2500 milliseconds. - - Changes initiate a database restart. - default: 2500 - - delta_sync: - type: object - title: "Delta Sync" - description: |+ - *NOTE:* Delta Sync is an Enterprise Edition feature on Sync Gateway and Couchbase Lite. - - Use the `delta_sync ` object to specify the delta sync configuration properties. - - In this context, delta-sync, is the ability to replicate only those parts of a Couchbase mobile document that have changed. - This results in significant savings in bandwidth consumption as well as throughput improvements; both useful benefits when network bandwidth is typically constrained. - - Delta Sync does not apply to attachment contents. - - Delta Sync is disabled by default on the Sync Gateway. You can enable it through the `enabled` property. - - If delta sync is enabled on Sync Gateway, then Couchbase Lite clients will switch to using delta sync automatically. - Similarly, if delta sync is disabled on Sync Gateway, clients will switch to normal mode. - - Changes initiate a database reload - properties: - enabled: - type: boolean - description: |+ - Use the ```delta_sync.enabled``` property to turn delta sync mode on or off for the given database. - - The following configuration example enables delta sync. - - ```json - { - "databases": { - "db": { - "delta_sync": { - "enabled": true, - "rev_max_age_seconds": 86400 - } - } - } - } - ``` - - Footnotes - - - Use of Delta Sync incurs additional bucket storage requirements which can be tuned with the [`rev_max_age_seconds`](#databases-this_db-delta_sync-rev_max_age_seconds) property. - - - Delta Sync is automatically enabled for peer-to-peer sync between Couchbase Lite clients. - - - Delta sync is disabled for Couchbase Lite database replicas. - - - Push replications do not use Delta Sync when pushing to a pre-2.8 target. - - default: false - rev_max_age_seconds: - type: integer - description: |+ - Use ```delta_sync.rev_max_age_seconds``` to adjust the time box within which deltas can be generated. - - On a write operation, the revision body is backed up in the bucket and retained for `rev_max_age_seconds` to calculate future revision deltas. - As a result, new deltas can only be generated for read requests that come in within the `rev_max_age_seconds` time window. - The storage of backed up revision bodies for delta sync incurs additional bucket storage requirements. - - The additional storage can be calculated with the following formula: `(doc_size * updates_per_day * 86400) / rev_max_age_seconds`. - - For example, with `rev_max_age_seconds`'s default value, an average document size of 4 KB and 100 writes/day, enabling delta sync would take up an additional 400 KB of storage on Couchbase Server (`(4 * 100 * 86400)/86400`). - - Setting this value to 0 will generate deltas opportunistically on pull replications, with no additional storage requirements. - default: 86400 - - compact_interval_days: - type: number - description: |+ - Use `` property to define the interval between scheduled compaction runs (in days). - - Set a zero (0) value to suppress running compactions. - - Change initiates a database restart. - - isgr_enabled: - type: boolean - default: true - description: |+ - Use the `isgr_enabled` property to define whether this Sync Gateway node can be assigned inter-Sync Gateway replications for this database. - - If set to false, the Sync Gateway node will not participate in inter-Sync Gateway replications. - - isgr_websocket_heartbeat_secs: - type: integer - default: 300 - description: |+ - If set, this duration (in seconds) is used as a custom heartbeat interval for websocket ping frames in inter-Sync Gateway replications. - - serve_insecure_attachment_types: - type: boolean - default: false - description: |+ - The sending of a content-disposition header for attachments with headers such as "text/html" - forces a download, rather than browser rendering. - - Use this option to suppress sending the content-disposition, allowing the browser to render the attachment. - - query_pagination_limit: - type: integer - description: |+ - Use the `query_pagination_limit` property to define the Query limit to be used during pagination of large queries. - - Change initiates a database restart. - - slow_query_warning_threshold: - type: integer - default: 500 - description: |+ - The maximum wait time, in milliseconds,for N1QL or View queries made by Sync Gateway - - Log warnings if the run time of a N1QL or View query, made by Sync Gateway, exceeds this value. - - user_xattr_key: - type: string - default: none - description: |+ - The ```user_xattr_key``` identifies the user xattr used to hold the channel access grants for documents in this database. - - If it is not specified or its value is spaces or null then this feature is disabled (default). - - If you change the value of this key, no existing grant assignments will be changed until a document mutation is triggered. - This can be done in a number of ways: - - a mutation to the document which we'll see via DCP - - an on-demand import either through write or get - - by using the resync function. - - *Dependencies:* - The `user_xattr_key` feature requires that -- - - - `enable_shared_bucket_access` be = `true` - - - xattrs be supported on the connected Couchbase Server - - Change initiates a database restart - - client_partition_window_secs: - type: string - default: 2592000 - description: |+ - Use the `client_partition_window_secs` property to define how long clients can remain offline for without losing replication metadata. - - Default 2 592 000 seconds (30 days) - - Import_filter_model: - type: string - description: |+ - The `import_filter` controls whether a document written to the Couchbase Server bucket should be made available to Couchbase Mobile clients (that is, whether it ought to be imported). - - You should provision the filter as a Javascript function in the request body of a call to the Admin Rest API endpoint ```put {db}/_config/import_filter```. - - Set the header's content type to ```content-Type: application/javascript```. - - The function takes the document body as parameter and is expected to return a boolean to indicate whether the document should be imported. - - If you do not provide a filter function then no filter will be applied and ALL documents will be imported. - default: "No filter" - example: |+ - function(doc) { - if (doc.type != 'mobile') { - return false - } - return true - } - - Role_model: - title: "Role Configuration Model" - type: object - description: |+ - Use the `role` property to define a Sync Gateway role - required: - - name - properties: - name: - type: string - description: |+ - Name of the role - admin_channels: - type: array - description: |+ - Array of channel names the role allows access to - items: - type: string - all_channels: - type: array - readOnly: true - description: |+ - Lists all the channels the role has access to including any assigned by the `sync` function. - - This is a derived property and changes to it are ignored. - items: - type: string - - Role_and_User_model: - type: object - properties: - Role: - $ref: "#/definitions/Role_model" - User: - $ref: "#/definitions/User_model" - - Sync_model: - type: string - description: |+ - The `sync` property is a Javascript function that determines which users can access which documents. - - This JavaScript function is provisioned using the Admin Rest API Endpoint - ```put /{db}/_config/sync``` - - Add the function as plain javascript in the request body, with the ```content-Type: application/javascript``` header. - - default: |+ - `function(doc, oldDoc) {channel(doc.channels);}` - example: |+ - function(doc, oldDoc) { - channel(doc.channels); - } - - User_model: - type: object - title: "User Configuration Model" - description: |+ - Definition of a Sync Gateway user - - Change initiates database restart - - required: - - name - properties: - name: - type: string - description: |+ - The user name (the same name used in the URL path). - - The valid characters for a user name are alphanumeric ASCII characters and the underscore character. - - The name property is required in a POST request. - - You don't need to include it in a PUT request because the user name is specified in the URL. - password: - type: string - description: |+ - Password of the user. - - Mandatory, unless `allow_empty_password=true`. - - admin_channels: - type: array - description: |+ - The channels that the user is able to access. - items: - type: string - description: |+ - Channel name - - admin_roles: - type: array - description: |+ - An array of the roles this user is associated with. - items: - type: string - description: Role name - - all_channels: - type: array - description: |+ - Shows the channels the user can access, as granted by the sync function. - - This is a read-only property. - Changes to it are ignored. - readOnly: true - items: - type: string - description: Channel name - email: - type: string - description: |+ - Email address of the user. - disabled: - type: boolean - description: |+ - This property is usually not included. - - If the value is `true`, access for the account is disabled and the user will not be able to login. - roles: - type: array - readOnly: true - description: |+ - Shows the roles this user is associated with by the Sync function. - - This is a read-only property. - Changes to it are ignored. - - items: - type: string - description: Role name - - User-response: - type: object - properties: - name: - type: string - description: |+ - The user name (the same name used in the URL path). - - admin_channels: - type: array - description: |+ - The channels that the user is able to access. - items: - type: string - description: |+ - Channel name - - all_channels: - type: array - description: |+ - Shows the channels the user can access, as granted by the sync function. - - readOnly: true - items: - type: string - description: Channel name - - email: - type: string - description: |+ - Email address of the user. - disabled: - type: boolean - description: |+ - This property is usually not included. - If the value is `true`, access for the account is disabled and the user will not be able to login. - - - AllDatabases: - type: array - description: List of available databases in cluster - items: - type: string - description: Database name - - - ActiveTasks_model: - type: object - properties: - source: - type: string - description: The URL of the source database (i.e `"http://example.com:4985/source"`). - target: - type: string - description: The URL of the target database (i.e `"http://example.com:4985/target"`). - continuous: - type: boolean - description: Whether the replication is continuously monitoring for changes on the source database to send them to the target. - replication_id: - type: string - description: The replication Id. - direction: - type: string - description: Inter-Sync Gateway Replication (v1) is uni-directional; valid values are **push** or **pull**. - docs_read: - type: integer - description: The number of docs that have been read (fetched) from the source database. - docs_written: - type: integer - description: The number of docs that have been written (pushed) to the target database. - doc_write_failures: - type: integer - description: |+ - The number of docs that have failed to be written (pushed) to the target database. - These docs will not be retried. - end_last_seq: - type: integer - description: |+ - *Deprecated* The most recent `last_seq` value received from the source database during replication. - Use the **last_seq_push** and **last_seq_pull** values instead. - # start_last_seq: - # type: integer - # description: Not populated - is_persistent: - type: boolean - description: flag to distinguish between the persistent and adhoc replications - status: - type: string - description: |+ - Stopped / running - - These will be **adhoc** replications (running) or persistent replications (stopped or running). - last_seq_push: - type: integer - description: |+ - The last seq number pushed from the source to target. - - The last_seq_push result can be used by apps to determine if a specific document has been synced to target or not. Do this by querying the **_raw** endpoint and comparing the sequence number of document with the last_seq value that was replicated. - last_seq_pull: - type: integer - description: |+ - The last seq number pulled from the source to target. - - The last_seq_pull result can be used by apps to determine if a specific document has been synced to target or not. Do this by querying the **_raw** endpoint and comparing the sequence number of document with the last_seq value that was replicated. - - DocMetadata: - type: object - properties: - _sync: - type: object - properties: - rev: - type: string - description: Revision number of the current revision - sequence: - type: integer - description: Sequence number of this document - recent_sequences: - type: array - items: - type: integer - description: Previous sequence numbers - parents: - type: array - items: - type: integer - description: N/A - history: - type: object - properties: - revs: - type: array - items: - type: string - description: N/A - parents: - type: array - items: - type: integer - description: N/A - channels: - type: array - items: - type: string - description: N/A - time_saved: - type: string - description: Timestamp of the last operation? - - Error: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - fields: - type: string - - SGCollectInfoStats: - type: object - properties: - status: - type: string - description: The current status of sgcollect_info - - ExpVars: - type: object - properties: - cmdline: - type: object - description: Built-in variables from the Go runtime, lists the command-line arguments - memstats: - type: object - description: Dumps a large amount of information about the memory heap and garbage collector - cb: - type: object - description: Variables reported by the Couchbase SDK (go_couchbase package) - mc: - type: object - description: Variables reported by the low-level memcached API (gomemcached package) - syncGateway_changeCache: - type: object - properties: - maxPending: - type: object - description: Max number of sequences waiting on a missing earlier sequence number - lag-tap-0000ms: - type: object - description: Histogram of delay from doc save till it shows up in Tap feed - lag-queue-0000ms: - type: object - description: Histogram of delay from Tap feed till doc is posted to changes feed - lag-total-0000ms: - type: object - description: Histogram of total delay from doc save till posted to changes feed - outOfOrder: - type: object - description: Number of out-of-order sequences posted - view_queries: - type: object - description: Number of queries to channels view - syncGateway_db: - type: object - properties: - channelChangesFeeds: - type: object - description: Number of calls to db.changesFeed, i.e. generating a changes feed for a single channel. - channelLogAdds: - type: object - description: Number of entries added to channel logs - channelLogAppends: - type: object - description: Number of times entries were written to channel logs using an APPEND operation - channelLogCacheHits: - type: object - description: Number of requests for channel-logs that were fulfilled from the in-memory cache - channelLogRewrites: - type: object - description: Number of times entries were written to channel logs using a SET operation (rewriting the entire log) - channelLogRewriteCollisions: - type: object - description: Number of collisions while attempting to rewrite channel logs using SET - document_gets: - type: object - description: Number of times a document was read from the database - revisionCache_adds: - type: object - description: Number of revisions added to the revision cache - revisionCache_hits: - type: object - description: Number of times a revision-cache lookup succeeded - revisionCache_misses: - type: object - description: Number of times a revision-cache lookup failed - revs_added: - type: object - description: Number of revisions added to the database (including deletions) - sequence_gets: - type: object - description: Number of times the database's lastSequence was read - sequence_reserves: - type: object - description: Number of times the database's lastSequence was incremented - syncgateway: - type: object - description: Monitoring stats - properties: - global: - type: object - description: Global Sync Gateway stats - properties: - resource_utilization: - type: object - description: Resource utilization stats - properties: - admin_net_bytes_recv: - type: integer - admin_net_bytes_sent: - type: integer - error_count: - type: integer - go_memstats_heapalloc: - type: integer - go_memstats_heapidle: - type: integer - go_memstats_heapinuse: - type: integer - go_memstats_heapreleased: - type: integer - go_memstats_pausetotalns: - type: integer - go_memstats_stackinuse: - type: integer - go_memstats_stacksys: - type: integer - go_memstats_sys: - type: integer - goroutines_high_watermark: - type: integer - num_goroutines: - type: integer - process_cpu_percent_utilization: - type: integer - process_memory_resident: - type: integer - pub_net_bytes_recv: - type: integer - pub_net_bytes_sent: - type: integer - system_memory_total: - type: integer - warn_count: - type: integer - per_db: - type: array - description: |+ - This array contains stats for all databases declared in the config file - see the [Sync Gateway Statistics Schema](stats-monitoring.html) for more details on the metrics collected and reported by Sync Gateway. - - The statistics for each {$db_name} database are grouped into: - - - cache related statistics - - cbl_replication_push - - cbl_replication_pull - - database_related_statistics - - delta_sync - - gsi_views - - security_related_statistics - - shared_bucket_import - - per_replication statistics for each `replication_id` - items: - type: object - properties: - - cache: - type: object - - database: - type: object - - per_replication: - type: array - - security: - type: object - - per_replication: - type: array - # summary: Per Replication Statistics (Deprecated) - description: |+ - An array of stats for each replication declared in the config file - - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - items: - type: object - description: Stats for a given replication_id - properties: - $replication_id: - type: object - properties: - sgr_active: - type: boolean - description: |+ - Whether the replication is active at this time. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - sgr_docs_checked_sent: - type: integer - description: |+ - The total number of documents checked for changes since replication started. - This represents the number of potential change notifications pushed by Sync Gateway. - **Constraints** - This is not necessarily the number of documents pushed, as a given target might already have the change. - Used by versions 1 and 2. - sgr_num_attachments_transferred: - type: integer - description: |+ - The total number of attachments transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - sgr_num_attachment_bytes_transferred: - type: integer - description: |+ - The total number of attachment bytes transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - sgr_num_docs_failed_to_push: - type: integer - description: |+ - The total number of documents that failed to be pushed since replication started. - Used by versions 1 and 2. - sgr_num_docs_pushed: - type: integer - description: |+ - The total number of documents that were pushed since replication started. - Used by versions 1 and 2. - Forbidden: - type: object - properties: - error: - type: string - default: conflict - id: - type: string - reason: - type: string - status: - type: integer - default: 409 - LogTags: - type: object - properties: - Access: - type: boolean - description: access() calls made by the sync function - Attach: - type: boolean - description: Attachment processing - Auth: - type: boolean - description: Authentication - Bucket: - type: boolean - description: Sync Gateway interactions with the bucket (verbose logging). - Cache: - type: boolean - description: Interactions with Sync Gateway's in-memory channel cache (Cache+ for verbose logging) - Changes: - type: boolean - description: Processing of _changes requests (Changes+ for verbose logging) - CRUD: - type: boolean - description: Updates made by Sync Gateway to documents (CRUD+ for verbose logging) - DCP: - type: boolean - description: DCP-feed processing (verbose logging) - Events: - type: boolean - description: Event processing (webhooks) (Events+ for verbose logging) - Feed: - type: boolean - description: Server-feed processing (Feed+ for verbose logging) - HTTP: - type: boolean - description: All requests made to the Sync Gateway REST APIs (Sync and Admin). Note that the log keyword HTTP is always enabled, which means that HTTP requests and error responses are always logged (in a non-verbose manner). HTTP+ provides more verbose HTTP logging. - PurgeBody: - type: object - description: Document ID - properties: - a_doc_id: - type: array - description: Only possible value is `["*"]`. It permanently removes all revisions for that document ID. - items: - type: string - description: Only possible value is `"*"`. It permanently removes all revisions for that document ID. - enum: ["*"] - BulkDocsSuccess: - type: object - properties: - id: - type: string - description: Design document identifier - rev: - type: string - description: Revision identifier - - ChangesFeedRow: - type: object - properties: - changes: - type: array - description: List of the document's leafs. Each leaf object contains one field, rev. - items: - type: object - properties: - rev: - type: string - description: Identifier of the document revision that changed. - id: - type: string - description: Document identifier - seq: - type: integer - description: Update sequence number - - QueryRow: - type: object - properties: - id: - type: string - description: The ID of the document. - key: - type: object - description: The key in the output row. - value: - type: object - description: The value in the output row. - doc: - type: object - description: The document body. This is only returned if `include_docs=true` is specified in the URL. - - Design: - type: object - properties: - offset: - type: integer - format: int32 - description: Position in pagination. - limit: - type: integer - format: int32 - description: Number of items to retrieve (100 max). - count: - type: integer - format: int32 - description: Total number of items available. - AllDocs: - type: object - properties: - keys: - type: array - description: List of identifiers of the documents to retrieve - items: - type: string - description: Document ID - Changes: - type: object - properties: - last_seq: - type: object - description: Last change sequence number - results: - type: array - description: List of changes to the database. See the following table for a list of fields in this object. - items: - $ref: '#/definitions/ChangesFeedRow' - - - Compact_Response: - type: object - description: JSON Respponse to a _compact request - properties: - status: - type: string - description: State of the _compact process (Running, Stopped, Completed) - start_time: - type: string - description: |+ - Time the _compact process started for example "2015-09-23T17:27:17.55+01:00" - end_time: - type: string - description: |+ - Time the _compact process ended for example "2015-09-23T17:27:17.55+01:00" - last_error: - type: string - description: Text of the last error message. - marked_attachments: - type: integer - description: The number of attachments marked during the ``mark``` phase. - purged_attachments: - type: integer - description: The number of attachments purged by the ```sweep``` phase of the _compact process. - compact_id: - type: string - description: Unique identifier - phase: - type: string - description: |+ - This item indicates the current phase of `running` compact processes. - It can be useful in monitoring progress. - - For failed processes, this indicates the phase at which a compact_id restart will commence (where relevant). - - Phases include: - - mark - - sweep - - cleanup - - Document_model: - type: object - properties: - _id: - type: string - description: The document ID. - _rev: - type: string - description: Revision identifier of the parent revision the new one should replace. (Not used when creating a new document.) - _exp: - type: string - description: |+ - Expiry time after which the document will be purged. - - The expiration time is set and managed on the Couchbase Server document (TTL is not supported for databases in walrus mode). - - The value can be specified in two ways; in ISO-8601 format, for example the 6th of July 2016 at 17:00 in the BST timezone would be 2016-07-06T17:00:00+01:00; it can also be specified as a numeric Couchbase Server expiry value. - - Couchbase Server expiries are specified as Unix time, and if the desired TTL is below 30 days then it can also represent an interval in seconds from the current time (for example, a value of 5 will remove the document 5 seconds after it is written to Couchbase Server). - - The document expiration time is returned in the response of GET /{db}/{doc} when show_exp=true is included in the querystring. - - As with the existing explicit purge mechanism, this applies only to the local database; it has nothing to do with replication. - - This expiration time is not propagated when the document is replicated. - - The purge of the document does not cause it to be deleted on any other database. - _revisions: - type: object - properties: - start: - type: integer - description: Prefix number for the latest revision. - ids: - type: array - description: Array of valid revision IDs, in reverse order (latest first). - items: - type: string - description: A revision ID. - _attachments: - type: array - description: Array of attachments - items: - type: object - properties: - attachment_name: - type: object - properties: - ver: - type: integer - description: | - Indicate that the attachment reference is made through the new reference scheme (not exposed). - Value = 2. - content_type: - type: string - description: The content type of the attachment. - digest: - type: string - description: |+ - Reference to stored attachment content - length: - type: integer - revpos: - type: integer - stub: - type: boolean - default: true - - doc-resp: - type: object - properties: - id: - type: string - description: Document identifier - rev: - type: string - description: Revision identifier - ok: - type: boolean - description: Indicates whether the operation was successful - - QueryResult: - type: object - properties: - offset: - type: string - description: Starting index of the returned rows. - rows: - type: array - items: - $ref: '#/definitions/QueryRow' - total_rows: - type: integer - description: |+ - Number of documents in the database. - This number is not the number of rows returned. - - ReplicationResponse: - type: object - properties: - ok: - type: boolean - description: Indicates whether the replication operation was successful - session_id: - type: string - description: Session identifier - - Replication_model: - type: object - title: "Replication Model" - description: "Data schema for the replication model" - properties: - adhoc: - type: boolean - default: false - description: | - " - **About** - - Use the Admin REST API's `adhoc` parameter to specify that a replication is ad hoc rather than persistent. - - **Behavior** - - Ad hoc replications behave the same as normal replications, but they are automatically removed when their status changes to stopped. - This will usually be on completion, but may also be as a result of user action. - - **Constraints** - - This parameter is **NOT** available to configured replications; only those initialized using the Admin REST API." - batch_size: - type: integer - default: 200 - description: |+ - **About** - - Use the optional `batch_size` property to specify the number of changes to be included in a single batch during replication. - cancel: - type: boolean - default: false - description: |+ - **About** - - Use this parameter on,y when you want to want to cancel an existing active replication. - - **Constraints** - - - This parameter is **NOT** available in configured replications; only those initialized using the Admin REST API. - - - **NOTE** that the body of the request must be the same as the replication's replication definition for the cancellation request to be honoured. - For example, if you requested continuous replication, the cancellation request must also contain the continuous field. - conflict_resolution_type: - type: string - default: default - description: |+ - **About** - - The **`conflict_resolution_type`** property defines the conflict resolution policy that Sync Gateway applies when resolving conflicting revisions. - - The default behavior is that automatic conflict resolution policy is applied. - - **Valid options** - - `default` - - `localWins` - - `remoteWins` - - `custom` - - **Behavior** - - - *default* - Selecting `default` applies the following conflict resolution policy - - Deletes always win (the delete with longest revision history wins if both revisions are deletes) - - The revision with the longest revision history wins (so, the one with most changes and consequently the highest revision Id). - - - *localWins* - Selecting `localWins` will result in local revisions always being the winner in any conflict. - - *remoteWins* - Selecting `remoteWins` will result in remote revisions always being the winner in any conflict. - - - - *custom* - Selecting `custom` specifies that you want to handle conflict resolution with your own application logic. You **must** provide this logic as a Javascript function by specifying it in using the custom-conflict-resolver parameter. - - **Example** - ``` - "conflict_resolution_type":"remoteWins" - ``` - - **Constraints** - - - Replications created prior to version 2.8 will default to `default`. - continuous: - type: boolean - default: false - description: |+ - **About** - - The `continuous` property specifies whether this replication will run in continuous mode. - - **Behavior** - - - `continuous=true`-- In continuous mode, changes are immediately synced in accordance with the replication definition. - - `continuous=false`-- Detected changes are synced in accordance with the replication definition. The replication ceases once all revisions are processed. - - **Constraints** - - - Optional for stops and removes - custom_conflict_resolver: - type: string - default: none - description: |+ - **About** - - The optional `custom_conflict_resolver` property specifies the Javascript function that will be used to resolve conflicts, if the custom conflict resolution type is specified in the `conflict_resolution_type`. - - **Options** - - The property is *mandatory* when `conflict_resolution_type=custom` and will be ignored in all other cases. - - **Using** - - Provide the required logic in a Javascript function, as a string within backticks (see also the description for the `sync` function`. - - The function takes one parameter `struct` representing the conflict and comprising - - the document id - - the local document - - the remote document - - The function returns a document `struct` representing the winning revision. - - **Example** - ``` - "custom_conflict_resolver":` - function(conflict) { - console.log("full remoteDoc doc: "+JSON.stringify(conflict.RemoteDocument)); - return conflict.RemoteDocument; - }` - ``` - - **Constraints** - - Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. - direction: - type: string - description: |+ - **About** - - The mandatory `direction` property specifies whether the replication is *push*, *pull* or *pushAndPull* relative to this node. - - The property value is referenced by the [remote](rest-api-admin.html#database-this_db-replications-remote) property. - - **Behavior** - - - `pull` - changes are pulled from the `remote` database - - `push` - changes are pushed to the `remote` database - - `pushAndPull` - changes are both pushed-to and pulled-from the `remote` database - - **Constraints** - - Replications created prior to version 2.8 derive their *direction* from the source/target url of the replication. - enable_delta_sync: - type: boolean - default: false - description: |+ - **About** - - The optional `enable_delta_sync` parameter turns on delta sync for a replication. - It works in conjunction with the database level setting `delta_sync.enabled`. - - **Options** - - - `"enable_delta_sync": true`, the replication can use delta sync (depending on `delta_sync.enabled` setting) - - `"enable_delta_sync": false`, the replication cannot use delta sync - - **Behavior** - - The optional `enable_delta_sync` parameter works in conjunction with the database level `delta_sync.enabled` setting, to determine whether this replication uses delta sync. - - - **If** `"delta_sync.enabled": true` for both databases involved in the replication, then this parameter enables or disables its use for this specific replication. - - In all other cases it has no effect and the replication runs without delta-sync. - - **Constraints** - - - Applies **ONLY** to Enterprise Edition deployments. - - Depends upon the setting of the database level parameter `delta_sync.enabled` - - Replications created prior to version 2.8 must run with `"enable_delta_sync": false` - - Push replications will not use Delta Sync when pushing to a pre-2.8 target - filter: - type: string - description: |+ - **About** - - Use the optional `filter`property to defines the function to be used to filter documents. - - **Options** - - A common value used when replicating from Sync Gateway is `sync_gateway/bychannel`. - This option limits the pull replication to a specific set of channels. - You can specify the required channels using `query_params`. - - **Behavior** - - Works in conjunction with `query_params` to control the documents processed by the replication. - - **Example** - - ``` - "filter":"sync_gateway/bychannel" - ``` - - **Constraints** - - OPTIONAL for stops and removes (even if defined during creation) - max_backoff_time: - type: integer - default: 5 - description: |+ - The **max_backoff_time**property specifies the time-period (in minutes) during which Sync Gateway will attempt to reconnect lost or unreachable *remote* targets. - - On disconnection, Sync Gateway will do an exponential backoff up to the specified value, after which it will attempt to reconnect indefinitely every *max_backoff_time* minutes. - - If a zero value is specified, then Sync Gateway will do an exponential backoff up to an interval of five minutes before stopping the replication. - - NOTE - this value defaults to five minutes for replications created prior to version 2.8. - password: - type: string - default: mandatory - description: |+ - **About** - - Use `password` to provide the login password value for the accredited user running this replication. - - **Behavior** - - These details are used to authenticate credentials and approve access to data. - - Once provided and recorded, the password data is redacted and will not be displayed in either the configuration file or Admin REST API. A string of `****` will be displayed in its place. - # perf_tuning_params: - # type: object - # description: |+ - # The perf_tuning_params are not available in this release. - - # NOTE - This property replaces the 'changes_feed_limit' at version 2.8 - purge_on_removal: - type: boolean - default: false - description: |+ - **About** - - The optional `purge_on_removal` property specifies, per replication, whether the removal of a `channel` triggers a purge. - - **Options** - - `true` or `false` - - Default = false - Document removals are ignored by receiving end - - **Behavior** - - If `purge_on_removal=false`, then the removal of channels is ignored (not purged) by the receiving end. - - **Constraints** - - - Applies only to PULL replications, including the PULL portion of a PUSHANDPULL replication. - - - Replications created prior to version 2.8 *must* be run with `purge_on_removal=false`. - query_params: - type: array - description: |+ - **About** - - The `query_params` property defines a set of key/value pairs used in the query string of the replication. - - **Behavior** - - This property works in conjunction with `filters` and `channels` to provide routing. - - **Using** - - You can use `query_params`' *channels* function to *pull* from a specific set of `channels`. - To do so, you would also need to set the `filter` to `sync_gateway/bychannels`. - - **Example** - - ```json - "filter":"sync_gateway/bychannel", - "query_params": { - "channels":["channel.user1"] - }, - ``` - - **Constraints** - - OPTIONAL for stops and removes (even if defined during creation) - items: - type: string - remote: - type: string - description: |+ - **About** - - The **remote** property represents the endpoint of a database for the remote Sync Gateway. - That is, it identifies the remote Sync Gateway database that is the subject of this replication's push, pull or pushAndPull action. - - Typically the endpoint will include URI, Port and Database name elements. - - You can also include user credentials in the URL, in the form ```:```. - The credentials relate to an existing Sync Gateway user on the remote server. - - **Example** - ``` "remote": "http://user:password@example.com:4985/db1-remote"``` - - - **Format** - - - a string containing a valid URL for a (remote) Sync Gateway database. - - an object whose url property contains the Sync Gateway database URL. - - **Behavior** - - Dependent upon setting of **direction**. - - If **direction** is : - - *pull*, 'remote' defines the remote cluster *from* which data is pulled - - *push*, 'remote' defines the remote cluster *to* which data is pushed - - *pushAndPull*, 'remote' defines the *push* configuration. - - **Example** - - ```json - "remote": "http://www.example.com:4984/sample-database", - ``` - replication_id: - type: string - description: |+ - **About** - - The *replication_id* property specifies either: - - - For NEW replications, the ID to be assigned to the the replication. - If no *replication_id* is specified, Sync Gateway will assign a random UUID to new replications. - - - For existing replications, this is the ID of the required replication. - - - If **cancel=true**, this is the id of the active replication task to be cancelled. - - **Constraints** - - If this is specified in the body of a POST or PUT request then it must be the same value as specified in the request URL. - initial_state: - type: string - default: Running - description: |+ - **About** - - The optional `initial_state` property is used to specify that the replication must be launched in 'Stopped' mode - - **Behavior** - - All replications are configured to start on Sync Gateway launch. So, if omitted, the state defaults to 'Running'. - - **Constraints* - - Replications created prior to version 2.8 will all default to a state of 'Running'. - username: - type: string - default: Mandatory - description: |+ - **About** - - Use `username` to provide the name of the accredited user running this replication. - - **Behavior** - - These details are used to authenticate credentials and approve access to data - - Once provided and recorded, the username data is redacted and will not be displayed in either the configuration file or Admin REST API. A string of `****` will be displayed in its place. - - # REPLICATIONSTATUS new at 2.8 - ReplicationStatusResponseBody: - type: object - properties: - replication_id: - type: string - description: The replication Id. - docs_read: - type: integer - description: The number of docs that have been read (fetched) from the source database. - docs_written: - type: integer - description: The number of docs that have been written (pushed) to the target database. - docs_purged: - type: integer - description: The number of docs that have been purged. - doc_write_failures: - type: integer - description: |+ - The number of docs that have failed to be written (pushed) to the target database. - These docs will not be retried. - doc_write_conflict: - type: integer - description: The number of docs that were in conflict. - status: - type: string - description: |+ - The status of the replication. - - Valid values are: - - Starting - - Started - - Stopping - - Stopped - - Error - rejected_by_remote: - type: integer - description: Count of documents that were sent to the remote but did not get replicated because they were rejected by the sync function on the remote - rejected_by_local: - type: integer - description: Count of documents that were received by the local but did not get replicated because they were rejected by the sync function on the local - last_seq_pull: - type: string - description: |+ - Last sequence number processed in pull replication. - - The last_seq_pull result can be used by apps to determine if a specific document has been synced to target or not. - - To do this, query the **_raw** endpoint and compare the sequence number of the document with the last_seq value (push or pull as approperiate) replicated. - last_seq_push: - type: string - description: |+ - Last sequence value processed in push replication. - - The last_seq_push result can be used by apps to determine if a specific document has been synced to target or not. - - To do this, query the **_raw** endpoint and compare the sequence number of the document with the last_seq value (push or pull as approperiate) replicated. - error_message: - type: string - description: |+ - A message describing the reason for the latest error. - It is reset each Sync Gateway restart. - delta_sent: - type: integer - description: |+ - This is the number of deltas sent. - - Whether or not deltas are sent and-or received is based on whether the remote: - - - has deltas enabled, and-or - - - can generate a delta for the requested revision. - - delta_recv: - type: integer - description: The number of delta-sync changes sent - delta_requested: - type: integer - description: |+ - The number of delta-sync changes requested. - - This should always be non-zero when delta_sync.enabled is true. - config: - type: object - description: |+ - This optional response content is returned only when using the {querystring} option with `includeConfig=true`. For example, - - ``` - GET http://localhost:4985/db-local/_replicationStatus?includeError=true&includeConfig=true - ``` - - It comprises the replication definition as would be returned using a `GET` request to the `_replication` endpoint. - - Resync-response: - type: object - properties: - status: - type: string - description: |+ - Indicates the status of the resync operation. - - Possible values: - - - running, - - - stopped, - - - stopping, - - - stopped on error - - start_time: - type: string - description: |+ - The `_resync` process start time in ISO 8601 format (for example: `2012-04-23T18:25:43.511Z`) - - - docs_changed: - type: integer - description: |+ - Shows the number of documents that have been changed as a result of the sync function. - - Docs are only changed if when run through the new sync function the resulting doc is different to the currently stored doc. - docs_procesed: - type: integer - description: |+ - Shows the number of documents that have been run through the sync function. - - last_error: - type: string - description: |+ - Will ONLY be present when status = “stopped on error” - - In the event of an error in the `_resync` process this field will contain error details. - Otherwise it is not visible. - - Server: - type: object - properties: - couchdb: - type: string - description: Contains the string 'Welcome' (this is required for compatibility with CouchDB) - vendor/name: - type: string - description: The server type ('Couchbase Sync Gateway) - vendor/version: - type: string - description: The server version - version: - type: string - description: Sync Gateway version number - - ReplicationResponseBody: - type: object - description: This is the replication definition set returned in response to a `GET` request. - properties: - this_rep: - type: object - description: This is the replication definition set returned in response to a `GET` request. - properties: - adhoc: - type: boolean - default: false - description: |+ - Indicates whether this replication is ad hoc (`"adhoc": true`) or Persistent. - Both replications behave in the same way, except that **adhoc** replications are automatically removed when their status changes to **stopped**. - This will usually be on completion, but may also be as a result of user action). - - batch_size: - type: integer - default: 200 - description: |+ - **About** - - The `batch_size` property specifies the number of changes to be included in a single batch during replication. - - conflict_resolution_type: - type: string - default: default - description: |+ - **About** - - The **`conflict_resolution_type`** property specifies the conflict resolution policy Sync Gateway will apply when resolving conflicting revisions. - - The default behavior is that automatic conflict resolution policy is applied. - - **Valid options** - - - `default` - - - `localWins` - - - `remoteWins` - - - `custom` - - **Behavior** - - - *default* - Selecting `default` applies the following conflict resolution policy - - - Deletes always win (the delete with longest revision history wins if both revisions are deletes) - - - The revision with the longest revision history wins (so, the one with most changes and consequently the highest revision Id). - - - *localWins* - Selecting `localWins` will result in local revisions always being the winner in any conflict. - - - *remoteWins* - Selecting `remoteWins` will result in remote revisions always being the winner in any conflict. - - - - *custom* - Selecting `custom` specifies that you want to handle conflict resolution with your own application logic. - You **must** provide this logic as a Javascript function by specifying it in using the custom-conflict-resolver parameter. - - **Example** - ``` - "conflict_resolution_type":"remoteWins" - ``` - - **Constraints** - - - Replications created prior to version 2.8 will default to `default`. - - - continuous: - type: boolean - default: false - description: |+ - **About** - - The `continuous` property specifies whether this replication runs in continuous, or single-shot, mode. - - **Behavior** - - - `continuous=true`-- In continuous mode, changes are immediately synced in accordance with the replication definition. - - - `continuous=false`-- Detected changes are synced in accordance with the replication definition. The replication ceases once all revisions are processed. - - **Constraints** - - - Optional for stops and removes - - custom_conflict_resolver: - type: string - default: none - description: |+ - **About** - - The `custom_conflict_resolver` property specifies the Javascript function that will be used to resolve conflicts, if the custom conflict resolution type is specified in the `conflict_resolution_type`. - - **Options** - - The property is *mandatory* when `conflict_resolution_type=custom` and will be ignored in all other cases. - - **Using** - - Provide the required logic in a Javascript function, as a string within backticks (see also the description for the `sync` function`. - - The function takes one parameter `struct` representing the conflict and comprising - - - the document id - - - the local document - - - the remote document - - The function returns a document `struct` representing the winning revision. - - **Example** - ``` - "custom_conflict_resolver":` - function(conflict) { - console.log("full remoteDoc doc: "+JSON.stringify(conflict.RemoteDocument)); - return conflict.RemoteDocument; - }` - ``` - - **Constraints** - - Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. - - - direction: - type: string - description: |+ - **About** - - The mandatory `direction` property indicates whether the replication is *push*, *pull* or *pushAndPull*. - - The property value is referenced by the **remote** property. - - **Constraints** - - Replications created prior to version 2.8 derive the *direction* from the source/target url of the replication. - - - enable_delta_sync: - type: boolean - default: false - description: |+ - **About** - - The `enable_delta_sync` property specifies whether delta sync is, or is not, used for the replication. - - **Options** - - To use delta sync or not. - - - `enable_delta_sync=true` - the replication runs using delta sync - - - `enable_delta_sync=false` - the replication runs without delta sync - - **Behavior** - - The impact of this property is dependent on the `delta_sync.enabled` setting for the relevent databases as indicated here. - - - **If** `"delta_sync.enabled": true` for both databases involved in the replication, then this parameter enables or disables its use for this specific replication. - - - In all other cases it has no effect and the replication runs without delta-sync. - - **Constraints** - - - Requires *Enterprise Edition* - - Replications created prior to version 2.8 run with `enable_delta_sync=false` - - - filter: - type: string - description: |+ - **About** - - Use the optional `filter` property to defines the function to be used to filter documents. - - **Options** - - A common value used when replicating from Sync Gateway is `sync_gateway/bychannel`. - This option limits the pull replication to a specific set of channels. - You can specify the required channels using `query_params`. - - **Behavior** - - Works in conjunction with `query_params` to control the documents processed by the replication. - - **Example** - - ``` - "filter":"sync_gateway/bychannel" - ``` - - **Constraints** - - OPTIONAL for stops and removes (even if defined during creation) - - - max_backoff_time: - type: integer - default: 5 - description: |+ - **About** - - The **max_backoff_time** property indicates the time-period (in minutes) during which Sync Gateway will attempt to reconnect lost or unreachable *remote* targets. - - On disconnection, Sync Gateway will do an exponential backoff up to the specified value, after which it will attempt to reconnect indefinitely every *max_backoff_time* minutes. - - If the value is zero, Sync Gateway will do an exponential backoff up to an interval of five minutes before stopping the replication. - - **Constrains** - - This value defaults to five minutes for replications created prior to version 2.8. - - - password: - type: string - default: Mandatory - description: |+ - The `password`, forms part of the login credentials used to access the data. - - All password data is redacted and is displayed as a string of `****`. - - perf_tuning_params: - type: object - description: |+ - The perf_tuning_params are yet to be defined (subject to performance testing) - - NOTE - This property replaces the 'changes_feed_limit' at version 2.8 - - purge_on_removal: - type: boolean - default: false - description: |+ - **About** - - The optional `purge_on_removal` property specifies, per replication, whether the removal of a `channel` triggers a purge. - - **Options** - - `true` or `false` - - Default = false - Document removals are ignored by receiving end - - **Behavior** - - If `purge_on_removal=false`, then the removal of channels is ignored (not purged) by the receiving end. - - **Constraints** - - - Applies only to PULL replications, including the PULL portion of a PUSHANDPULL replication. - - - Replications created prior to version 2.8 *must* be run with `purge_on_removal=false`. - - - query_params: - type: array - description: |+ - **About** - - The `query_params` property defines a set of key/value pairs used in the query string of the replication. - - **Behavior** - - This property works in conjunction with `filters` and `channels` to provide routing. - - **Using** - - You can use `query_params`' *channels* function to *pull* from a specific set of `channels`. - To do so, you would also need to set the `filter` to `sync_gateway/bychannels`. - - **Example** - - ```json - "filter":"sync_gateway/bychannel", - "query_params": { - "channels":["channel.user1"] - }, - ``` - - **Constraints** - - OPTIONAL for stops and removes (even if defined during creation) - - items: - type: string - - remote: - type: string - description: |+ - **About** - - The **remote** property represents a database URL for the remote Sync Gateway. - That is, it identifies the remote Sync Gateway database that is the subject of this replication's push, pull or pushAndPull action. - - **Behavior** - - Dependent upon setting of **direction**. If **direction** is : - - - *pull*, this is the cluster *from* which data is pulled - - - *push*, this is the cluster *to* which data is pushed - - - *pushAndPull*, this is the cluste from which data is pushed. - - **Example** - - ``` - "remote": "http://www.example.com:4984/db2name", - ``` - - **Constraints** - - - You must specify the 'remote' database's url even if it is located on the same cluster as the replication's database. - - - OPTIONAL for stops and removes - - - replication_id: - type: string - description: |+ - **About** - - The *replication_id* property indicates the ID that Sync Gateway assigned to the replication. - - Sync Gateway assigns a random UUID if no `replication_id` is specified when the replication is created. - - initial_state: - type: string - default: Running - description: |+ - **About** - - The optional `initial_state` property is used to specify that the replication must be launched in 'Stopped' mode - - **Behavior** - - All replications are configured to start on Sync Gateway launch. - So, if omitted, the state defaults to 'Running'. - - **Constraints* - - Replications created prior to version 2.8 will all default to a state of 'Running'. - - username: - type: string - default: Mandatory - description: |+ - - The `username` forms part of the credentials used to authenticate and approve access to data - - This field is redacted a string of '****' is displayed in its place. - - ReplicationStatistics-SGR1: - - description: This is the replication definition set returned in response to an ExpVars `GET` request. - properties: - replname: - type: object - description: |+ - This object comprises the stats collected and recorded for the inter-sync-gateway replication named $replname (which equates to a `replication_id`). - - The same structure is used to return statistics from inter-sync-gateway replications versions 1 and 2, but not all items are populated by each version. - properties: - sgr_active: - type: boolean - description: |+ - Whether the replication is active at this time. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - - sgr_docs_checked_sent: - type: integer - description: |+ - The total number of documents checked for changes since replication started. - - This represents the number of potential change notifications pushed by Sync Gateway. - - **Constraints** - - This is not necessarily the number of documents pushed, as a given target might already have the change. - - - Used by versions 1 and 2. - - sgr_num_attachments_transferred: - type: integer - description: |+ - The total number of attachments transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - - sgr_num_attachment_bytes_transferred: - type: integer - description: |+ - The total number of attachment bytes transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - - sgr_num_docs_failed_to_push: - type: integer - description: |+ - The total number of documents that failed to be pushed since replication started. - - Used by versions 1 and 2. - sgr_num_docs_pushed: - type: integer - description: |+ - The total number of documents that were pushed since replication started. - - Used by versions 1 and 2. - - - View: - type: object - properties: - _rev: - type: string - description: Revision identifier of the parent revision the new one should replace. (Not used when creating a new document.) - views: - type: object - description: List of views to save on this design document. - properties: - my_view_name: - type: object - description: The view's map/reduce functions. - properties: - map: - type: string - description: Inline JavaScript definition for the map function - reduce: - type: string - description: Inline JavaScript definition for the reduce function - - - -parameters: - - access: - name: access - in: query - description: |+ - Indicates whether to include in the response a list of what access this document grants (i.e. which users it allows to access which channels.) - This option may only be used from the admin port. - type: boolean - default: false - - active_only: - name: active_only - in: query - description: |+ - Default is false. - When true, the changes response doesn't include either deleted documents, or notification for documents that the user no longer has access to. - type: boolean - default: false - - attachment: - in: path - name: attachment - description: |+ - Attachment name. - This value must be URL encoded. - For example, if the attachment name is `blob_/avatar`, the path component passed to the URL should be `blob_%2Favatar` (tested with [URLEncoder](https://www.urlencoder.org/)). - type: string - required: true - - atts_since: - in: query - name: atts_since - description: |+ - Include attachments only since specified revisions. - Does not include attachments for specified revisions. - type: array - items: - type: string - - include_attachments: - in: query - name: attachments - description: |+ - Include attachment bodies in response. - Default is false. - type: boolean - default: false - - bootstrap-logging: - name: bootstrap logging setting - in: body - required: true - schema: - $ref: '#/definitions/Logging_model' - - bulkget: - in: body - name: BulkGetBody - description: |+ - List of documents being requested. - - Each array element is an object that must contain an id property giving the document ID. - It may contain a rev property if a specific revision is desired. - It may contain an atts_since property (as in a single-document GET) to limit which attachments are sent. - schema: - type: array - items: - type: object - properties: - id: - type: string - description: Document ID. - att_since: - type: string - description: att_since - rev: - type: string - description: rev - - channels: - in: query - name: channels - description: |+ - Indicates whether to include in the response a channels property containing an array of channels this document is assigned to. - Channels not accessible by the user making the request will not be listed. - type: boolean - default: false - channels_list: - in: query - name: channels - description: A comma-separated list of channel names. The response will be filtered to only documents in these channels. (This parameter must be used with the **sync_gateway/bychannel** filter parameter; see below.) - type: string - required: false - - compaction_action: - type: string - in: query - name: action - description: |+ - Use the ```action``` parameter to *start* or *stop* a `_compact` process. - - The value must be one of : - - `start` - immediately starts (or restarts) a compaction and returns its status - - - `stop` - immediately stops the active compaction and returns the status - - This parameter works in conjunction with compaction type. - - default: start - - compaction_dry_run: - in: query - type: string - name: dry_run - default: false - description: |+ - Use ```dry_run``` only for attachment compaction. - - If this is set to ```true``` the process will run but will not execute the final purge of attachments. - It can be used to check how many attachments will be purged. - - compaction_reset: - in: query - type: string - name: reset - default: false - description: |+ - Use ```reset``` only for attachment compaction. - - If this is set to ```true``` the ```start``` action will not attempt to resume a failed process but will force a fresh compact to start. - - compaction_type: - type: string - in: query - name: type - description: |+ - Use the ```type``` option to specify the type of compaction required. - - The type must be one of : - - `attachment` for legacy pre-3.0 attachment compaction - - - `tombstone` for database compaction, which purges the JSON bodies of non-leaf revisions. - - This parameter works in conjunction with compaction action. - default: tombstone - - content_type: - in: header - name: Content-Type - description: Attachment Content-Type - type: string - - database_config_body: - in: body - name: 'database configuration details' - description: |+ - Provision the database configuration details as JSON object in request body - schema: - $ref: '#/definitions/Database_model' - - db: - name: db - in: path - description: Database name - type: string - required: true - - ddoc: - name: ddoc - in: path - description: Design document name - type: string - required: true - - doc: - name: doc - in: path - description: Document ID - type: string - required: true - - doc_ids: - in: query - name: doc_ids - description: |+ - A list of document IDs as a valid JSON array. - The response will be filtered to only documents with these IDs. - This parameter must be used with the `filter=_doc_ids` and `feed=normal` parameters. - type: array - items: - type: string - - endkey: - name: endkey - in: query - description: If this parameter is provided, stop returning records when the specified key is reached. - type: string - required: false - feed: - in: query - name: feed - description: Default is 'normal'. Specifies type of change feed. Valid values are normal, continuous, longpoll, websocket. - type: string - default: 'normal' - - heartbeat: - in: query - name: heartbeat - description: |+ - Default is 0. Interval in milliseconds at which an empty line (CRLF) is written to the response. - - This helps prevent gateways from deciding the socket is idle and closing it. - Only applicable to longpoll or continuous feeds. - Overrides any timeout to keep the feed alive indefinitely. - Setting to 0 results in no heartbeat. - type: integer - default: 0 - include_docs: - in: query - name: include_docs - description: |+ - Default is false. - Indicates whether to include the associated document with each result. - If there are conflicts, only the winning revision is returned. - type: boolean - default: false - keys: - in: query - name: keys - description: |+ - Specify a list of document IDs. - Note that this is an array field, so to retrieve docs with Ids of "keyid1" and "keyid4", for example, use a request in this format -- - - ```curl -X GET \ 'http://localhost:4985/test_db/_all_docs?keys=[%22keyid1%22,%22keyid4%22]' \ -H 'Accept: application/json'``` - type: array - items: - type: string - - - limit: - in: query - name: limit - description: Limits the number of result rows to the specified value. Using a value of 0 has the same effect as the value 1. - type: integer - local_doc: - in: path - name: local_doc - description: Local document IDs begin with _local/. - type: string - required: true - - new_edits: - name: new_edits - in: query - description: |+ - Default is true. - Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. (This mode is used by the replicato.) - - This option must be used in conjunction with the `_revisions` property in the request body. - type: boolean - default: true - - open_revs: - in: query - name: open_revs - description: |+ - Option to fetch specified revisions of the document. - The value can be `all` to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only [leaf revision](glossary.html) bodies that haven't been pruned are guaranteed to be returned. - - If this option is specified the response will be in multipart format. - Use the `Accept: application/json` request header to get the result as a JSON object. - type: string - required: false - - replication__replication-body: - in: body - name: ReplicationBody - # summary: Basic replication body (json) - description: |+ - This replication request message body is a JSON document that comprises all the properties required to upsert a replication. - - If the `replicationID` matches an existing `replication_id` then the values of any properties provided in the body are used to update the existing replication's property values. - schema: - $ref: '#/definitions/Replication_model' - - - import_filter_body: - name: import_filter - description: The Javascipt code for the import filter function - in: body - required: true - schema: - $ref: '#/definitions/Import_filter_model' - - - role_body: - in: body - name: role - description: The message body is a JSON document that contains the following objects. - schema: - $ref: '#/definitions/Role_model' - - sync_function_body: - name: sync function - description: The Javascipt code for the sync function - in: body - required: true - schema: - $ref: '#/definitions/Sync_model' - - - replication_id-upsert: - in: path - type: string - name: replicationID - required: true - description: |+ - If supplied, the replicationID parameter must be a valid replication id. - - If it is not supplied for a new replication*, then a random UUID is generated. - - - replication_id-required: - in: path - type: string - name: replicationID - required: true - description: |+ - The {replicationID} parameter identifies the target replication. - - replicationStatus-action: - in: query - name: action - type: string - default: none - required: true - description: |+ - The value of the {action} parameter specifies the value you want the selected replication's status set to. - - Valid values are: - - - **start** : Use this action to start a stopped replication - - - **stop** : Use this action to stop a started replication - - - **reset** : Use this action to reset a stopped replication. - This will set the checkpoint to zero. - For bidirectional replication, both push and pull checkpoints are reset to zero. - - resync-action: - in: query - name: action - type: string - default: "start" - required: false - description: |+ - The action query can be “start” or “stop”. - If neither is provided,“start” is used as the default. - - - Start will 'begin' the asynchrounous resync operation. - - - Stop will stop the resync operation and will return - - resync-regenerate: - in: query - name: regenerate_sequences - type: string - default: none - required: false - description: |+ - **Use this only when requested to do so by the Couchbase support team** - - Set **```regenerate_sequences=true```** along with - ```action=start``` in order to begin a resync while regenerating sequences. - - rev: - name: rev - in: query - description: Revision identifier of the parent revision the new one should replace. (Not used when creating a new document.) - type: string - required: false - rev_get: - name: rev - in: query - description: |+ - Revision identifier of the revision to get. - - By default, Sync Gateway returns the current revision. - This parameter is generally only needed for conflict resolution. - For example where the app might need to retrieve a conflicting leaf revision that isn't the current revision. - type: string - required: false - rev_put: - name: rev - in: query - description: Revision identifier of the revision to update. It must be the last revision in the history. - type: string - required: true - rev_delete: - name: rev - in: query - description: Revision identifier of the revision to delete. It must be the identifier of the latest revision in the history. - type: string - required: true - - revs: - in: query - name: revs - description: |+ - Default is false. - Indicates whether to include a _revisions property for each document in the response, which contains a revision history of the document. - The length of the returned revision tree can be specified with the `revs_limit` querystring parameter. - type: boolean - default: false - - - role_name: - in: path - name: name - description: |+ - Role name, may contain any combination of the characters `[a-z A-Z 0-9 - + . @ %]`, when creating a role any other characters must be percent encoded, see: - [https://en.wikipedia.org/wiki/Percent-encoding](https://en.wikipedia.org/wiki/Percent-encoding). - - When passing a role name in a URL path it must be escaped again using percent encoding for example if a role is created with the name "0|59", the '|' character must first be percent-encoded resulting in "0%7C59". When using the same role name in a URL path it must be percent-encoded a second time resulting in "0%257C59" - type: string - required: true - sessionid: - name: sessionid - in: path - description: Session id - type: string - required: true - startkey: - name: startkey - in: query - description: Returns records starting with the specified key. - type: string - required: false - since: - in: query - name: since - description: |+ - Starts the results from the change immediately after the given sequence ID. - - Sequence IDs should be considered opaque; they come from the last_seq property of a prior response. - type: integer - required: false - style: - in: query - name: style - description: |+ - Default is 'main_only'. - Number of revisions to return in the changes array. - main_only returns the current winning revision, all_docs returns all leaf revisions including conflicts and deleted former conflicts. - type: string - default: 'main_only' - timeout: - in: query - name: timeout - description: |+ - Default is 300000. - Maximum period in milliseconds to wait for a change before the response is sent, even if there are no results. - Only applicable for longpoll or continuous feeds. - Setting to 0 results in no timeout. - type: integer - default: 300000 - update_seq: - in: query - name: update_seq - description: Default is false. Indicates whether to include the update_seq (document sequence ID) property in the response. - type: boolean - default: false - view: - name: view - in: path - description: View name - type: string - required: true - bulkdocs: - in: body - name: BulkDocsBody - description: The request body - schema: - properties: - docs: - type: array - description: List containing new or updated documents. Each object in the array can contain the following properties _id, _rev, _deleted, and values for new and updated documents. - - items: - type: object - $ref: '#/definitions/Document_model' - new_edits: - description: Indicates whether to assign new revision identifiers to new edits. - type: boolean - default: true - batch: - in: query - name: batch - description: Stores the document in batch mode. To use, set the value to ok. - type: string - required: false - changes_body: - in: body - name: ChangesBody - description: The request body - schema: - properties: - limit: - description: Limits the number of result rows to the specified value. Using a value of 0 has the same effect as the value 1. - type: integer - style: - description: Default is 'main_only'. Number of revisions to return in the changes array. The only possible value is all_docs and it returns all leaf revisions including conflicts and deleted former conflicts. - type: string - default: 'main_only' - active_only: - description: Default is false. When true, the changes response doesn't include either deleted documents, or notification for documents that the user no longer has access to. - type: boolean - default: false - include_docs: - description: Default is false. Indicates whether to include the associated document with each result. If there are conflicts, only the winning revision is returned. - type: boolean - default: false - filter: - description: Indicates that the returned documents should be filtered. The valid values are sync_gateway/bychannel and _doc_ids. - type: string - channels: - description: A comma-separated list of channel names. The response will be filtered to only documents in these channels. (This parameter must be used with the sync_gateway/bychannel filter parameter; see below.) - type: string - - doc_ids: - type: array - description: A list of document IDs as a valid JSON array. The response will be filtered to only documents with these IDs. (This parameter must be used with the _doc_ids filter parameter; see below.) - - items: - type: string - feed: - description: Default is 'normal'. Specifies type of change feed. Valid values are normal, continuous, longpoll, websocket. - type: string - default: 'normal' - since: - description: Starts the results from the change immediately after the given sequence ID. Sequence IDs should be considered opaque; they come from the last_seq property of a prior response. - type: object - heartbeat: - description: Default is 0. Interval in milliseconds at which an empty line (CRLF) is written to the response. This helps prevent gateways from deciding the socket is idle and closing it. Only applicable to longpoll or continuous feeds. Overrides any timeout to keep the feed alive indefinitely. Setting to 0 results in no heartbeat. - type: integer - default: 0 - timeout: - description: Default is 300000. Maximum period in milliseconds to wait for a change before the response is sent, even if there are no results. Only applicable for longpoll or continuous feeds. Setting to 0 results in no timeout. - type: integer - default: 300000 - filter: - in: query - name: filter - description: Indicates that the reported documents should be filtered. The valid values are sync_gateway/bychannel and _doc_ids. - type: string - required: false - logtags: - in: body - name: log_keys - description: |+ - Use the body to provide a list of the log keys you want to set. - - For example - `{"Changes++":true, "Cache":true, "HTTP":true, "DCP":true, "WS": true, "WSFrame": true, "Replicate": true}` - schema: - type: object - properties: - All: - type: boolean - description: |+ - Use the wildcard character `*` to set all log keys - For example ```{"*":true}``` - none: - type: boolean - description: |+ - Use "none" or "" as the key to disable all log keys. - For example ```{"none":true}``` - Admin: - type: boolean - description: Admin processes in Sync Gateway. - Access: - type: boolean - description: Anytime an access() call is made in the sync function. - Auth: - type: boolean - description: Authentication. - Bucket: - type: boolean - description: Sync Gateway interactions with the bucket (trace level only). - Cache: - type: boolean - description: Interactions with Sync Gateway's in-memory channel cache. - Changes: - type: boolean - description: Processing of /{db}/_changes requests. - CRUD: - type: boolean - description: Updates made by Sync Gateway to documents. - DCP: - type: boolean - description: DCP-feed processing. - Events: - type: boolean - description: Event processing (webhooks). - gocb: - type: boolean - description: All logging emitted by the GoCB SDK - HTTP: - type: boolean - description: All requests made to the Sync Gateway REST APIs. - HTTP+: - type: boolean - description: Additional information about HTTP requests (response times, status codes). - Import: - type: boolean - description: Introduced in Sync Gateway 1.5 to help troubleshoot the import process of a document (this is the Sync Gateway process to make a document that was added through N1QL or the Server SDKs mobile-aware). This log key can be useful to troubleshoot why a given document was not successfully imported. - Javascript: - type: boolean - description: All logging from Javascript. This includes - sync function, import filters, webhook filter function, and the custom ISGR conflict resolvers - Migrate: - type: boolean - description: Logs messages thhat show when old inline document metdata is upgraded to xattrs - Query: - type: boolean - description: Query is used for Sync Gateway code related to N1QL queries - Replicate: - type: boolean - description: |+ - Log messages related to replications between Sync Gateways (using sg-replicate). This tag cannot be used for replications initiated by Couchbase Lite. - SGCluster: - type: boolean - description: Log messages related to the sharded import and HA sg-replicate - Sync: - type: boolean - description: Activity which relates to synchronization between Couchbase Lite and Sync Gateway - SyncMsg: - type: boolean - description: Can be used for additional Sync logging output - WS: - type: boolean - description: Websocket replication log messages - WSFrame: - type: boolean - description: Can be used for additional WS logging output - level: - in: query - name: level - description: |+ - **Deprecated** - please use `logLevel` instead - This setting determines the verbosity of the logging - - level=1 - The default, regular, logging - - level=2 - Enables warnings and panics logging - - level=3 - Will log panics only - type: integer - logLevel: - in: query - name: logLevel - description: |+ - This setting determines the verbosity of the logging. - - Available values are - - `none` - - `error` - - `warn` - - `info` - - `debug` - - `trace` - - Note that the setting is additive. For example, setting `info` will also enable both `error` and `warn`. - - type: string - sgcollect_info: - in: body - name: sgcollect_info - description: Options that can be specified to use in an sgcollect_info run - schema: - type: object - properties: - redact_level: - type: string - description: Can be set to `none` or `partial` for redaction of collected logs. - default: none - redact_salt: - type: string - description: If set, use this salt when redacting logs. - output_dir: - type: string - description: Where to store the collected zip. - default: configured `LogFilePath` location (for example `/home/sync_gateway/logs`) - upload: - type: boolean - description: Whether to upload the collected logs. - default: false - upload_host: - type: string - description: s3 URL for upload. - default: https://uploads.couchbase.com - customer: - type: string - description: |+ - Customer name to use when uploading logs. - required - if upload is set - ticket: - type: string - description: Zendesk ticket number to use when uploading logs. - - name: - in: path - name: name - description: |+ - User's name, may contain contain any combination of the characters `[a-z A-Z 0-9 - + . @ %]`, when creating a user any other characters must be percent encoded, see: [https://en.wikipedia.org/wiki/Percent-encoding](https://en.wikipedia.org/wiki/Percent-encoding). - - When passing a user name in a URL path it must be escaped again using percent encoding for example if a user is created with the name "0|59", the '|' character must first be percent-encoded resulting in "0%7C59". When using the same user name in a URL path it must be percent-encoded a second time resulting in "0%257C59" - type: string - required: true - - replicate__replication-body: - in: body - name: ReplicationBody - description: |+ - SGR1 replication - The request message body is a JSON document that contains the following objects. - schema: - type: object - properties: - source: - type: string - description: Identifies the database to copy revisions from. Can be a string containing a local database name or a remote database URL, or an object whose url property contains the database name or URL. Also an object can contain headers property that contains custom header values such as a cookie. - target: - type: string - description: Identifies the database to copy revisions to. Same format and interpretation as source. - continuous: - type: boolean - description: Specifies whether the replication should be in continuous mode. - filter: - type: string - description: Indicates that the documents should be filtered using the specified filter function name. A common value used when replicating from Sync Gateway is sync_gateway/bychannel to limit the pull replication to a set of channels. - query_params: - type: object - description: A set of key/value pairs to use in the querystring of the replication. For example, the channels field can be used to pull from a set of channels (in this particular case, the filter key must be set for the channels field to work as expected). - replication_id: - type: string - description: If the cancel parameter is true then this is the id of the active replication task to be cancelled, otherwise this is the replication_id to be used for the new replication. If no replication_id is given for a new replication it will be assigned a random UUID. - - cancel: - type: boolean - description: Indicates that a running replication task should be cancelled, the running task is identified by passing its replication_id or by passing the original source and target values. - changes_feed_limit: - type: integer - description: The maximum number of change entries to pull in each loop of a continuous changes feed. - default: 50 - revs_limit: - in: query - name: revs_limit - description: |+ - The number of revisions to include in the response from the document history. - - This property is only honoured if `revs=true` is also sent in the request. - - If `revs=true` is specified and `revs_limit` isn't, the full revision history is returned. - - For more information see: [Revisions](revisions.html) page. - type: integer - required: false - show_exp: - in: query - name: show_exp - description: Whether to show the _exp property in the response. - type: boolean - default: false - required: false - - user_body: - in: body - name: user configuration data - description: Provision the user configuration data in JSON format in the body - schema: - $ref: '#/definitions/User_model' - - upgrade_preview: - in: query - name: preview - description: Lists the design documents to be removed if the request is sent without this paramter. - type: boolean - default: false - required: false - - -tags: - # - name: attachment - # description: Groups all endpoints for attachment activities - - name: Authentication - description: Manage OpenID Connect providers - - name: 'Bootstrap Configuration' - description: Returns bootstrap settings and updates logging options - - name: 'Database Configuration' - description: Configure sync gateway databases - - name: 'Database Management' - description: Create and manage sync gateway databases - - name: 'Database Security' - description: Create and manage database users and roles - - name: 'Access Control' - description: Convenience API for Sync function upsert - - name: Replication - description: Manage inter-Sync Gateway replication - - name: Document - description: Manage documents and attachments - - name: 'Design Documents' - description: Work with sync gateway design docs - - name: Logging - description: Update bootstrap logging settings - - name: Server - description: Manage server activities - - name: Session - description: Manage user sessions - # - name: user - # description: Create and manage sync gateway users - diff --git a/modules/ROOT/assets/attachments/rest-api-metrics.yaml b/modules/ROOT/assets/attachments/rest-api-metrics.yaml deleted file mode 100644 index f0e6b0cbd..000000000 --- a/modules/ROOT/assets/attachments/rest-api-metrics.yaml +++ /dev/null @@ -1,315 +0,0 @@ -swagger: '2.0' -info: - title: Sync Gateway - description: | - This is a developer preview of the documentation for the Sync Gateway Metrics Rest API. - version: '1.0' -# the domain of the service -host: localhost:4986 -# array of all schemes that your API supports -schemes: -- http -- https -# will be prefixed to all paths -consumes: -- application/json -produces: -- application/json -################################################################################ -# Parameters # -################################################################################ -parameters: - -################################################################################ -# Paths # -################################################################################ -paths: - - # Original _expvar - /_expvar: - get: - tags: - - Standard Output - summary: Debugging/monitoring at runtime - description: |+ - The ```Expvars``` method returns Sync Gateways' numerous statistics, and other runtime variables, in JSON format. - Making them readily available for debugging or performance monitoring purposes. - - **See** : [Sync Gateway Statistics Schema](stats-monitoring.html) for more details on the metrics collected and reported by Sync Gateway. - - *Sync Gateway Roles Required:* - - -- Sync Gateway Dev Ops - -- External Stats Reader - - - - responses: - 200: - description: OK - indicates success - schema: - $ref: '#/definitions/ExpVars' - - # Prometheus format _expvar - /_metrics: - get: - tags: - - Prometheus - summary: Debugging/monitoring runtime stats in Prometheus format - description: |+ - The ```_metrics``` method returns Sync Gateway's statistics and other runtime variables in **Prometheus** format. - This makes for a convenient feed for your debugging or performance monitoring purposes. - - - For more details on the metrics collected and reported by Sync Gateway -- see: [Sync Gateway Statistics Schema](stats-monitoring.html). - - For more details on Monitoring Sync Gateway using the ```_metrics``` feed -- see: our blog on [Monitoring and Visualization of Couchbase Sync Gateway with Prometheus and Grafana](https://blog.couchbase.com/monitoring-and-visualization-of-couchbase-sync-gateway-with-prometheus-and-grafana/) - - *Sync Gateway Roles Required:* - - -- Sync Gateway Dev Ops - -- External Stats Reader - - - responses: - 200: - description: OK - indicates success - schema: - $ref: '#/definitions/Metrics' - -################################################################################ -# Definitions # -################################################################################ -definitions: - ExpVars: - type: object - properties: - cmdline: - type: object - description: Built-in variables from the Go runtime, lists the command-line arguments - memstats: - type: object - description: Dumps a large amount of information about the memory heap and garbage collector - cb: - type: object - description: Variables reported by the Couchbase SDK (go_couchbase package) - mc: - type: object - description: Variables reported by the low-level memcached API (gomemcached package) - syncGateway_changeCache: - type: object - properties: - maxPending: - type: object - description: Max number of sequences waiting on a missing earlier sequence number - lag-tap-0000ms: - type: object - description: Histogram of delay from doc save till it shows up in Tap feed - lag-queue-0000ms: - type: object - description: Histogram of delay from Tap feed till doc is posted to changes feed - lag-total-0000ms: - type: object - description: Histogram of total delay from doc save till posted to changes feed - outOfOrder: - type: object - description: Number of out-of-order sequences posted - view_queries: - type: object - description: Number of queries to channels view - syncGateway_db: - type: object - properties: - channelChangesFeeds: - type: object - description: Number of calls to db.changesFeed, i.e. generating a changes feed for a single channel. - channelLogAdds: - type: object - description: Number of entries added to channel logs - channelLogAppends: - type: object - description: Number of times entries were written to channel logs using an APPEND operation - channelLogCacheHits: - type: object - description: Number of requests for channel-logs that were fulfilled from the in-memory cache - channelLogRewrites: - type: object - description: Number of times entries were written to channel logs using a SET operation (rewriting the entire log) - channelLogRewriteCollisions: - type: object - description: Number of collisions while attempting to rewrite channel logs using SET - document_gets: - type: object - description: Number of times a document was read from the database - revisionCache_adds: - type: object - description: Number of revisions added to the revision cache - revisionCache_hits: - type: object - description: Number of times a revision-cache lookup succeeded - revisionCache_misses: - type: object - description: Number of times a revision-cache lookup failed - revs_added: - type: object - description: Number of revisions added to the database (including deletions) - sequence_gets: - type: object - description: Number of times the database's lastSequence was read - sequence_reserves: - type: object - description: Number of times the database's lastSequence was incremented - syncgateway: - type: object - description: Monitoring stats - properties: - global: - type: object - description: Global Sync Gateway stats - properties: - resource_utilization: - type: object - description: Resource utilization stats - properties: - admin_net_bytes_recv: - type: integer - admin_net_bytes_sent: - type: integer - error_count: - type: integer - go_memstats_heapalloc: - type: integer - go_memstats_heapidle: - type: integer - go_memstats_heapinuse: - type: integer - go_memstats_heapreleased: - type: integer - go_memstats_pausetotalns: - type: integer - go_memstats_stackinuse: - type: integer - go_memstats_stacksys: - type: integer - go_memstats_sys: - type: integer - goroutines_high_watermark: - type: integer - num_goroutines: - type: integer - process_cpu_percent_utilization: - type: integer - process_memory_resident: - type: integer - pub_net_bytes_recv: - type: integer - pub_net_bytes_sent: - type: integer - system_memory_total: - type: integer - warn_count: - type: integer - per_db: - # type: object - type: array - # title: per database statistics [Per DB Per Replication Statistics Schema](refer/rest-api-admin-perDbStats.html "target=_blank") - description: |+ - This array contains stats for all databases declared in the config file -- see the [Sync Gateway Statistics Schema](stats-monitoring.html) for more details on the metrics collected and reported by Sync Gateway. - - The statistics for each {$db_name} database are grouped into: - - - cache related statistics - - cbl_replication_push - - cbl_replication_pull - - database_related_statistics - - delta_sync - - gsi_views - - security_related_statistics - - shared_bucket_import - - per_replication statistics for each `replication_id` - items: - type: object - properties: - - cache: - type: object - - database: - type: object - - per_replication: - type: array - - security: - type: object - - per_replication: - type: array - summary: Per Replication Statistics (Deprecated) - description: |+ - An array of stats for each replication declared in the config file - - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - items: - type: object - description: Stats for a given replication_id - properties: - $replication_id: - type: object - properties: - sgr_active: - type: boolean - description: |+ - Whether the replication is active at this time. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - sgr_docs_checked_sent: - type: integer - description: |+ - The total number of documents checked for changes since replication started. - This represents the number of potential change notifications pushed by Sync Gateway. - **Constraints** - This is not necessarily the number of documents pushed, as a given target might already have the change. - Used by versions 1 and 2. - sgr_num_attachments_transferred: - type: integer - description: |+ - The total number of attachments transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - sgr_num_attachment_bytes_transferred: - type: integer - description: |+ - The total number of attachment bytes transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - sgr_num_docs_failed_to_push: - type: integer - description: |+ - The total number of documents that failed to be pushed since replication started. - Used by versions 1 and 2. - sgr_num_docs_pushed: - type: integer - description: |+ - The total number of documents that were pushed since replication started. - Used by versions 1 and 2. - Metrics: - type: object - description: |+ - The Prometheus output is expected to by consumed only by a Prometheus server. - For that reason its format is irrelevant, and a brief extract is show here for completeness and information only. - - - For more details on the metrics collected and reported by Sync Gateway -- see: [Sync Gateway Statistics Schema](stats-monitoring.html). - - For more details on Monitoring Sync Gateway using the ```_metrics``` feed -- see: our blog on [Monitoring and Visualization of Couchbase Sync Gateway with Prometheus and Grafana](https://blog.couchbase.com/monitoring-and-visualization-of-couchbase-sync-gateway-with-prometheus-and-grafana/) - - ``` - ... - # HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. - # TYPE go_gc_duration_seconds summary - go_gc_duration_seconds{quantile="0"} 0.0001155 - go_gc_duration_seconds{quantile="0.25"} 0.0001254 - go_gc_duration_seconds{quantile="0.5"} 0.0001597 - go_gc_duration_seconds{quantile="0.75"} 0.0001806 - go_gc_duration_seconds{quantile="1"} 0.0049731 - go_gc_duration_seconds_sum 0.006334 - go_gc_duration_seconds_count 9 - # HELP go_goroutines Number of goroutines that currently exist. - # TYPE go_goroutines gauge - go_goroutines 205 - ... - ``` diff --git a/modules/ROOT/assets/attachments/rest-api-public.yaml b/modules/ROOT/assets/attachments/rest-api-public.yaml deleted file mode 100644 index 507ccc105..000000000 --- a/modules/ROOT/assets/attachments/rest-api-public.yaml +++ /dev/null @@ -1,1743 +0,0 @@ -swagger: '2.0' -info: - title: Sync Gateway - description: |+ - This yaml API spec documents the Sync Gateway Public REST API. - - The swagger spec isn't officially supported or actively maintained. - It is offered as a convenient starting point for developers. - version: '2.0' -# the domain of the service -host: localhost:4984 -# array of all schemes that your API supports -schemes: -- http -- https -# Security schemes available -securityDefinitions: - basicAuth: - type: basic - description: HTTP Basic Authentication - apiKey: - name: Cookie - type: apiKey - in: header -# Security schemes applied for the API as a whole -security: -- apiKey: [] -# will be prefixed to all paths -basePath: / -produces: -- application/json - -# TAGS -tags: - - name: Attachment - description: Work with attachments - - name: Authentication - description: Work with authentication - - name: Database - description: Work with databases - - name: Document - description: Work with documents - - name: 'Document (local)' - description: Work with local documents - - name: Server - description: Work with the server - - name: Session - description: Work with sessions -################################################################################ -# Parameters # -################################################################################ -parameters: - access: - name: access - in: query - description: Indicates whether to include in the response a list of what access this document grants (i.e. which users it allows to access which channels.) This option may only be used from the admin port. - type: boolean - default: false - active_only: - name: active_only - in: query - description: Default is false. When true, the changes response doesn't include either deleted documents, or notification for documents that the user no longer has access to. - type: boolean - default: false - attachment: - in: path - name: attachment - description: Attachment name. This value must be URL encoded. For example, if the attachment name is `blob_/avatar`, the path component passed to the URL should be `blob_%2Favatar` (tested with [URLEncoder](https://www.urlencoder.org/)). - type: string - required: true - attachments: - in: query - name: attachments - description: Default is false. Include attachment bodies in response. - type: boolean - default: false - atts_since: - name: atts_since - in: query - description: Include attachments only since specified revisions. Does not include attachments for specified revisions. - type: array - items: - type: string - required: false - body: - name: body - in: body - description: The request body - schema: - type: string - format: binary - bulkget: - in: body - name: BulkGetBody - description: List of documents being requested. Each array element is an object that must contain an id property giving the document ID. It may contain a rev property if a specific revision is desired. It may contain an atts_since property (as in a single-document GET) to limit which attachments are sent. - schema: - type: object - properties: - docs: - type: array - items: - type: object - properties: - id: - type: string - description: Document ID. - channels: - in: query - name: channels - description: Indicates whether to include in the response a channels property containing an array of channels this document is assigned to. (Channels not accessible by the user making the request will not be listed.) - type: boolean - default: false - channels_list: - in: query - name: channels - description: A comma-separated list of channel names. The response will be filtered to only documents in these channels. (This parameter must be used with the sync_gateway/bychannel filter parameter; see below.) - type: string - required: false - content_type: - in: header - name: Content-Type - description: Attachment Content-Type - type: string - db: - name: db - in: path - description: Database name - type: string - required: true - ddoc: - name: ddoc - in: path - description: Design document name - type: string - required: true - descending: - name: descending - in: query - description: Default is false. Return documents in descending order. - type: boolean - required: false - doc: - name: doc - in: path - description: Document ID - type: string - required: true - doc_ids: - in: query - name: doc_ids - description: A list of document IDs as a valid JSON array. The response will be filtered to only documents with these IDs. This parameter must be used with the `filter=_doc_ids` and `feed=normal` parameters. - type: array - items: - type: string - endkey: - name: endkey - in: query - description: If this parameter is provided, stop returning records when the specified key is reached. - type: string - required: false - feed: - in: query - name: feed - description: Default is 'normal'. Specifies type of change feed. Valid values are normal, continuous, longpoll, websocket. - type: string - default: 'normal' - group: - in: query - name: group - description: Group the results using the reduce function to a group or single row. - type: boolean - default: false - group_level: - in: query - name: group_level - description: Specify the group level to be used. - type: integer - required: false - heartbeat: - in: query - name: heartbeat - description: |+ - The `heartbeat` defines the interval (in milliseconds) at which an empty line (CRLF) is written to the response. It helps prevent Sync Gateway from deciding the socket is idle and closing it. - - The `heartbeat` value overrides any `timeout` value, to keep the feed alive indefinitely. - - Setting `heartbeat=0` results in no heartbeat. - - **Default:** 0, which is no heartbeat - - **Constraints:** - - - Applies ONLY where `feed=longpoll` or `feed=continuous`. - - - Minimum: 25000 (25 seconds) - - - Maximum: None -- unless you define one in your configuration file using `MaxHeartbeat` - - type: integer - default: 0 - include_docs: - in: query - name: include_docs - description: Default is false. Indicates whether to include the associated document with each result. If there are conflicts, only the winning revision is returned. - type: boolean - default: false - keys: - in: query - name: keys - description: Specify a list of document IDs. - type: array - items: - type: string - required: false - limit: - in: query - name: limit - description: Limits the number of result rows to the specified value. Using a value of 0 has the same effect as the value 1. - type: integer - local_doc: - in: path - name: local_doc - description: Local document IDs begin with _local/. - type: string - required: true - new_edits: - name: new_edits - in: query - description: Default is true. Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. (This mode is used by the replicato.) This option must be used in conjunction with the `_revisions` property in the request body. - type: boolean - default: true - open_revs: - name: open_revs - in: query - description: | - Option to fetch specified revisions of the document. The value can be `all` to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only [leaf revision](glossary.html) bodies that haven't been pruned are guaranteed to be returned. - - If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object. - type: array - items: - type: string - required: false - rev: - name: rev - in: query - description: Revision identifier of the parent revision the new one should replace. (Not used when creating a new document.) - type: string - required: false - rev_get: - name: rev - in: query - description: Revision identifier of the revision to get. By default, Sync Gateway returns the current revision. This parameter is generally only needed for conflict resolution. For example where the app might need to retrieve a conflicting leaf revision that isn't the current revision. - type: string - required: false - rev_put: - name: rev - in: query - description: Revision identifier of the revision to update. It must be the last revision in the history. - type: string - required: true - rev_delete: - name: rev - in: query - description: Revision identifier of the revision to delete. It must be the identifier of the latest revision in the history. - type: string - required: true - revs: - in: query - name: revs - description: Default is false. Indicates whether to include a _revisions property for each document in the response, which contains a revision history of the document. The length of the returned revision tree can be specified with the `revs_limit` querystring parameter. - type: boolean - default: false - role: - in: body - name: role - description: The message body is a JSON document that contains the following objects. - schema: - type: object - properties: - name: - type: string - description: Name of the role that will be created - admin_channels: - type: array - description: Array of channel names to give the role access to - items: - type: string - sessionid: - name: sessionid - in: path - description: Session id - type: string - required: true - startkey: - name: startkey - in: query - description: Returns records starting with the specified key. - type: string - required: false - since: - in: query - name: since - description: Starts the results from the change immediately after the given sequence ID. Sequence IDs should be considered opaque; they come from the last_seq property of a prior response. - type: string - required: false - style: - in: query - name: style - description: Default is 'main_only'. Number of revisions to return in the changes array. main_only returns the current winning revision, all_docs returns all leaf revisions including conflicts and deleted former conflicts. - type: string - default: 'main_only' - timeout: - in: query - name: timeout - type: integer - default: 300000 - description: |+ - The `timeout` value defines the maximum period (in milliseconds) to wait for a change, before sending a response. This wait applies even when there are no results. - - Setting `timeout=0` results in no timeout. - - **Default:** 300000 (5 minutes/300 seconds) - - **Constraints:** - - - Applies ONLY where `feed=longpoll` or `feed=continuous`. - - - Minimum: 0, no timeout - - - Maximum: 1500000 (15 minutes) - - update_seq: - in: query - name: update_seq - description: Default is false. Indicates whether to include the update_seq (document sequence ID) property in the response. - type: boolean - default: false - view: - name: view - in: path - description: View name - type: string - required: true - bulkdocs: - in: body - name: BulkDocsBody - description: The request body - schema: - properties: - docs: - description: List containing new or updated documents. Each object in the array can contain the following properties _id, _rev, _deleted, and values for new and updated documents. - type: array - items: - type: object - $ref: '#/definitions/Document' - new_edits: - description: Indicates whether to assign new revision identifiers to new edits. - type: boolean - default: true - batch: - in: query - name: batch - description: Stores the document in batch mode. To use, set the value to ok. - type: string - required: false - changes_body: - in: body - name: ChangesBody - description: The request body - schema: - properties: - limit: - description: Limits the number of result rows to the specified value. Using a value of 0 has the same effect as the value 1. - type: integer - style: - description: Default is 'main_only'. Number of revisions to return in the changes array. The only possible value is all_docs and it returns all leaf revisions including conflicts and deleted former conflicts. - type: string - default: 'main_only' - active_only: - description: Default is false. When true, the changes response doesn't include either deleted documents, or notification for documents that the user no longer has access to. - type: boolean - default: false - include_docs: - description: Default is false. Indicates whether to include the associated document with each result. If there are conflicts, only the winning revision is returned. - type: boolean - default: false - filter: - description: Indicates that the returned documents should be filtered. The valid values are sync_gateway/bychannel and _doc_ids. - type: string - channels: - description: A comma-separated list of channel names. The response will be filtered to only documents in these channels. (This parameter must be used with the sync_gateway/bychannel filter parameter; see below.) - type: string - doc_ids: - description: A list of document IDs as a valid JSON array. The response will be filtered to only documents with these IDs. (This parameter must be used with the _doc_ids filter parameter; see below.) - type: array - items: - type: string - feed: - description: Default is 'normal'. Specifies type of change feed. Valid values are normal, continuous, longpoll, websocket. - type: string - default: 'normal' - since: - description: Starts the results from the change immediately after the given sequence ID. Sequence IDs should be considered opaque; they come from the last_seq property of a prior response. - type: object - heartbeat: - description: |+ - The `heartbeat` defines the interval (in milliseconds) at which an empty line (CRLF) is written to the response. It helps prevent Sync Gateway from deciding the socket is idle and closing it. - - The `heartbeat` value overrides any `timeout` value, to keep the feed alive indefinitely. - - Setting `heartbeat=0` results in no heartbeat. - - **Default:** 0, which is no heartbeat - - **Constraints:** - - - Applies ONLY where `feed=longpoll` or `feed=continuous` - - - Minimum: 25000 (25 seconds) - - - Maximum: None -- unless you define one in your configuration file using `MaxHeartbeat` - - type: integer - default: 0 - timeout: - type: integer - default: 300000 - description: |+ - The `timeout` value defines the maximum period (in milliseconds) to wait for a change, before sending a response. This wait applies even when there are no results. - - Setting `timeout=0` results in no timeout. - - **Default:** 300000 (5 minutes/300 seconds) - - **Constraints:** - - - Applies ONLY where `feed=longpoll` or `feed=continuous` - - - Minimum: 0, no timeout - - - Maximum: 1500000 (15 minutes) - - - filter: - in: query - name: filter - description: Indicates that the reported documents should be filtered. The valid values are sync_gateway/bychannel and _doc_ids. - type: string - required: false - logtags: - in: body - name: body - description: Log keys to enable or disable. - schema: - type: object - properties: - '*': - type: boolean - description: Enabling log key "*" enables all logging tags automatically - Access: - type: boolean - description: access() calls made by the sync function - Attach: - type: boolean - description: Attachment processing - Auth: - type: boolean - description: Authentication - Bucket: - type: boolean - description: Sync Gateway interactions with the bucket (verbose logging). - Cache: - type: boolean - description: Interactions with Sync Gateway's in-memory channel cache (Cache+ for verbose logging) - Changes: - type: boolean - description: Processing of _changes requests (Changes+ for verbose logging) - CRUD: - type: boolean - description: Updates made by Sync Gateway to documents (CRUD+ for verbose logging) - DCP: - type: boolean - description: DCP-feed processing (verbose logging) - Events: - type: boolean - description: Event processing (webhooks) (Events+ for verbose logging) - Feed: - type: boolean - description: Server-feed processing (Feed+ for verbose logging) - HTTP: - type: boolean - description: All requests made to the Sync Gateway REST APIs (Sync and Admin). Note that the log keyword HTTP is always enabled, which means that HTTP requests and error responses are always logged (in a non-verbose manner). HTTP+ provides more verbose HTTP logging. - loglevel: - in: query - name: level - description: | - Verbosity of the logging. The default value is 1 which is regular logging. level=2 enables warnings and - panics logging and level=3 will log panics only. - type: integer - name: - in: path - name: name - description: User's name - type: string - required: true - replication: - in: body - name: ReplicationBody - description: The request message body is a JSON document that contains the following objects. - schema: - type: object - properties: - create_target: - type: boolean - description: Indicates whether to create the target database - source: - type: string - description: Identifies the database to copy revisions from. Can be a string containing a local database name or a remote database URL, or an object whose url property contains the database name or URL. Also an object can contain headers property that contains custom header values such as a cookie. - target: - type: string - description: Identifies the database to copy revisions to. Same format and interpretation as source. - continuous: - type: boolean - description: Specifies whether the replication should be in continuous mode. - filter: - type: string - description: Indicates that the documents should be filtered using the specified filter function name. A common value used when replicating from Sync Gateway is sync_gateway/bychannel to limit the pull replication to a set of channels. - query_params: - type: object - description: A set of key/value pairs to use in the querystring of the replication. For example, the channels field can be used to pull from a set of channels (in this particular case, the filter key must be set for the channels field to work as expected). - replication_id: - type: string - description: If the cancel parameter is true then this is the id of the active replication task to be cancelled, otherwise this is the replication_id to be used for the new replication. If no replication_id is given for a new replication it will be assigned a random UUID. - cancel: - type: boolean - description: Indicates that a running replication task should be cancelled, the running task is identified by passing its replication_id or by passing the original source and target values. - changes_feed_limit: - type: integer - description: The maximum number of change entries to pull in each loop of a continuous changes feed. - default: 50 - revs_limit: - in: query - name: revs_limit - description: The number of revisions to include in the response from the document history. This parameter is only honoured if the `revs=true` querystring parameter is also sent in the request. If `revs=true` is specified and `revs_limit` isn't, the full revision history is returned. - type: integer - required: false - show_exp: - in: query - name: show_exp - description: Whether to show the _exp property in the response. - type: boolean - default: false - required: false - user: - in: body - name: body - description: Request body - schema: - type: object - properties: - name: - type: string - description: Name of the user that will be created - password: - type: string - description: Password of the user that will be created. Required, unless the `allow_empty_password` Sync Gateway per-database configuration value is set to true, in which case the password can be omitted. All active sessions for the user are invalidated when the password is changed. - admin_channels: - type: array - description: Array of channel names to give the user access to - items: - type: string - description: Channel name - admin_roles: - type: array - description: Array of role names to assign to this user - items: - type: string - description: Role name - email: - type: string - description: Email of the user that will be created. - disabled: - type: boolean - description: Boolean property to disable this user. The user will not be able to login if this property is set to true. -################################################################################ -# Paths # -################################################################################ -paths: - /{db}/{doc}/{attachment}: - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - - $ref: '#/parameters/attachment' - get: - operationId: GetAttachment - tags: - - Attachment - summary: Get Specific Attachment - description: |+ - This request retrieves a file attachment associated with the document. - The raw data of the associated attachment is returned (just as if you were accessing a static file). - The Content-Type response header is the same content type set when the document attachment was added to the database. - - To remove an attachment from a document, simply update the `_attachments` dictionary of the document in the PUT `/{db}/{id}` request. - From then on, the attachment will not be replicated but will still reside in the Couchbase Server bucket (see open ticket [#1648](https://github.com/couchbase/sync_gateway/issues/1648)). - parameters: - - $ref: '#/parameters/rev' - responses: - 200: - description: The message body contains the attachment, in the format specified in the Content-Type header. - schema: - type: string - format: binary - 304: - description: Not Modified, the attachment wasn't modified if ETag equals the If-None-Match header - 404: - description: Not Found, the specified database, document or attachment was not found. - put: - operationId: UpdateAttachment - tags: - - Attachment - summary: Create or Update Specific Attachment - description: |+ - This request adds or updates the supplied request content as an attachment to the specified document, the maximum content size of an attachment is 20MB. - The attachment name must be a URL-encoded string (the file name). - You must also supply either the rev query parameter or the If-Match HTTP header for validation, and the Content-Type headers (to set the attachment content type). - - When uploading an attachment using an existing attachment name, the corresponding stored content of the database will be updated. Because you must supply the revision information to add an attachment to the document, this serves as validation to update the existing attachment. - - Uploading an attachment updates the corresponding document revision. - Revisions are tracked for the parent document, not individual attachments. - - To remove an attachment from a document, simply update the `_attachments` dictionary of the document in the PUT `/{db}/{id}` request. - From then on, the attachment will not be replicated but will still reside in the Couchbase Server bucket (see open ticket [#1648](https://github.com/couchbase/sync_gateway/issues/1648)). - parameters: - - $ref: '#/parameters/rev' - - $ref: '#/parameters/body' - - $ref: '#/parameters/content_type' - responses: - 200: - description: Operation completed successfully - schema: - $ref: '#/definitions/Success' - 409: - description: Conflict, the document revision wasn't specified or it's not the latest. - /{db}/_bulk_docs: - parameters: - - $ref: '#/parameters/db' - post: - operationId: UpdateDocsInBulk - tags: - - Database - summary: Create, Update or Delete Bulk docs - description: | - This request enables you to add, update, or delete multiple documents to a database in a single request. To add new documents, you can either specify the ID (`_id`) or let the software create an ID. To update existing documents, you must provide the document ID, revision identifier (`_rev`), and new document values. To delete existing documents you must provide the document ID, revision identifier, and the deletion flag (`_deleted`). - - The JSON returned by the `_bulk_docs` operation consists of an array of JSON structures, one for each document in the original submission. The returned JSON structure should be examined to ensure that all of the documents submitted in the original request were successfully added to the database. - parameters: - - $ref: '#/parameters/bulkdocs' - responses: - 201: - description: Documents have been created or updated. The response object is an array with the status for each document submitted in the original request. - schema: - type: array - items: - properties: - id: - type: string - description: Design document identifier - rev: - type: string - description: Revision identifier - - 409: - description: The operation failed with a forbidden error. Probably because the document already exists in the database but a revision number wasn't specified. - schema: - $ref: '#/definitions/Forbidden' - /: - get: - operationId: GetServerInfo - tags: - - Server - summary: Get Server Data - description: | - Returns meta-information about the server. - responses: - 200: - description: Meta-information about the server. - schema: - $ref: '#/definitions/ServerData_model' - /{db}/_bulk_get: - parameters: - - $ref: '#/parameters/db' - post: - operationId: GetDocsInBulk - tags: - - Database - summary: Get Bulk Documents - description: |+ - This request returns any number of documents, as individual bodies in a MIME multipart response. - - Each enclosed body contains one requested document. - The bodies appear in the same order as in the request, but can also be identified by their X-Doc-ID and X-Rev-ID headers. - A body for a document with no attachments will have content type application/json and contain the document itself. - A body for a document that has attachments will be written as a nested multipart/related body. - Its first part will be the document's JSON, and the subsequent parts will be the attachments (each identified by a Content-Disposition header giving its attachment name.) - produces: - - 'multipart/mixed' - parameters: - - $ref: '#/parameters/revs' - - $ref: '#/parameters/revs_limit' - - $ref: '#/parameters/attachments' - - $ref: '#/parameters/bulkget' - responses: - 200: - description: Request completed successfully - examples: - multipart/mixed (document found): | - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - Content-Type: application/json - - {"_id":"doc123","_rev":"1-c543d6514c609f65180f94af247aaffe","hello":"world!"} - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - multipart/mixed (document not found): | - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - Content-Type: application/json; error="true" - - {"error":"not_found","id":"doc1234","reason":"missing","status":404} - --1cba224ff2aa106566e3ab65de9c861c24558ba368f8cd7f6fcde53b88f4 - 301: - description: Request failed with a forbidden error. This usually happens because the user requesting that document doesn't have access to it. Access to documents is granted to users through channels. - schema: - type: object - properties: - _id: - type: string - description: The document ID that was requested - _removed: - type: boolean - default: true - _rev: - type: string - description: The revision number that was requested - /{db}/_local/{local_doc}: - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/local_doc' - get: - operationId: GetLocalDoc - tags: - - 'Document (local)' - summary: Get Specific Local Document - description: |+ - This request retrieves a local document. - - Local document IDs begin with _local/. - Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. - - In practice local documents mostly used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - responses: - 200: - description: The message body contains the following objects in a JSON document. - schema: - $ref: '#/definitions/Success' - put: - operationId: AddOrUpdateLocalDoc - tags: - - 'Document (local)' - summary: Create or Update a Local Document - description: |+ - This request creates or updates a local document. - - Local document IDs begin with _local/. - Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. - - In practice they are almost only used by the client's replicator, as a place to store replication checkpoint data. - responses: - 201: - description: Created - schema: - $ref: '#/definitions/Success' - delete: - operationId: DeleteLocalDoc - tags: - - 'Document (local)' - summary: Delete Specific Local Document - description: |+ - This request deletes a local document. - - Local document IDs begin with _local/. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. - In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - parameters: - - $ref: '#/parameters/rev' - - $ref: '#/parameters/batch' - responses: - 200: - description: Document successfully removed - schema: - $ref: '#/definitions/Success' - /{db}/_changes: - parameters: - - $ref: '#/parameters/db' - get: - operationId: GetChanges - tags: - - Database - parameters: - - $ref: '#/parameters/limit' - - $ref: '#/parameters/style' - - $ref: '#/parameters/active_only' - - $ref: '#/parameters/include_docs' - - $ref: '#/parameters/filter' - - $ref: '#/parameters/channels_list' - - $ref: '#/parameters/doc_ids' - - $ref: '#/parameters/feed' - - $ref: '#/parameters/since' - - $ref: '#/parameters/heartbeat' - - $ref: '#/parameters/timeout' - summary: Get Changes Feed (query parameters) - description: |+ - This request retrieves a sorted list of changes made to documents in the database, in time order of application. - - Each document appears at most once, ordered by its most recent change, regardless of how many times it's been changed. - This request can be used to listen for update and modifications to the database for post processing or synchronization. - A continuously connected changes feed is a reasonable approach for generating a real-time log for most applications. - responses: - 200: - description: Request completed successfully - schema: - $ref: '#/definitions/Changes' - post: - operationId: GetChangesWithParametersInBody - tags: - - Database - parameters: - - $ref: '#/parameters/changes_body' - summary: Get Changes Feed (body parameters) - description: | - Same as the GET /_changes request except the parameters are in the JSON body. - responses: - 200: - description: Request completed successfully - schema: - $ref: '#/definitions/Changes' - /{db}/{doc}: - parameters: - - $ref: '#/parameters/db' - - $ref: '#/parameters/doc' - get: - operationId: GetDocument - tags: - - Document - parameters: - - $ref: '#/parameters/rev_get' - - $ref: '#/parameters/attachments' - - $ref: '#/parameters/atts_since' - - $ref: '#/parameters/open_revs' - - $ref: '#/parameters/revs' - - $ref: '#/parameters/show_exp' - summary: Get Specific Document - description: This request retrieves a document from a database. - responses: - 200: - description: The message body contains the following objects in a JSON document. - schema: - type: object - put: - operationId: AddOrUpdateDocument - tags: - - Document - parameters: - - in: body - name: Document - description: Request body - schema: - $ref: '#/definitions/Document' - - $ref: '#/parameters/new_edits' - - $ref: '#/parameters/rev_put' - summary: Create or Update Specific Document - description: |+ - This request creates a new document or creates a new revision of an existing document. - It enables you to specify the identifier for a new document rather than letting the software create an identifier. - - If you want to create a new document and let the software create an identifier, use the POST /db request. - - If the document specified by doc does not exist, a new document is created and assigned the identifier specified in doc. - If the document already exists, the document is updated with the JSON document in the message body and given a new revision. - The maximum size allowed for a document is 20MB. - - Since Sync Gateway 1.3, an expiry property (`_exp`) can also be specified to purge the document after a given time. - If **convergence** is enabled (introduced in Sync Gateway 1.5), the behavior of the expiry feature changes in the following way: when the expiry value is reached, instead of getting purged, the **active** revision of the document is tombstoned. - If there is another non-tombstoned revision for this document (i.e a conflict) it will become the active revision. - The tombstoned revision will be purged when the server's metadata purge interval is reached. - responses: - 200: - description: The response is a JSON document that contains the following objects - schema: - $ref: '#/definitions/Success' - delete: - operationId: DeleteDocument - tags: - - Document - parameters: - - $ref: '#/parameters/rev_delete' - summary: Delete Specific Document - description: |+ - This request deletes a document from the database. - - When a document is deleted, the revision number is updated so the database can track the deletion in synchronized copies. - responses: - 200: - description: Document successfully removed - schema: - $ref: '#/definitions/Success' - /{db}/_all_docs: - parameters: - - $ref: '#/parameters/db' - get: - operationId: GetAllDocs - tags: - - Database - summary: Get All Docs - description: |+ - This request returns a built-in view of all the documents in the database. - parameters: - - $ref: '#/parameters/access' - - $ref: '#/parameters/channels' - - $ref: '#/parameters/include_docs' - - $ref: '#/parameters/revs' - - $ref: '#/parameters/update_seq' - - $ref: '#/parameters/limit' - - $ref: '#/parameters/keys' - - $ref: '#/parameters/startkey' - - $ref: '#/parameters/endkey' - responses: - 200: - description: Query results - schema: - $ref: '#/definitions/QueryResult' - post: - operationId: GetAllDocsWithParametersInBody - tags: - - Database - summary: Get All Specified Documents - description: | - This request retrieves specified documents from the database. - parameters: - - $ref: '#/parameters/access' - - $ref: '#/parameters/channels' - - $ref: '#/parameters/include_docs' - - $ref: '#/parameters/revs' - - $ref: '#/parameters/update_seq' - - in: body - name: body - description: Request body - schema: - $ref: '#/definitions/AllDocs' - responses: - 200: - description: Query results - schema: - $ref: '#/definitions/QueryResult' - /{db}/_oidc: - parameters: - - $ref: '#/parameters/db' - get: - operationId: GetOpenID - tags: - - Authentication - summary: OpenID Connect Authentication. - description: | - Called by clients to initiate the OIDC Authorization Code flow. - parameters: - - in: query - name: offline - description: When true, requests a refresh token from the OP. Sets access_type=offline and prompt=consent on the redirect to the OP. Secure clients should set offline=true and persist the returned refresh token to secure storage. - type: boolean - required: false - - in: query - name: provider - description: OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 302: - description: Redirect to the requested OpenID Connect provider for authentication. Redirect link is returned in the Location header. - 400: - description: Bad request. Reason is returned as "OpenID Connect not configured for database default". If a provider was specified in the request, that provider was not defined in the Sync Gateway config. If no provider was specified, OpenID Connect is not configured in the Sync Gateway config. - 500: - description: Server Error. Sync Gateway is unable to connect and validate the OpenID Connect provider requested. - /{db}/_oidc_callback: - parameters: - - $ref: '#/parameters/db' - get: - operationId: GetOpenIDAuthCallBack - tags: - - Authentication - summary: Get OIDC Callback. - description: | - Sync Gateway callback URL that clients are redirected to by the OpenID Connect provider. - parameters: - - in: query - name: code - description: OpenID Connect Authorization code. - type: string - required: true - - in: query - name: provider - description: OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 200: - description: Successful OpenID Connect authentication. - schema: - type: object - properties: - id_token: - type: string - description: OpenID Connect ID token - refresh_token: - type: string - description: OpenID Connect refresh token - session_id: - type: string - description: Sync Gateway session token - name: - type: string - description: Sync Gateway username - access_token: - type: string - description: OpenID Connect access token - token_type: - type: string - description: OpenID Connect token type - expires_in: - type: number - description: TTL for id_token - 400: - description: Bad request. - 401: - description: Authentication failed. Reason returned in the response body. - /{db}/_oidc_challenge: - parameters: - - $ref: '#/parameters/db' - get: - operationId: GetOpenIDAuth - tags: - - Authentication - summary: Get OIDC Authentication. - description: | - Called by clients to initiate the OIDC Authorization Code flow. - parameters: - - in: query - name: offline - description: |+ - When true, requests a refresh token from the OP. - Sets access_type=offline and prompt=consent on the redirect to the OP. - Secure clients should set offline=true and persist the returned refresh token to secure storage. - type: boolean - required: false - - in: query - name: provider - description: |+ - OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. - If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 302: - description: Redirect to the requested OpenID Connect provider for authentication. Redirect link is returned in the Location header. - 400: - description: Bad request. Reason is returned as "OpenID Connect not configured for database default". If a provider was specified in the request, that provider was not defined in the Sync Gateway config. If no provider was specified, OpenID Connect is not configured in the Sync Gateway config. - 500: - description: Server Error. Sync Gateway is unable to connect and validate the OpenID Connect provider requested. - /{db}/_oidc_refresh: - parameters: - - $ref: '#/parameters/db' - get: - operationId: GetOpenIDRefreshToken - tags: - - Authentication - summary: Get OIDC Refresh. - description: | - Used to obtain a new OpenID Connect ID token based on the provided refresh token. - parameters: - - in: query - name: refresh_token - description: OpenID Connect refresh token. - type: string - required: true - - in: query - name: provider - description: OpenId Connect provider to be used for authentication, from the list of providers defined in the Sync Gateway Config. If not specified, will attempt to authenticate using the default provider. - type: string - required: false - responses: - 200: - description: Successful OpenID Connect authentication. - schema: - type: object - properties: - id_token: - type: string - description: OpenID Connect ID token - session_id: - type: string - description: Sync Gateway session token - name: - type: string - description: Sync Gateway username - access_token: - type: string - description: OpenID Connect access token - token_type: - type: string - description: OpenID Connect token type - expires_in: - type: number - description: TTL for id_token - 400: - description: Bad request. - 401: - description: Authentication failed. Unable to refresh token. - /{db}/_facebook: - parameters: - - $ref: '#/parameters/db' - post: - operationId: AuthenticationViaFacebook - tags: - - Authentication - summary: Get Facebook Authenticated Session - description: |+ - Sync Gateway allows users to authenticate using a Facebook account. - - Your application is responsible for generating a Facebook token; this generally needs to be done by running the Facebook login flow inside a web-view and capturing the generated token. - This endpoint can be used to check the validity of the access token. - To allow Facebook Login with Sync Gateway, it must be explicitly enabled in the Sync Gateway configuration file by setting the [facebook.register](config-properties.html#facebook-register) property to `true`. - parameters: - - in: body - name: body - description: Request body - schema: - type: object - properties: - access_token: - type: string - description: The access token for the user to authenticate - responses: - 200: - description: Session successfully created. The Set-Cookie response header contains the session credentials. - schema: - $ref: '#/definitions/Session' - 401: - #name: Unauthorized - description: Facebook verification server status - 502: - #name: Bad Gateway - description: Invalid response from Facebook verifier - /{db}/_google: - parameters: - - $ref: '#/parameters/db' - post: - operationId: AuthenticationViaGoogle - tags: - - Authentication - summary: Get Google Authenticated Session - description: |+ - Sync Gateway allows users to authenticate using a Google account. - - Your application is responsible for generating a Google token; this generally needs to be done by running the Google login flow inside a web-view and capturing the generated token. - This endpoint can be used to check the validity of the access token. - To allow Google Login with Sync Gateway, it must be explicitly enabled in the Sync Gateway configuration file by setting the [google.register](config-properties.html#google-register) property to `true` and setting the [google.app_client_id](config-properties.html#google-app_client_id) property with a Google app client ID. - parameters: - - in: body - name: body - description: Request body - schema: - type: object - properties: - id_token: - type: string - description: The access token for the user to authenticate - responses: - 200: - description: Session successfully created. The Set-Cookie response header contains the session credentials. - schema: - $ref: '#/definitions/Session' - 401: - #name: Unauthorized - description: Returns the Google response's ErrorDescription - 502: - #name: Bad Gateway - description: Invalid response from Google token verifier - /{db}/_revs_diff: - parameters: - - $ref: '#/parameters/db' - post: - operationId: GetRevisionIds - tags: - - Database - summary: Get Revision ID Diff - description: Given a set of document/revision IDs, returns the subset of those that do not correspond to revisions stored in the database. - parameters: - - in: body - name: body - description: Request body - schema: - description: A dictionary with document IDs as keys. - type: object - additionalProperties: - description: An array of revision IDs for that document. - type: array - items: - type: string - responses: - 200: - description: The request was successful - schema: - description: A dictionary with document IDs as keys. - type: object - additionalProperties: - type: object - properties: - missing: - type: array - description: A list of revision IDs for that document (the ones that are not stored in the database). - items: - type: string - /{db}/: - parameters: - - $ref: '#/parameters/db' - get: - operationId: GetDatabaseInfo - tags: - - Database - summary: Get Database Data - description: | - This request retrieves information about the database. - responses: - 200: - description: Request completed successfully. - schema: - $ref: '#/definitions/Database' - 401: - description: Unauthorized. Login required. - 404: - description: Not Found. Requested database not found. - post: - operationId: AddDocument - tags: - - Document - summary: Create New Document - description: | - This request creates a new document in the specified database. - - You can either specify the document ID by including the _id in the request message body (the value must be a string), or let the software generate an ID. - - The maximum size allowed for a document is 20MB. - parameters: - - in: body - name: body - description: The document body - schema: - type: object - responses: - 201: - description: The document was written successfully - schema: - $ref: '#/definitions/Success' - /{db}/_session: - parameters: - - $ref: '#/parameters/db' - post: - operationId: AddUserSession - tags: - - Session - summary: Create User Session - description: |+ - If the credentials provided in the request body are valid, the session is created with an idle session timeout of 24 hours. - - An idle session timeout in the context of Sync Gateway is defined as the following: if 10% or more of the current expiration time has elapsed when a subsequent request with that session id is processed, the session's expiry time is automatically updated to 24 hours from that time. - parameters: - - in: body - name: SessionBody - description: The message body is a JSON document that contains the following objects. - schema: - type: object - properties: - name: - type: string - description: Username of the user the session will be associated to. - password: - type: string - description: User password. - responses: - 200: - description: Session successfully created. The Set-Cookie response header contains the session credentials. - schema: - $ref: '#/definitions/Session' - delete: - operationId: DeleteUserSession - tags: - - Session - summary: Delete User Session - description: | - This request deletes the session that currently authenticates the requests. - parameters: - - in: header - name: cookie - description: The cookie of the logged-in session. - type: string - responses: - 200: - description: The session was successfully removed. -################################################################################ -# Definitions # -################################################################################ -definitions: - DocumentResponse: - type: object - properties: - _id: - type: string - description: Document identifier - _rev: - type: string - description: Revision identifier - Error: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - fields: - type: string - ExpVars: - type: object - properties: - cmdline: - type: object - description: Built-in variables from the Go runtime, lists the command-line arguments - memstats: - type: object - description: Dumps a large amount of information about the memory heap and garbage collector - cb: - type: object - description: Variables reported by the Couchbase SDK (go_couchbase package) - mc: - type: object - description: Variables reported by the low-level memcached API (gomemcached package) - syncGateway_changeCache: - type: object - properties: - maxPending: - type: object - description: Max number of sequences waiting on a missing earlier sequence number - lag-tap-0000ms: - type: object - description: Histogram of delay from doc save till it shows up in Tap feed - lag-queue-0000ms: - type: object - description: Histogram of delay from Tap feed till doc is posted to changes feed - lag-total-0000ms: - type: object - description: Histogram of total delay from doc save till posted to changes feed - outOfOrder: - type: object - description: Number of out-of-order sequences posted - view_queries: - type: object - description: Number of queries to channels view - syncGateway_db: - type: object - properties: - channelChangesFeeds: - type: object - description: Number of calls to db.changesFeed, i.e. generating a changes feed for a single channel. - channelLogAdds: - type: object - description: Number of entries added to channel logs - channelLogAppends: - type: object - description: Number of times entries were written to channel logs using an APPEND operation - channelLogCacheHits: - type: object - description: Number of requests for channel-logs that were fulfilled from the in-memory cache - channelLogRewrites: - type: object - description: Number of times entries were written to channel logs using a SET operation (rewriting the entire log) - channelLogRewriteCollisions: - type: object - description: Number of collisions while attempting to rewrite channel logs using SET - document_gets: - type: object - description: Number of times a document was read from the database - revisionCache_adds: - type: object - description: Number of revisions added to the revision cache - revisionCache_hits: - type: object - description: Number of times a revision-cache lookup succeeded - revisionCache_misses: - type: object - description: Number of times a revision-cache lookup failed - revs_added: - type: object - description: Number of revisions added to the database (including deletions) - sequence_gets: - type: object - description: Number of times the database's lastSequence was read - sequence_reserves: - type: object - description: Number of times the database's lastSequence was incremented - Forbidden: - type: object - properties: - error: - type: string - default: conflict - id: - type: string - reason: - type: string - status: - type: integer - default: 409 - LogTags: - type: object - properties: - Access: - type: boolean - description: access() calls made by the sync function - Attach: - type: boolean - description: Attachment processing - Auth: - type: boolean - description: Authentication - Bucket: - type: boolean - description: Sync Gateway interactions with the bucket (verbose logging). - Cache: - type: boolean - description: Interactions with Sync Gateway's in-memory channel cache (Cache+ for verbose logging) - Changes: - type: boolean - description: Processing of _changes requests (Changes+ for verbose logging) - CRUD: - type: boolean - description: Updates made by Sync Gateway to documents (CRUD+ for verbose logging) - DCP: - type: boolean - description: DCP-feed processing (verbose logging) - Events: - type: boolean - description: Event processing (webhooks) (Events+ for verbose logging) - Feed: - type: boolean - description: Server-feed processing (Feed+ for verbose logging) - HTTP: - type: boolean - description: All requests made to the Sync Gateway REST APIs (Sync and Admin). Note that the log keyword HTTP is always enabled, which means that HTTP requests and error responses are always logged (in a non-verbose manner). HTTP+ provides more verbose HTTP logging. - PurgeBody: - type: object - description: Document ID - properties: - a_doc_id: - type: array - description: Only possible value is `["*"]`. It permanently removes all revisions for that document ID. - items: - type: string - description: Only possible value is `"*"`. It permanently removes all revisions for that document ID. - enum: ["*"] - Success: - type: object - properties: - id: - type: string - description: Design document identifier - rev: - type: string - description: Revision identifier - ok: - type: boolean - description: Indicates whether the operation was successful - User: - type: object - properties: - name: - type: string - description: Name of the user that will be created - password: - type: string - description: Password of the user that will be created. Required, unless the allow_empty_password Sync Gateway per-database configuration value is set to true, in which case the password can be omitted. - admin_channels: - type: array - description: Array of channel names to give the user access to - items: - type: string - description: Channel name - admin_roles: - type: array - description: Array of role names to assign to this user - items: - type: string - description: Role name - all_channels: - type: array - description: Array of channel names the user is given access to - items: - type: string - description: Channel name - email: - type: string - description: Email of the user that will be created. - disabled: - type: boolean - description: Boolean property to disable this user. The user will not be able to login if this property is set to true. - roles: - type: array - description: Array of role names the user is given access to - items: - type: string - description: Role name - ChangesFeedRow: - type: object - properties: - changes: - type: array - description: List of the document's leafs. Each leaf object contains one field, rev. - items: - type: object - properties: - rev: - type: string - description: Identifier of the document revision that changed. - id: - type: string - description: Document identifier - seq: - type: integer - description: Update sequence number - deleted: - type: boolean - description: Indicate whether the row is deleted - default: false - doc: - type: object - InvalidJSON: - description: The request provided invalid JSON data - View: - type: object - properties: - _rev: - type: string - description: Revision identifier of the parent revision the new one should replace. (Not used when creating a new document.) - views: - type: object - description: List of views to save on this design document. - properties: - my_view_name: - type: object - description: The view's map/reduce functions. - properties: - map: - type: string - description: Inline JavaScript definition for the map function - reduce: - type: string - description: Inline JavaScript definition for the reduce function - QueryRow: - type: object - properties: - id: - type: string - description: The ID of the document. - key: - type: object - description: The key in the output row. - value: - type: object - description: The value in the output row. - doc: - type: object - description: The document body. This is only returned if `include_docs=true` is specified in the URL. - Design: - type: object - properties: - offset: - type: integer - format: int32 - description: Position in pagination. - limit: - type: integer - format: int32 - description: Number of items to retrieve (100 max). - count: - type: integer - format: int32 - description: Total number of items available. - AllDocs: - type: object - properties: - keys: - type: array - description: List of identifiers of the documents to retrieve - items: - type: string - description: Document ID - Changes: - type: object - properties: - last_seq: - type: object - description: Last change sequence number - results: - type: array - description: List of changes to the database. See the following table for a list of fields in this object. - items: - $ref: '#/definitions/ChangesFeedRow' - Database: - type: object - properties: - db_name: - type: string - description: Name of the database - db_uuid: - type: integer - description: Database identifier - disk_format_version: - type: integer - description: Database schema version - disk_size: - type: integer - description: Total amount of data stored on the disk (in bytes) - instance_start_time: - type: string - description: Date and time the database was opened (in microseconds since 1 January 1970) - state: - type: string - description: The state of the specified database. Possible values are 'Online' and 'Offline'. A database can be taken offline and brought back online using the /{db}/_offline and /{db}/_online endpoints on the Admin REST API. - update_seq: - type: string - description: Number of updates to the database - Document: - type: object - properties: - _id: - type: string - description: The document ID. - _rev: - type: string - description: Revision identifier of the parent revision the new one should replace. (Not used when creating a new document.) - _exp: - type: string - description: | - Expiry time after which the document will be purged. The expiration time is set and managed on the Couchbase Server document (TTL is not supported for databases in walrus mode). The value can be specified in two ways; in ISO-8601 format, for example the 6th of July 2016 at 17:00 in the BST timezone would be 2016-07-06T17:00:00+01:00; it can also be specified as a numeric Couchbase Server expiry value. Couchbase Server expiries are specified as Unix time, and if the desired TTL is below 30 days then it can also represent an interval in seconds from the current time (for example, a value of 5 will remove the document 5 seconds after it is written to Couchbase Server). The document expiration time is returned in the response of GET /{db}/{doc} when show_exp=true is included in the querystring. - - As with the existing explicit purge mechanism, this applies only to the local database; it has nothing to do with replication. This expiration time is not propagated when the document is replicated. The purge of the document does not cause it to be deleted on any other database. - _revisions: - type: object - properties: - start: - type: integer - description: Prefix number for the latest revision. - ids: - type: array - description: Array of valid revision IDs, in reverse order (latest first). - items: - type: string - description: A revision ID. - _attachments: - type: object - properties: - attachment_name: - type: object - properties: - content_type: - type: string - description: The content type of the attachment. - QueryResult: - type: object - properties: - offset: - type: string - description: Starting index of the returned rows. - rows: - type: array - items: - $ref: '#/definitions/QueryRow' - total_rows: - type: integer - description: Number of documents in the database. This number is not the number of rows returned. - Replication: - type: object - properties: - ok: - type: boolean - description: Indicates whether the replication operation was successful - session_id: - type: string - description: Session identifier - ServerData_model: - type: object - properties: - couchdb: - type: string - description: Contains the string 'Welcome' (this is required for compatibility with CouchDB) - vendor/name: - type: string - description: The server type ('Couchbase Sync Gateway) - vendor/version: - type: string - description: The server version - version: - type: string - description: Sync Gateway version number - Session: - type: object - properties: - authentication_handlers: - type: array - description: List of authentication methods. - items: - type: string - ok: - type: boolean - description: Always true if the operation was successful. - userCtx: - $ref: '#/definitions/UserContext' - UserContext: - type: object - description: Context for this user. - properties: - channels: - type: object - description: Key-value pairs with a channel name as the key and the sequence number that granted the user access to the channel as value. `!` is the public channel and every user has access to it. - name: - type: string - description: The user's name. From 881bf498df454c398f79dafdf0832812b6d6661c Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 17:44:52 +0100 Subject: [PATCH 02/20] Remove unused models --- .../attachments/sg-Bootstrap_model.yaml | 1121 --------------- .../assets/attachments/sg-Database_model.yaml | 1260 ----------------- .../attachments/sg-Replication_model.yaml | 412 ------ .../attachments/sg-Role_and_User_model.yaml | 136 -- 4 files changed, 2929 deletions(-) delete mode 100644 modules/ROOT/assets/attachments/sg-Bootstrap_model.yaml delete mode 100644 modules/ROOT/assets/attachments/sg-Database_model.yaml delete mode 100644 modules/ROOT/assets/attachments/sg-Replication_model.yaml delete mode 100644 modules/ROOT/assets/attachments/sg-Role_and_User_model.yaml diff --git a/modules/ROOT/assets/attachments/sg-Bootstrap_model.yaml b/modules/ROOT/assets/attachments/sg-Bootstrap_model.yaml deleted file mode 100644 index e31101623..000000000 --- a/modules/ROOT/assets/attachments/sg-Bootstrap_model.yaml +++ /dev/null @@ -1,1121 +0,0 @@ -type: object -title: Bootstrap Configuration Model -description: 'Sync Gateway''s start-up configuration properties - - ' -properties: - bootstrap: - type: object - title: Bootstrap configuration - description: Define fundamental bootstrap related configuration properties - properties: - group_id: - type: string - default: default - description: 'The ID of the configuration group to which this node belongs. - - - ' - config_update_frequency: - type: string - default: 10s - description: 'Sets the interval between checks for new or updated configurations - made by other nodes in Couchbase Server - - - It is provided as string, which uses Go''s duration format (e.g: 1s = 1 - second, 5m = 5 minutes , 1h32m15s = 1 hour, 32 mins, 15 seconds) - - see: https://pkg.go.dev/time#ParseDuration - - - ' - server: - type: string - default: none - description: 'Sets the endpoint for the Couchbase Server holding (database) - configuration details. - - - The value of the *server* property specifies the Hostname(s) to the Couchbase - Server node(s) in the cluster. - - - Sync Gateway supports the ability to specify multiple hosts in the configuration. - - Sync Gateway supports both the `couchbase://` and `http://` schemes for - specifying connection endpoints. - - - Sync Gateway also supports *SSL* in the connection to Couchbase Server; - use the `couchbases://` scheme for this. - - As with the Couchbase Server SDKs, the `https://` scheme is **not** supported. - - - Examples of valid `server` values for *IPv4* include: - - - `couchbase://host1` - - - `couchbases://host1` - - - `couchbase://host1,host2` - - - `couchbase://host1:11210,host2,` - - - `couchbases://host1:11207,host2` - - - `http://host1:8091` - - - `http://host1,host2:8091` - - - `http://foo:bar@host1:8091` - - - Examples of valid `server` values for *IPv6* include: - - - `http://[2001:db8::8811]:8091` *// single node IPv6 - http scheme with - default server port* - - - `couchbases://[2001:db8::8811]` *// single node SSL IPv6 - default port - (omitted)* - - - `couchbase://[2001:db8::8811],[2001:db8::8822]:888` *// node1 default - port, node2 port 888* - - - As with the SDK, when using the `couchbase://` or `couchbases://` schemes, - the port is not required, but if specified should be the external/internal - bucket ports (defaults are 11210 or 11207 respectively). Attempting to use - the admin ports (8091/18091) will result in a startup error. - - - **Alternate Addresses** - - - On startup, Sync Gateway will try each hostname that is provided until it - is able to connect successfully. - - - By default, if a remote cluster has an external address set, then when SG - connects it will apply a heuristic to determine whether to choose between - external or default (internal) addresses. - - - The choice is based on the host names supplied in the connection string. - - - SG uses external networking only when none of the supplied host names - match any of Couchbase Server''s internal node addresses, and an external - address is defined. - - - In all other cases Sync Gateway uses the default (internal) networking. - - - However, it is possible to override this behavior by adding a `network` - parameter to the connection string. - - - The `network` parameter can be -- - - - auto - this is the default value if no parameter is provided. In this - case the heuristic described above is applied to determine the address used; - so effectively there is no override. - - - external - to always force use of the external address - - - default - to always force use of the internal address - - - For example: - - ```"server": "couchbases://my-cbs-server?network=default"``` - - - Will force the connection to ignore any alternative external addresses configured - on the Couchbase Server node. - - - **Lost Connections** - - - If the connection to Couchbase Server is lost during normal operations, - Sync Gateway will automatically re-connect to another node in the cluster. - During that re-connection period, the Sync Gateway will appear offline - - see [Taking Databases Offline](database-offline.html) - and documents will - not be replicated to mobile clients. - - - ' - username: - type: string - default: none - description: 'The username to be used when authenticating to the server. - - - ' - password: - type: string - default: none - description: 'The password to be used when authenticating to the server. - - - - ' - ca_cert_path: - type: string - title: Root CA cert path for TLS connection - description: 'Absolute or relative path on the filesystem to the root CA certificate - to verify the certificate chain and hostname of the Couchbase Server cluster. - - - Works in conjunction with `server_tls_skip_verify` to control whether system - root pool is used or not. - - Set this empty and `server_tls_skip_verify` true to avoid using system root - pool - - - ' - server_tls_skip_verify: - type: boolean - description: 'Defaults to `false`, which requires a valid CA Cert Path. - - Works in conjunction with `ca_cert_path` to control whether system root - pool is used or not. - - Set this true and `ca_cert_path` empty to allow, for example, self-signed - or un-trusted certificates. This will be the default of-of-the-box setting.' - x509_cert_path: - type: string - title: Cert path (public key) for X.509 bucket auth - description: 'Use x509_cert_path to define the absolute or relative path on - the filesystem to the x509 certificate. - - - Relative paths are relative to the directory containing the Sync Gateway - executable. - - - ' - x509_key_path: - type: string - title: Key path (private key) for X.509 bucket auth - description: 'Absolute or relative path on the filesystem to the X509 key. - - - Relative paths are relative to the directory containing the Sync Gateway - executable. - - - ' - use_tls_server: - type: boolean - default: true - description: 'Default to `true`, which forces the connection to Couchbase - Server to use TLS. - - - Use `use_tls_server` to enforce use of a secure scheme (for example, `couchbases://`) - to connect to Couchbase Server. - - - Set this `false` to use a non-secure scheme (for example with `couchbase://`). - - - If the scheme used does not match that indicated by the `use_tls_server` - value (for example, `couchbases://` with `use_tls_server` = `false`) then - Sync Gateway will error and refuse to start. - - - ' - kv_tls_port: - type: integer - default: 11207 - description: 'Optional value for the Memcached TLS port, if not using the default - (11207) - - - ' - max_concurrent_query_ops: - description: 'Sets the maximum number of concurrent query operations allowed - - ' - type: integer - default: 1000 - api: - type: object - title: API configuration - description: Define API related configuration properties - properties: - admin_interface: - type: string - default: 127.0.0.1:4985 - description: 'Port or TCP network address (IP address and the port) that the - Admin REST API listens on. - - - The loopback address prefix before the port (`127.0.0.1`) means the interface - will not be reachable from other hosts. To make it reachable, change it - to ":4985". - - - Change requires restart of Admin API - - ' - admin_interface_authentication: - type: boolean - default: true - description: 'Use the `admin_interface_authentication` property to disable - authentication for the metrics API. - - This option should be used with discretion and only in test environments. - - - By default the Admin API requires Couchbase Server RBAC authentication. - - The user must provide credentials to an existing user with an appropriate - Sync Gateway role. - - - ' - metrics_interface: - type: string - default: 127.0.0.1:4986 - description: 'This defines the Port or TCP network address (IP address and - the port) that the Metrics REST API will listen on. - - - Using the loopback address prefix before the port (`127.0.0.1`) means the - interface will not be reachable from other hosts. - - - For example - - ```"metricsInterface": "127.0.0.1:4986"``` - - ' - metrics_interface_authentication: - type: boolean - default: true - description: 'Use the `metrics_interface_authentication` property to disable - authentication for the metrics API. - - This option should be used with discretion and only in test environments. - - - By default the Metrics API requires Couchbase Server RBAC authentication. - - The user must provide credentials to an existing user with an appropriate - Sync Gateway role. - - - ' - profile_interface: - type: string - description: 'TCP network address (IP address and the port) that the Go profile - API listens on. - - You can obtain Go profiling information from the interface. - - You can omit the IP address. - - - ' - public_interface: - type: string - default: :4984 - description: 'Public REST API port - - - Change requires restart of Public API - - - ' - compress_responses: - description: 'Whether to compress HTTP responses. Set to false to disable - compression of HTTP responses. - - - ' - type: boolean - default: true - cors: - type: object - description: 'Configuration object for allowing cross-origin resource sharing - (CORS). - - This is useful to interact directly with Sync Gateway from HTML 5 applications - via XHR. - - - Change requires HTTP server restart - - ' - properties: - headers: - type: array - description: 'List of HTTP headers that can be used by domains specified - in the `origin` and `login_origin` properties. - - - A common value is `["Content-Type"]` as clients use the `Content-Type: - application/json` header when sending data as JSON in the body of POST/PUT - requests. - - - Change requires HTTP server restart - - ' - items: - type: string - login_origin: - type: array - description: 'List of allowed login origins. - - - Change requires HTTP server restart - - - ' - items: - type: string - max_age: - type: integer - description: 'Value for the Access-Control-Max-Age header. - - This is the period of time, in seconds, that the response to a CORS - preflight request is cached before sending another preflight request. - - - Change requires HTTP server restart - - - ' - origin: - type: array - description: 'List of allowed origins; use a wildcard character (*) to - allow access from everywhere. - - - **Note** that the wildcard (*) cannot be used if you plan to authenticate - users as well (by using the `withCredentials` flag on the client side). - - Instead specify the explicit domain(s) in the `origin` and `login_origin` - properties of the configuration file. - - - Change requires HTTP server restart - - ' - items: - type: string - description: An allowed origin array element - hide_product_version: - type: boolean - default: false - description: 'Determines whether product versions are removed from Server - headers and REST API responses. - - This setting does not apply to the Admin REST API. - - - This customization of the Sync Gateway response avoids revealing the version - of the Sync Gateway to HTTP requests to the root path. - - - ' - https: - type: object - description: Group in which to specify any API HTTPS configuration properties - properties: - tls_minimum_version: - type: string - default: tlsv1.2 - title: The minimum allowable TLS version for the REST APIs - description: 'Enforce a minimum TLS version to be used in replications - with Couchbase Lite. - - - Possible values are: - - - - "tlsv1" - - - - "tlsv1.1" - - - - "tlsv1.2" - - - - "tlsv1.3" - - - Change requires HTTP server restart - - - ' - tls_cert_path: - type: string - title: The TLS certificate file to use for the REST APIs - description: 'Absolute or relative path on the filesystem to the TLS certificate - file, if TLS is used to secure Sync Gateway connections - - - To use plaintext, omit both this property and the `tls_key_path` property. - - - A relative path is from the directory that contains the Sync Gateway - executable file. - - - Change requires HTTP server restart - - ' - tls_key_path: - type: string - title: The TLS key file to use for the REST APIs - description: 'Absolute or relative path on the filesystem to the TLS private - key files. - - - To use plaintext, omit both this property and the `tls_cert_path` property. - - - A relative path is from the directory that contains the Sync Gateway - executable file. - - - Change requires HTTP server restart - - ' - idle_timeout: - type: integer - default: 90 - description: 'Maximum duration (in seconds) to wait for the next request when - keep-alives are enabled - - - Change requires HTTP server restart - - ' - max_connections: - type: integer - default: 0 - description: 'Maximum number of incoming HTTP connections to accept. - - - Change requires HTTP server restart - - ' - pretty: - type: boolean - default: false - description: '(**Deprecated**) Whether to pretty-print JSON responses. - - - ' - read_header_timeout: - type: integer - default: 5 - description: 'Maximum duration (in seconds) allowed to read request headers - - - Change requires HTTP server restart - - ' - server_read_timeout: - type: integer - description: 'Maximum duration in seconds before timing out the read of an - HTTP(S) request. - - - This property only effects the HTTP connections on the Sync Gateway public - and admin ports. - - - Sync Gateway is written in the Go programming language, therefore the value - set in the configuration file is passed to Go''s server instance [https://golang.org/pkg/net/http/#Server](https://golang.org/pkg/net/http/#Server). - - - Change requires HTTP server restart - - ' - server_write_timeout: - type: integer - description: 'Maximum duration in seconds before timing out the write of an - HTTP(S) response. - - - This property only effects the HTTP connections on the Sync Gateway public - and admin ports. - - - Sync Gateway is written in the Go programming language, therefore the value - set in the configuration file is passed to Go''s server instance [https://golang.org/pkg/net/http/#Server](https://golang.org/pkg/net/http/#Server). - - - Change requires HTTP server restart - - - ' - logging: - type: object - title: Logging Model - description: 'Holding object for all logging-related settings. - - - Note that in addition to setting these logging values in the bootstrap configuration - file, you can also use the ADMIN Rest API to set or change the values without - requiring a full reload. - - See: [Rest Admin API](rest-api-admin.html) - - - A full logging initialization is required. - - - See the [Logging](logging.html) page for a fuller explanation on logging settings. - - - ' - properties: - log_file_path: - type: string - description: 'Absolute or relative path on the filesystem to the log file. - - A relative path is from the directory that contains the Sync Gateway executable - file. - - - Changes require full logging re-initialization - - ' - redaction_level: - type: string - default: none - description: "Optionally, log files can be redacted.\nThis means that user-data,\ - \ considered to be private, is removed.\nSuch data includes:\n\n - Key/value\ - \ pairs in JSON documents\n\n - Usernames\n\n - Query-fields that reference\ - \ key/value pairs and/or usernames\n\n - Names and email addresses retrieved\ - \ during product registration\n\n - Extended attributes\n\nThis redaction\ - \ of user-data is referred to as partial redaction.\n\nTo enable it, set\ - \ this property to `\"redaction_level\" : \"partial\"` in the configuration\ - \ file:\n\n" - console: - type: object - description: Settings for the console output logging. - properties: - enabled: - type: boolean - description: Indicates whether console logging is enabled - rotation: - type: object - description: 'The log file may be rotated by defining a "rotation" sub - document. - - See details in [log rotation](logging.html#lbl-logrotate). - - ' - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets - rotated. - default: 100 - max_age: - type: integer - description: 'The maximum number of days to retain old log files. - - This can''t be set below the minimum allowed value for the given - level. - - ' - localtime: - type: boolean - description: 'If true, it uses the computer''s local time to format - the backup timestamp. - - False uses UTC. - - ' - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: 'Controls how much disk space the rotated (and compressed) - log files for this level can take up. - - - The value is expressed in megabytes. - - The minimum value is `10` and there is no maximum value. - - ' - collation_buffer_size: - type: integer - description: 'Size of the collation buffer - - - ' - log_level: - type: string - default: info - description: 'The level of logging. - - - Log levels are cumulative (that is, log entries at WARN will also be - included in the INFO and DEBUG logs). - - - See: - - [Log Levels](logging.html#lbl-log-keys) page - - - ' - log_keys: - description: 'List of log keys to enable for diagnostic logging. - - - Available log key values are described in the - - [Log Keys](logging.html#lbl-log-keys) page - - - ' - type: array - items: - type: string - default: '["HTTP"]' - color_enabled: - type: boolean - default: false - description: Use ANSI color codes in the console output (Linux/MacOS only). - file_output: - type: string - description: 'Changes require full logging re-initialization - - ' - error: - description: 'Activate the error logging level - see [Logging](logging.html) - page for more on log levels. - - ' - type: object - properties: - enabled: - description: 'Enable this *error* log level. - - - - The *error*, *warn* and *info* log levels are enabled by default. - - - - The *debug* log level is disabled by default. - - - **Note:** You are advised to keep this log level enabled to troubleshoot - issues. - - - Enabling this log level is a requirement to receive - - [Enterprise Support](https://www.couchbase.com/support-policy). - - ' - type: boolean - rotation: - type: object - description: 'The log file may be rotated by defining a "rotation" sub - document. - - - See details in [log rotation](logging.html#lbl-logrotate). - - ' - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets - rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This - can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format - the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: 'Controls how much disk space the rotated (and compressed) - log files for this level can take up. - - - The value is expressed in megabytes. - - The minimum value is `10` and there is no maximum value. - - ' - collation_buffer_size: - type: integer - description: 'Size of the collation buffer - - - ' - warn: - description: 'The warning logging-level is triggered when Sync Gateway detects - something is wrong but it can still service requests - - - - Minimum max_age is 90 days - - - - Log File Name is ```sg_warn.log``` - - - ' - type: object - properties: - enabled: - description: 'Whether to enable this log level. - - The *error*, *warn* and *info* log levels are enabled by default. - - The *debug* log level is disabled by default. - - - Note, however, that you are advised to keep this log level enabled to - troubleshoot issues. Enabling this log level is a requirement to receive - [Enterprise Support](https://www.couchbase.com/support-policy). - - ' - type: boolean - rotation: - type: object - description: 'The log file may be rotated by defining a "rotation" sub - document. See details in [log rotation](logging.html#lbl-logrotate). - - ' - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets - rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This - can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format - the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: 'Controls how much disk space the rotated (and compressed) - log files for this level can take up. - - - The value is expressed in megabytes. - - The minimum value is `10` and there is no maximum value. - - ' - collation_buffer_size: - type: integer - description: 'Size of the collation buffer - - - ' - info: - type: object - description: 'The information logging-level provides important diagnostics - for support and customers - - ' - properties: - enabled: - type: boolean - default: true - description: 'Whether to enable this log level. - - - ' - rotation: - type: object - description: 'The log file may be rotated by defining a "rotation" sub - document - - ' - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets - rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This - can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format - the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: 'Controls how much disk space the rotated (and compressed) - log files for this level can take up. - - - The value is expressed in megabytes. - - The minimum value is `10` and there is no maximum value. - - ' - collation_buffer_size: - type: integer - description: 'Size of the collation buffer - - - ' - debug: - type: object - description: 'The debug logging-level provides lower level development analysis - - - - Minimum max_age is 1 day - - _ Log File Name is ```sg_debug.log``` - - ' - properties: - enabled: - type: boolean - default: false - description: 'Sets this logging-level on or off. - - - Note, you are advised to keep this log level enabled when troubleshooting - issues. - - Enabling this log level is a requirement to receive [Enterprise Support](https://www.couchbase.com/support-policy). - - ' - rotation: - type: object - description: 'The log file may be rotated by defining a "rotation" sub - document. See details in [log rotation](logging.html#lbl-logrotate). - - ' - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets - rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This - can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format - the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: 'Controls how much disk space the rotated (and compressed) - log files for this level can take up. - - - The value is expressed in megabytes. - - The minimum value is `10` and there is no maximum value. - - ' - collation_buffer_size: - type: integer - description: 'Size of the collation buffer - - - ' - trace: - type: object - description: 'The trace logging-level. - - ' - properties: - enabled: - type: boolean - default: null - description: 'Whether to enable this log level. - - - ' - rotation: - type: object - description: 'The log file may be rotated by defining a "rotation" sub - document. See details in [log rotation](logging.html#lbl-logrotate). - - ' - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets - rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This - can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format - the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: 'Controls how much disk space the rotated (and compressed) - log files for this level can take up. - - - The value is expressed in megabytes. - - The minimum value is `10` and there is no maximum value. - - ' - collation_buffer_size: - type: integer - description: 'Size of the collation buffer - - - ' - stats: - type: object - description: 'The stats logging level - - ' - properties: - enabled: - type: boolean - default: null - description: 'Whether to enable this log level. - - ' - rotation: - type: object - description: 'The log file may be rotated by defining a "rotation" sub - document. See details in [log rotation](logging.html#lbl-logrotate). - - ' - properties: - max_size: - type: integer - description: The maximum size in MB of the log file before it gets - rotated. - default: 100 - max_age: - type: integer - description: The maximum number of days to retain old log files. This - can't be set below the minimum allowed value for the given level. - localtime: - type: boolean - description: If true, it uses the computer's local time to format - the backup timestamp. False uses UTC. - default: false - rotated_logs_size_limit: - type: integer - default: 1024 - description: 'Controls how much disk space the rotated (and compressed) - log files for this level can take up. - - - The value is expressed in megabytes. - - The minimum value is `10` and there is no maximum value. - - ' - collation_buffer_size: - type: integer - description: 'Size of the collation buffer - - - - ' - replicator: - title: Replicator configuration - description: Define Replicator related configuration properties - properties: - blip_compression: - type: integer - default: 6 - description: 'This sets the ''deflate'' compression level to use when compressing - messages sent via the WebSocket protocol, where: - - - - 0 means no compression, - - - 1 means fastest (least) compression - - - 9 means slowest (most) compression. - - ' - max_heartbeat: - type: integer - default: 0 - description: 'This specifies the Maximum Heartbeat value for the ```_changes - feed``` requests; the time in second between heartbeats. - - - The default value of ```maxHeartbeat``` is 0 (zero) - - - The minimum value of ```maxHeartbeat``` is 25 (25,000 ms) - - - ' - auth: - type: object - title: Auth configuration - description: Define Auth related configuration properties - properties: - bcrypt_cost: - type: integer - default: 10 - description: Cost to use for bcrypt password hashes - unsupported: - type: object - title: Unsupported configuration - description: Collection of unsupported properties - properties: - stats_log_freq: - type: string - default: 1m - description: 'It is provided as string, which uses Go''s duration format (e.g: - 1s = 1 second, 5m = 5 minutes , 1h32m15s = 1 hour, 32 mins, 15 seconds) - - see: https://pkg.go.dev/time#ParseDuration - - - ' - http2.enabled: - type: boolean - default: false - use_stdlib_json: - type: boolean - default: false - max_file_descriptors: - type: integer - default: 5000 - description: 'Maximum number of open file descriptors. - - - ' diff --git a/modules/ROOT/assets/attachments/sg-Database_model.yaml b/modules/ROOT/assets/attachments/sg-Database_model.yaml deleted file mode 100644 index 034744226..000000000 --- a/modules/ROOT/assets/attachments/sg-Database_model.yaml +++ /dev/null @@ -1,1260 +0,0 @@ -type: object -title: Database -description: 'This `database` object defines the JSON configuration of a sync gateway - database. - - - Provision the configuration using the request message body of a ```put /{db}/``` - and-or ```put /{db}/_config``` - - that comprises all the properties required to upsert a replication. - - - ' -properties: - bucket: - type: string - default: the database name - title: The Couchbase Server bucket name associated with this Sync Gateway database - description: 'Defines the Couchbase Server bucket to be used for this Sync Gateway - database - - bucket - - - If not specified, then the database name is used as the bucket name. - - - - ' - name: - type: string - description: 'Use `name` to define the Sync Gateway database name. - - - Change initiates database restart - - - ' - sync: - type: string - description: 'The `sync` property is a Javascript function that determines which - users can access which documents. - - - This JavaScript function is provisioned using the Admin Rest API Endpoint - - ```put /{db}/_config/sync``` - - - Add the function as plain javascript in the request body, with the ```content-Type: - application/javascript``` header. - - - ' - default: '`function(doc, oldDoc) {channel(doc.channels);}` - - ' - example: "function(doc, oldDoc) {\n channel(doc.channels);\n}\n\n" - guest: - type: object - description: 'Defines whether a GUEST user is available and able to interacted, - unauthenticated, with the Public REST API - - ' - properties: - disabled: - type: boolean - default: true - description: 'Set `disabled` = `false` to allow GUEST - - - For example: - - ```curl -X PUT username:password@localhost:4985/db/_config -H "Content-Type: - application/json" --data-binary ''{"guest": {"disabled":false}}``` - - - ' - revs_limit: - type: integer - description: 'This property defines the maximum depth to which a document''s revision - tree can grow. - - - It value governs the point at which to prune a document''s revision tree. - - - For more information see: [Revisions](revisions.html) page. - - ' - import_docs: - type: boolean - description: 'Use the `import_docs` property to define whether the Sync Gateway - node should automatically import Couchbase Server documents; - - - This property works in conjunction with the `enable_shared_bucket_access` property, - which enables Xattrs. - - - Since Sync Gateway 2.7, all Sync Gateway nodes can be configured as import nodes. - - This results in performance benefits as the import process is shared across - all Sync Gateway nodes. - - - Prior to version 2.7, `import_docs` can only be set to `true` on a single node. - - - Changes initiate a database restart - - - ' - default: false - import_partitions: - type: integer - description: 'Use the `import_partitions` property to define how many import partitions - should be used for import sharding. - - - Partitions are distributed among all Sync Gateway nodes participating in import - processing (import_docs:true), and each process a subset of the server''s vbuckets. - - - Each partition is processed by a separate goroutine, so `import_partitions` - can be used to tune concurrency based on the number of Sync Gateway nodes, and - the number of cores per node. - - - ' - default: 16 - import_filter: - type: string - description: 'The `import_filter` controls whether a document written to the Couchbase - Server bucket should be made available to Couchbase Mobile clients (that is, - whether it ought to be imported). - - - You should provision the filter as a Javascript function in the request body - of a call to the Admin Rest API endpoint ```put {db}/_config/import_filter```. - - - Set the header''s content type to ```content-Type: application/javascript```. - - - The function takes the document body as parameter and is expected to return - a boolean to indicate whether the document should be imported. - - - If you do not provide a filter function then no filter will be applied and ALL - documents will be imported. - - ' - default: No filter - example: "function(doc) {\n if (doc.type != 'mobile') {\n return false\n \ - \ }\n return true\n}\n\n" - import_backup_old_rev: - type: string - description: 'Use the `import_backup_old_rev` property to define whether import - should attempt to create a temporary backup of the previous revision body, when - available - - - ' - event_handlers: - type: object - title: Event Handler - description: 'Webhooks in Sync Gateway are designed to minimize performance impacts - on Sync Gateway''s regular processing. - - - Sync Gateway manages the number of processes that are spawned for webhook event - handling, so that slow response times from the HTTP POST operations don''t consume - available CPU resources on Sync Gateway nodes. - - - When a `webhook` event handler is defined, after Sync Gateway has updated a - document, Sync Gateway adds a `document_changed` event to an asynchronous event-processing - queue (the event queue). - - - New processes are then spawned to apply the `filter` function to the documents - and to perform the HTTP POST operations. - - - When an event is not added to the event queue, but is instead discarded, a warning - message is written to the the Sync Gateway log. - - - You can configure Sync Gateway to log information about event handling, by including - either the log key ```Event``` or ```Events+``` in the `Log` property in your - Sync Gateway configuration file. `Events+` is more verbose. - - - See also: - - [Webhook](webhooks.html).. - - - ' - properties: - document_changed: - title: Document Changed - description: The configuration for the action to perform when a document change - is detected. - properties: - filter: - type: string - description: 'Use ```document_changed.filter``` to define a JavaScript - function that determines which documents to post. - - - The filter function accepts the document body as input and returns a - boolean value. - - - - If the filter function returns true, then Sync Gateway posts the document. - - - - If the filter function returns false, then Sync Gateway does not post - the document. - - - - If no filter function is defined, then Sync Gateway posts all changed - documents. - - - Filtering only determines which documents to post. - - It does not extract specific content from documents and post only that. - - - ' - handler: - type: string - description: 'Specify the type of event handler. - - - This must be `webhook` currently). - - ' - options: - type: string - description: 'Options can be specified per-handler, and are specific to - each handler type. - - ' - timeout: - type: integer - description: 'Defines the period in seconds to wait for a response to - the POST operation. - - - Using a timeout ensures that slow-running POST operations don''t cause - the webhook event queue to back up. - - - Slow-running POST operations are discarded (if they time out), so that - new events can be processed. - - When the timeout is reached, Sync Gateway stops listening for a response. - - - A value of 0 (zero) means no timeout. - - - You should not need to adjust it to tune performance as he default value - should work well in the majority of cases. - - ' - default: 60 - url: - description: 'Defines the URL to post documents to (for a webhook event - handler). - - ' - type: string - db_state_changed: - description: 'Use the `db_state_changed` property group to define the actions - to perform when a `db_state` change is detected. - - ' - title: db_state_changed model - type: object - properties: - filter: - type: string - description: 'Use `db_state_changed.filter``` to define a JavaScript function - that determines which state changes to post. - - ' - handler: - type: string - description: 'Specify the type of event handler. - - - This must be `webhook` currently). - - ' - options: - type: string - description: 'Options can be specified per-handler, and are specific to - each handler type. - - ' - timeout: - type: integer - description: 'Defines the period in seconds to wait for a response to - the operation. - - Default: 60 - - ' - url: - type: string - description: 'Defines the URL to post to (for a webhook event handler). - - - ' - max_processes: - type: integer - description: 'Maximum number of events that can be processed concurrently, - that is, no more than `max_processes` concurrent processes will be spawned - for event handling. - - - The default value should work well in the majority of cases. - - You should not need to adjust it to tune performance. - - However, if you wish to ensure that most webhook posts are sent, you can - set it to sufficiently high value. - - ' - default: 500 - wait_for_process: - type: string - description: 'Maximum wait time in milliseconds before canceling event processing - for an event that is detected when the event queue is full. - - - If you set the value to 0 (zero), then incoming events are discarded immediately - if the event queue is full. - - - If you wish to avoid any blocking of standard Sync Gateway processing this - may be a desirable value to use. - - - The default value should work well in the majority of cases. You should - not need to adjust it to tune performance. - - ' - default: 100 - allow_empty_password: - type: boolean - description: Use ```allow_empty_password``` to define whether to Sync Gateway - users can be created with empty passwords. - default: false - cache: - type: object - title: Cache - description: 'The `cache` group of properties define the configuration for this - database''s channel and revision caches - - - ' - properties: - rev_cache: - type: object - title: Revision Cache - description: 'Use the `rev_cache` properties to configure the revision cache - - ' - properties: - size: - type: integer - description: 'Size of the revision cache, specified as the total number - of document revisions to cache in memory for all recently accessed documents. - - - When the revision cache is full, Sync Gateway removes less recent document - revisions to make room for new document revisions. - - Adjust this property to tune memory consumption by Sync Gateway, for - example on servers with less memory and in cases when Sync Gateway creates - many new documents and/or updates many documents relative to the number - of read operations. - - - *Disabling the revision cache* - - - Disabling the revision cache is an [Enterprise Edition](https://www.couchbase.com/products/editions) - feature. - - - To disable the revision entirely, set this property to 0. - - Setting this property to 0 on the Community Edition is ignored. - - - Disabling the revision cache would be useful when there are very large - documents or if you expect a very low cache hit rate. - - Otherwise it could negatively impact the latency of replications. - - It is generally not recommended to disable the revision cache, unless - advised by Couchbase - - [Enterprise Support](https://www.couchbase.com/support-policy). - - ' - default: 5000 - shard_count: - type: integer - description: 'Tuning this property is an [Enterprise Edition](https://www.couchbase.com/products/editions) - feature. - - The Community Edition is configured with the default value, and will - ignore any value in the configuration file. - - - Number of shards the rev cache should be split into. More shards allows - for lower cache contention when accessing distinct revisions, at the - cost of some memory overhead per-shard. - - This generally should not greatly exceed the number of CPU threads available - to Sync Gateway. - - - It is generally not recommended to set this property, unless advised - by Couchbase [Enterprise Support](https://www.couchbase.com/support-policy). - - ' - default: 8 - channel_cache: - type: object - title: Channel Cache - description: 'Use the `channel_cache` group''s properties to configure the - database''s channel cache - - - Changes initiate a database restart - - ' - properties: - compact_high_watermark_pct: - type: integer - description: 'Use ```compact_high_watermark_pct``` to define the trigger - value for starting channel cache eviction. - - Specify the value as a percentage (of ```max_number```) - - - When the cache size, determined by `max_number`, reaches the high watermark, - the eviction process iterates through the cache, removing inactive channels. - - ' - default: 80 - compact_low_watermark_pct: - type: integer - description: 'Use ```compact_low_watermark_pct``` to define the trigger - value for stopping channel cache eviction. - - Specify the value as a percentage (of ```max_number```) - - - When the cache size, determined by `max_number` returns to a value lower - than `compact_low_watermark_pct`, the cache eviction process is stopped. - - ' - default: 60 - enable_star_channel: - type: boolean - description: 'Use ```enable_star_channel``` to define whether Sync GAteway - should use the all documents (*) channel - sometimes referred to as - the ''star'' channel. - - - ' - default: true - expiry_seconds: - type: integer - description: 'Use ```expiry_seconds``` to define how long (in seconds) - Sync Gateway should keep cached entries beyond the minimum retained. - - ' - default: 60 - max_length: - type: integer - description: 'Maximum number of entries maintained in cache per channel. - - ' - default: 500 - max_num_pending: - type: integer - description: 'Use ```max_num_pending``` to define the maximum number of - pending sequences before skipping the sequence. - - ' - default: 10000 - max_number: - type: integer - description: "Use ```max_number``` to define the maximum number of channel\ - \ caches allowed at any one point.\nThis property is used alongside\ - \ the associated eviction watermarks ```compact_low_watermark_pct```\ - \ and ```compact_high_watermark_pct``` to control the cache size.\n\n\ - The default value for this property is 50000.\nAssuming the default\ - \ channel `min_length` and `max_length` values, this would result in\ - \ a memory usage under 1GB.\n\nTuning this property is an [Enterprise\ - \ Edition](https://www.couchbase.com/products/editions) feature - in\ - \ the Community Edition any change to the default value is ignored.\n\ - \n*Enterprise Edition Only*:\n The `max_number` value can be tuned\ - \ to optimize for cache hits (requests that are handled using the cache),\ - \ as opposed to cache misses (requests that require a round-trip to\ - \ Couchbase Server to fetch data).\n The cache hit/miss ratio can be\ - \ obtained with the following:\n\n```cache hit/miss ratio``` = ```cache.chan_cache_hits```\ - \ / ```cache.chan_cache_misses```\n\nIncreasing the `max_number` value\ - \ can increase the cache hit/miss ratio, resulting in better cache utilization.\n\ - \nIf the cache size grows to reach the high watermark (`compact_high_watermark_pct`),\ - \ channels with no connected replications will be evicted before channels\ - \ which are associated with an active pull replication (i.e a blip-based\ - \ pull replication in Couchbase Lite 2.x, or an active `/{db}/_changes`\ - \ request in Couchbase Lite 1.x).\n\nThe minimum allowed value is 100.\n\ - \nIt isn't possible to remove the limit altogether, users who wish to\ - \ remove the limit would need to set `max_number` to an arbitrarily\ - \ high value.\n" - default: 50000 - max_wait_pending: - type: integer - description: 'Maximum wait time in milliseconds for a pending sequence - before skipping sequences. - - ' - default: 5000 - max_wait_skipped: - type: integer - description: 'Maximum wait time in milliseconds for a skipped sequence - before abandoning the sequence. - - ' - default: 3600000 - min_length: - type: integer - description: 'Minimum number of entries maintained in cache per channel. - - ' - default: 50 - query_limit: - type: integer - default: 5000 - description: Limit used for channel queries - offline: - type: boolean - description: 'Use `offline` to determine whether Sync Gateway should start the - database in offline mode. - - - The default of false means the database will be online. - - ' - default: false - unsupported: - title: Unsupported Properties Model - type: object - description: 'This group comprises an unrelated collection of unsupported properties - that may, potentially, be useful in controlled testing scenarios. - - - NOTE: Due to the unsupported nature of these options, there is no guarantee - on their continued availability. - - ' - properties: - api_endpoints: - type: object - properties: - enable_couchbase_bucket_flush: - type: boolean - description: 'Determines whether Couchbase buckets can be flushed using - the Admin REST API. - - - Use *only* for testing purposes if it is necessary to flush data in - between tests to start with a clean DB. - - - ' - oidc_tls_skip_verify: - type: boolean - default: false - description: 'Unsupported option for use in development and testing environment - ONLY - - - `oidc_tls_skip_verify` can be used to enable the use of self-signed certs - for OpenID Connection testing. - - - ' - oidc_test_provider: - type: object - description: Config settings for OIDC test provider - properties: - enabled: - type: boolean - description: 'Unsupported option for use in development and testing environment - ONLY - - - Determines whether the oidc_test_provider endpoints should be exposed - on the public API. - - ' - remote_config_tls_skip_verify: - type: boolean - default: false - description: 'Unsupported option for use in development and testing environment - ONLY - - - Use only to enable self signed certificates for testing external JavaScript - load. - - ' - sgr_tls_skip_verify: - type: boolean - default: false - description: 'Unsupported option for use in development and testing environment - ONLY - - - `sgr_tls_skip_verify` can be used to skip validation of TLS certs used for - Inter-Sync Gateway Replication. - - - ' - user_views: - type: object - description: Configuration settings for user views - default: none - properties: - user_views_enabled: - type: boolean - description: 'Unsupported option for use in development and testing environment - ONLY - - - Use to determine whether pass-through view query is supported through - public API - - - ' - warning_thresholds: - type: object - title: Warning Threshold - properties: - access_and_role_grants_per_doc: - type: boolean - description: 'Number of access and role grants per document to be used - as a threshold for grant count warnings - - ' - channels_per_doc: - type: boolean - description: 'Number of channels per document to be used as a threshold - for channel count warnings - - ' - channels_per_user: - type: boolean - description: 'Number of channels per user to be used as a threshold for - channel count warnings - - ' - channel_name_size: - type: boolean - description: 'Number of channel name characters to be used as a threshold - for channel name warnings - - - - ' - xattr_size_bytes: - type: boolean - description: 'Number of bytes to be used as a threshold for XATTR size - limit warnings - - ' - disable_clean_skipped_query: - type: boolean - description: Clean skipped sequence processing bypasses final check - oidc: - type: object - title: OIDC Group - description: 'Use the `oidc` object properties to defined any OpenID Connect providers - and associated credentials. - - ' - properties: - default_provider: - type: string - description: 'Use this `default_provider` property to identify the provider - to use for OIDC requests that do not specify a provider. - - - If only one provider is specified in the providers map, then that is used - as the default provider. - - If multiple providers are defined and default_provider is not specified, - requests to ```/db/_oidc``` must specify the provider parameter. - - - ' - providers: - title: OIDC Providers - description: Include an entry for each OIDC provider - type: object - properties: - this_provider: - title: OIDC Provider - type: object - properties: - issuer: - type: string - description: The OpenID Connect Provider issuer. - register: - type: string - description: 'Whether Sync Gateway should automatically create users - for successfully authenticated users that don''t have an already - existing user in Sync Gateway. - - - Optional. - - - ' - client_id: - type: string - description: The client ID defined in the provider for Sync Gateway. - validation_key: - type: string - description: Client secret associated with the client. Required for - auth code flow. - callback_url: - type: string - description: 'The callback URL to be invoked after the end-user obtains - a client token. - - When not provided, Sync Gateway will generate it based on the incoming - request. - - - *Optional* - - - ' - disable_session: - type: string - description: 'By default, Sync Gateway will create a new session for - the user upon successful OIDC authentication, and set that session - in the usual way on the _oidc_callback and _oidc_refresh responses. - - - If disable_session is set to true, the session is not created (clients - must use the ID token for subsequent authentications). - - - *Optional* - - - ' - scope: - type: string - description: 'By default, Sync Gateway uses the scope "openid email" - when calling the OP''s authorize endpoint. - - - If the scope property is defined in the config (as an array of string - values), it will override this scope. - - - *Optional. * - - - ' - include_access: - type: string - description: 'Optional. - - When true, the oidccallback response will include the access_token, - expires_at and token_type properties returned by the OP. - - - ' - user_prefix: - type: string - description: 'Optional. - - Specifies the prefix for Sync Gateway usernames for the provider. - - When not specified, defaults to issuer. - - - ' - discovery_url: - type: string - description: 'Optional. - - Discovery URL used to obtain the OpenID Connect provider configuration. - - If not specified, the default discovery endpoint of [issuer]/.well-known/openid-configuration - will be used. - - - ' - disable_cfg_validation: - default: false - type: boolean - description: 'Couchbase Sync Gateway, by default, applies strict validation - of the OpenID Connect configuration based on the OIDC specification. - - - Set ```"disable_cfg_validation": true``` when you do not want strict - validation of the OIDC configuration. - - - ' - disable_callback_state: - default: false - type: boolean - description: 'DisableCallbackState determines whether or not to maintain - state between the ```/_oidc``` and - - ```/_oidc_callback``` endpoints. - - - Disabling this action is NOT recommended as it will increase vulnerability - to Cross-Site Request Forgery (CSRF, XSRF). - - - Set ```"disable_callback_state": true``` to switch-off callback - state. - - - ' - username_claim: - type: string - default: optional - description: ' - - You can use `username_claim` to specify a claim other than subject - to use as the Sync Gateway username. - - - The specified claim must be a string, as numeric claims may be un-marshalled - inconsistently between Sync Gateway and the underlying OIDC library. - - - When authenticating incoming OIDC tokens, Sync Gateway currently - treats the username as [user_prefix]_[subject]. - - By default user_prefix is the issuer, but can be customized in the - Sync Gateway provider config. - - Subject is always the sub claim in the token. - - - Behavior: - - - - If username_claim is set but user_prefix is not set, use that - claim as the Sync Gateway username. - - - - If username_claim is set and user_prefix is also set, use [user_prefix]_[username_claim] - as the Sync Gateway username. - - - - If username_claim is not set and user_prefix is set, use [user_prefix]_[subject] - as the Sync Gateway username (existing behavior). - - - - If neither username_claim nor user_prefix are set, use [issuer]_[subject] - as the Sync Gateway username (existing behavior). - - - ' - allow_unsigned_provider_tokens: - type: boolean - default: false - description: 'Unsigned provider tokens are not accepted. - - - Set ```"allow_unsigned_provider_tokens": true``` to opt-in to accepting - unsigned tokens from providers. - - - ' - old_rev_expiry_seconds: - type: integer - description: 'Use the `old_rev_expiry_seconds` property to define the number of - seconds before old revisions are removed from Couchbase Server buckets. - - - ' - view_query_timeout_secs: - type: integer - description: 'Use the `view_query_timeout_secs` property to define the view query - timeout in seconds. - - - This is the time Sync Gateway should wait for a view query response from Couchbase - Server before it times out. - - - The timeout applies to both view and N1QL queries issued by Sync Gateway. - - ' - default: 75 - local_doc_expiry_secs: - type: integer - description: 'Use the `local_doc_expiry_secs` property to define an expiry value - for local documents managed on Sync Gateway. - - - Local documents are used by the Couchbase Lite replicator to track up to which - sequence number a given client has synchronized and where it should resume the - next time it connects to Sync Gateway. - - - Clients failing to replicate within the expiry window are forced to restart - their replication from the beginning (sequence zero). - - - This property is intended to minimize accumulation of obsolete replication checkpoint - documents in the Couchbase Server bucket. - - - The default is `7776000` seconds (90 days). - - ' - default: 7776000 - enable_shared_bucket_access: - type: boolean - default: true - description: 'Use the `enable_shared_bucket_access` property to define whether - to use extended attributes to store sync metadata. - - This is required to enable mobile-to-server data sync (_mobile convergence_). - - - You can learn more about this functionality in [Syncing with Couchbase Server](sync-with-couchbase-server.html) - - - This property works in conjunction with the ```import_docs``` property, which - determines whether a node participates in import processing. - - Leave `enable_shared_bucket_access` `true` on all nodes participating in such - a configuration. - - - On start-up, Sync Gateway will generate the mobile-specific metadata for all - the pre-existing documents in the Couchbase Server bucket. From then on, documents - can be inserted on the Server directly (with N1QL or SDKs) or through the Sync - Gateway REST API. - - - Change initiates a database restart - - - - ' - session_cookie_secure: - type: boolean - default: true - description: 'Override secure cookie flag (that is, disable secure cookies). - - - If SSLCert is set, then secure cookies are also used by default. - - However, this flag can be set `false` to override this behavior and allow insecure - cookies to be used alongside SSL. - - - If SSLCert is not set then this flag defaults to false. - - - ' - session_cookie_name: - type: string - description: "Starting in Sync Gateway 2.0, it is possible to customize the session\ - \ cookie name that is used for this database.\n\nThis property is mostly used\ - \ by web applications interacting with multiple Sync Gateway databases.\n\n\ - Browsers typically have two methods of determining which cookie to use for a\ - \ given request: the `URL` path, or the cookie name.\n\nUse this property, to\ - \ set different cookie names for each database specified in the configuration\ - \ file. Let's consider the following configuration file:\n\n```json\n{\n \ - \ \"databases\": {\n \"db1\": {\n \"session_cookie_name\": \"CustomName1\"\ - ,\n \"bucket\": \"bucket-1\"\n },\n \"db2\": {\n \ - \ \"session_cookie_name\": \"CustomName2\",\n \"bucket\": \"bucket-2\"\ - \n }\n }\n }\n}\n```\n\nWith this configuration, the `Set-Cookie`\ - \ response header of the POST `:4984/{db}/_session` endpoint (Public REST API)\ - \ would then have the form \"CustomName1=3cad4b95524179bf144fe0d92b8f09877bb86bf5;path=/db1/\"\ - .\n\nWhen using POST `:4985/{db}/_session` (Admin REST API) to create a session,\ - \ the cookie value is returned in the response body instead of the `Set-Cookie`\ - \ header. In this case, it could also be set by the client, for web applications\ - \ it would be the following in JavaScript:\n\n```javascript\ncookie1String =\ - \ \"CustomName1=3cad4b95524179bf144fe0d92b8f09877bb86bf5;path=/db1/\";\ndocument.cookie\ - \ = cookie1String;\n```\n" - default: SyncGatewaySession - session_cookie_http_only: - type: boolean - default: false - description: This flag disallows cookies from being used by Javascript; by default - javascript CAN use them - allow_conflicts: - type: boolean - description: 'Use ```allow_conflict``` to define whether Sync Gateway will handle - conflicts. - - - The default of ```true``` indicates that conflicts are handled. - - - Set the value to ```false``` to cause Sync Gateway to reject any attempt to - write conflicting revisions (returning a `409` HTTP status code). - - It will be up to the client to resolve the conflict. - - - Restarting Sync Gateway with this property enabled will not automatically result - in disk space savings (compaction on a document won''t occur until a document - is updated). - - - *Constraints:* - - - Push replications to pre-2.8 targets do not support the `"allow_conflicts": - false` setting; the target must use `"allow_conflicts": true`. - - - Change initiates a database restart. - - ' - default: true - num_index_replicas: - type: integer - description: 'use `num_index_replicas` property to define the number of index - replicas used when creating the core Sync Gateway indexes. - - - Only applicable if `databases.$db.use_views` is set to `false` (default value). - - - Change initiates a database restart. - - ' - default: 1 - use_views: - type: boolean - description: 'If set to `true`, Sync Gateway will use views instead of GSI for - system functions like authentication and replication. - - ' - default: false - send_www_authenticate_header: - type: boolean - description: Whether to send WWW-Authenticate header in 401 responses. - default: true - bucket_op_timeout_ms: - type: integer - description: 'Use ```bucket_op_timeout_ms``` to define how long Sync Gateway will - wait for a bucket operation to complete before timing out and trying again. - - - You may increase this value where there is a heavy load on Couchbase Server - and operations are likely to take more than 2.5 seconds to complete. - - - The default value is 2500 milliseconds. - - - Changes initiate a database restart. - - ' - default: 2500 - delta_sync: - type: object - title: Delta Sync - description: '*NOTE:* Delta Sync is an Enterprise Edition feature on Sync Gateway - and Couchbase Lite. - - - Use the `delta_sync ` object to specify the delta sync configuration properties. - - - In this context, delta-sync, is the ability to replicate only those parts of - a Couchbase mobile document that have changed. - - This results in significant savings in bandwidth consumption as well as throughput - improvements; both useful benefits when network bandwidth is typically constrained. - - - Delta Sync does not apply to attachment contents. - - - Delta Sync is disabled by default on the Sync Gateway. You can enable it through - the `enabled` property. - - - If delta sync is enabled on Sync Gateway, then Couchbase Lite clients will switch - to using delta sync automatically. - - Similarly, if delta sync is disabled on Sync Gateway, clients will switch to - normal mode. - - - Changes initiate a database reload - - ' - properties: - enabled: - type: boolean - description: "Use the ```delta_sync.enabled``` property to turn delta sync\ - \ mode on or off for the given database.\n\nThe following configuration\ - \ example enables delta sync.\n\n```json\n{\n \"databases\": {\n \"\ - db\": {\n \"delta_sync\": {\n \"enabled\": true,\n \"\ - rev_max_age_seconds\": 86400\n }\n }\n }\n}\n```\n\nFootnotes\n\ - \n- Use of Delta Sync incurs additional bucket storage requirements which\ - \ can be tuned with the [`rev_max_age_seconds`](#databases-this_db-delta_sync-rev_max_age_seconds)\ - \ property.\n\n- Delta Sync is automatically enabled for peer-to-peer sync\ - \ between Couchbase Lite clients.\n\n- Delta sync is disabled for Couchbase\ - \ Lite database replicas.\n\n- Push replications do not use Delta Sync when\ - \ pushing to a pre-2.8 target.\n\n" - default: false - rev_max_age_seconds: - type: integer - description: 'Use ```delta_sync.rev_max_age_seconds``` to adjust the time - box within which deltas can be generated. - - - On a write operation, the revision body is backed up in the bucket and retained - for `rev_max_age_seconds` to calculate future revision deltas. - - As a result, new deltas can only be generated for read requests that come - in within the `rev_max_age_seconds` time window. - - The storage of backed up revision bodies for delta sync incurs additional - bucket storage requirements. - - - The additional storage can be calculated with the following formula: `(doc_size - * updates_per_day * 86400) / rev_max_age_seconds`. - - - For example, with `rev_max_age_seconds`''s default value, an average document - size of 4 KB and 100 writes/day, enabling delta sync would take up an additional - 400 KB of storage on Couchbase Server (`(4 * 100 * 86400)/86400`). - - - Setting this value to 0 will generate deltas opportunistically on pull replications, - with no additional storage requirements. - - ' - default: 86400 - compact_interval_days: - type: number - description: 'Use `` property to define the interval between scheduled compaction - runs (in days). - - - Set a zero (0) value to suppress running compactions. - - - Change initiates a database restart. - - - ' - isgr_enabled: - type: boolean - default: true - description: 'Use the `isgr_enabled` property to define whether this Sync Gateway - node can be assigned inter-Sync Gateway replications for this database. - - - If set to false, the Sync Gateway node will not participate in inter-Sync Gateway - replications. - - - ' - isgr_websocket_heartbeat_secs: - type: integer - default: 300 - description: 'If set, this duration (in seconds) is used as a custom heartbeat - interval for websocket ping frames in inter-Sync Gateway replications. - - - ' - serve_insecure_attachment_types: - type: boolean - default: false - description: 'The sending of a content-disposition header for attachments with - headers such as "text/html" - - forces a download, rather than browser rendering. - - - Use this option to suppress sending the content-disposition, allowing the browser - to render the attachment. - - - ' - query_pagination_limit: - type: integer - description: 'Use the `query_pagination_limit` property to define the Query limit - to be used during pagination of large queries. - - - Change initiates a database restart. - - - ' - slow_query_warning_threshold: - type: integer - default: 500 - description: 'The maximum wait time, in milliseconds,for N1QL or View queries - made by Sync Gateway - - - Log warnings if the run time of a N1QL or View query, made by Sync Gateway, - exceeds this value. - - - ' - user_xattr_key: - type: string - default: none - description: "The ```user_xattr_key``` identifies the user xattr used to hold\ - \ the channel access grants for documents in this database.\n\nIf it is not\ - \ specified or its value is spaces or null then this feature is disabled (default).\n\ - \nIf you change the value of this key, no existing grant assignments will be\ - \ changed until a document mutation is triggered.\nThis can be done in a number\ - \ of ways:\n- a mutation to the document which we'll see via DCP\n- an on-demand\ - \ import either through write or get\n- by using the resync function.\n\n*Dependencies:*\n\ - \ The `user_xattr_key` feature requires that --\n\n - `enable_shared_bucket_access`\ - \ be = `true`\n\n - xattrs be supported on the connected Couchbase Server\n\ - \nChange initiates a database restart\n\n" - client_partition_window_secs: - type: string - default: 2592000 - description: 'Use the `client_partition_window_secs` property to define how long - clients can remain offline for without losing replication metadata. - - - Default 2 592 000 seconds (30 days) - - - ' diff --git a/modules/ROOT/assets/attachments/sg-Replication_model.yaml b/modules/ROOT/assets/attachments/sg-Replication_model.yaml deleted file mode 100644 index b1a23fc11..000000000 --- a/modules/ROOT/assets/attachments/sg-Replication_model.yaml +++ /dev/null @@ -1,412 +0,0 @@ -type: object -title: Replication Model -description: Data schema for the replication model -properties: - adhoc: - type: boolean - default: false - description: '" - - **About** - - - Use the Admin REST API''s `adhoc` parameter to specify that a replication is - ad hoc rather than persistent. - - - **Behavior** - - - Ad hoc replications behave the same as normal replications, but they are automatically - removed when their status changes to stopped. - - This will usually be on completion, but may also be as a result of user action. - - - **Constraints** - - - This parameter is **NOT** available to configured replications; only those initialized - using the Admin REST API." - - ' - batch_size: - type: integer - default: 200 - description: '**About** - - - Use the optional `batch_size` property to specify the number of changes to be - included in a single batch during replication. - - ' - cancel: - type: boolean - default: false - description: '**About** - - - Use this parameter on,y when you want to want to cancel an existing active replication. - - - **Constraints** - - - - This parameter is **NOT** available in configured replications; only those - initialized using the Admin REST API. - - - - **NOTE** that the body of the request must be the same as the replication''s - replication definition for the cancellation request to be honoured. - - For example, if you requested continuous replication, the cancellation request - must also contain the continuous field. - - ' - conflict_resolution_type: - type: string - default: default - description: "**About**\n\nThe **`conflict_resolution_type`** property defines\ - \ the conflict resolution policy that Sync Gateway applies when resolving conflicting\ - \ revisions.\n\nThe default behavior is that automatic conflict resolution policy\ - \ is applied.\n\n**Valid options**\n - `default`\n - `localWins`\n - `remoteWins`\n\ - \ - `custom`\n\n**Behavior**\n\n- *default* - Selecting `default` applies the\ - \ following conflict resolution policy\n - Deletes always win (the delete with\ - \ longest revision history wins if both revisions are deletes)\n - The revision\ - \ with the longest revision history wins (so, the one with most changes and\ - \ consequently the highest revision Id).\n\n- *localWins* - Selecting `localWins`\ - \ will result in local revisions always being the winner in any conflict.\n\ - - *remoteWins* - Selecting `remoteWins` will result in remote revisions always\ - \ being the winner in any conflict.\n\n\n- *custom* - Selecting `custom` specifies\ - \ that you want to handle conflict resolution with your own application logic.\ - \ You **must** provide this logic as a Javascript function by specifying it\ - \ in using the custom-conflict-resolver parameter.\n\n**Example**\n```\n\"conflict_resolution_type\"\ - :\"remoteWins\"\n```\n\n**Constraints**\n\n- Replications created prior to version\ - \ 2.8 will default to `default`.\n" - continuous: - type: boolean - default: false - description: '**About** - - - The `continuous` property specifies whether this replication will run in continuous - mode. - - - **Behavior** - - - - `continuous=true`-- In continuous mode, changes are immediately synced in - accordance with the replication definition. - - - `continuous=false`-- Detected changes are synced in accordance with the replication - definition. The replication ceases once all revisions are processed. - - - **Constraints** - - - - Optional for stops and removes - - ' - custom_conflict_resolver: - type: string - default: none - description: "**About**\n\nThe optional `custom_conflict_resolver` property specifies\ - \ the Javascript function that will be used to resolve conflicts, if the custom\ - \ conflict resolution type is specified in the `conflict_resolution_type`.\n\ - \n**Options**\n\nThe property is *mandatory* when `conflict_resolution_type=custom`\ - \ and will be ignored in all other cases.\n\n**Using**\n\nProvide the required\ - \ logic in a Javascript function, as a string within backticks (see also the\ - \ description for the `sync` function`.\n\nThe function takes one parameter\ - \ `struct` representing the conflict and comprising\n- the document id\n- the\ - \ local document\n- the remote document\n\nThe function returns a document `struct`\ - \ representing the winning revision.\n\n**Example**\n```\n\"custom_conflict_resolver\"\ - :`\n function(conflict) {\n console.log(\"full remoteDoc doc: \"+JSON.stringify(conflict.RemoteDocument));\n\ - \ return conflict.RemoteDocument;\n}`\n```\n\n**Constraints**\n\nUsing complex\ - \ `custom_conflict_resolver` functions can noticeably degrade performance. Use\ - \ a built-in resolver whenever possible.\n" - direction: - type: string - description: '**About** - - - The mandatory `direction` property specifies whether the replication is *push*, - *pull* or *pushAndPull* relative to this node. - - - The property value is referenced by the [remote](rest-api-admin.html#database-this_db-replications-remote) - property. - - - **Behavior** - - - - `pull` - changes are pulled from the `remote` database - - - `push` - changes are pushed to the `remote` database - - - `pushAndPull` - changes are both pushed-to and pulled-from the `remote` database - - - **Constraints** - - - Replications created prior to version 2.8 derive their *direction* from the - source/target url of the replication. - - ' - enable_delta_sync: - type: boolean - default: false - description: '**About** - - - The optional `enable_delta_sync` parameter turns on delta sync for a replication. - - It works in conjunction with the database level setting `delta_sync.enabled`. - - - **Options** - - - - `"enable_delta_sync": true`, the replication can use delta sync (depending - on `delta_sync.enabled` setting) - - - `"enable_delta_sync": false`, the replication cannot use delta sync - - - **Behavior** - - - The optional `enable_delta_sync` parameter works in conjunction with the database - level `delta_sync.enabled` setting, to determine whether this replication uses - delta sync. - - - - **If** `"delta_sync.enabled": true` for both databases involved in the replication, - then this parameter enables or disables its use for this specific replication. - - - In all other cases it has no effect and the replication runs without delta-sync. - - - **Constraints** - - - - Applies **ONLY** to Enterprise Edition deployments. - - - Depends upon the setting of the database level parameter `delta_sync.enabled` - - - Replications created prior to version 2.8 must run with `"enable_delta_sync": - false` - - - Push replications will not use Delta Sync when pushing to a pre-2.8 target - - ' - filter: - type: string - description: '**About** - - - Use the optional `filter`property to defines the function to be used to filter - documents. - - - **Options** - - - A common value used when replicating from Sync Gateway is `sync_gateway/bychannel`. - - This option limits the pull replication to a specific set of channels. - - You can specify the required channels using `query_params`. - - - **Behavior** - - - Works in conjunction with `query_params` to control the documents processed - by the replication. - - - **Example** - - - ``` - - "filter":"sync_gateway/bychannel" - - ``` - - - **Constraints** - - - OPTIONAL for stops and removes (even if defined during creation) - - ' - max_backoff_time: - type: integer - default: 5 - description: 'The **max_backoff_time**property specifies the time-period (in minutes) - during which Sync Gateway will attempt to reconnect lost or unreachable *remote* - targets. - - - On disconnection, Sync Gateway will do an exponential backoff up to the specified - value, after which it will attempt to reconnect indefinitely every *max_backoff_time* - minutes. - - - If a zero value is specified, then Sync Gateway will do an exponential backoff - up to an interval of five minutes before stopping the replication. - - - NOTE - this value defaults to five minutes for replications created prior to - version 2.8. - - ' - password: - type: string - default: mandatory - description: "**About**\n\n Use `password` to provide the login password value\ - \ for the accredited user running this replication.\n\n**Behavior**\n\n These\ - \ details are used to authenticate credentials and approve access to data.\n\ - \n Once provided and recorded, the password data is redacted and will not be\ - \ displayed in either the configuration file or Admin REST API. A string of\ - \ `****` will be displayed in its place.\n" - purge_on_removal: - type: boolean - default: false - description: '**About** - - - The optional `purge_on_removal` property specifies, per replication, whether - the removal of a `channel` triggers a purge. - - - **Options** - - - `true` or `false` - - - Default = false - Document removals are ignored by receiving end - - - **Behavior** - - - If `purge_on_removal=false`, then the removal of channels is ignored (not purged) - by the receiving end. - - - **Constraints** - - - - Applies only to PULL replications, including the PULL portion of a PUSHANDPULL - replication. - - - - Replications created prior to version 2.8 *must* be run with `purge_on_removal=false`. - - ' - query_params: - type: array - description: "**About**\n\nThe `query_params` property defines a set of key/value\ - \ pairs used in the query string of the replication.\n\n**Behavior**\n\nThis\ - \ property works in conjunction with `filters` and `channels` to provide routing.\n\ - \n**Using**\n\nYou can use `query_params`' *channels* function to *pull* from\ - \ a specific set of `channels`.\nTo do so, you would also need to set the `filter`\ - \ to `sync_gateway/bychannels`.\n\n**Example**\n\n```json\n \"filter\":\"\ - sync_gateway/bychannel\",\n \"query_params\": {\n \"channels\":[\"channel.user1\"\ - ]\n },\n```\n\n**Constraints**\n\nOPTIONAL for stops and removes (even if defined\ - \ during creation)\n" - items: - type: string - remote: - type: string - description: "**About**\n\nThe **remote** property represents the endpoint of\ - \ a database for the remote Sync Gateway.\nThat is, it identifies the remote\ - \ Sync Gateway database that is the subject of this replication's push, pull\ - \ or pushAndPull action.\n\nTypically the endpoint will include URI, Port and\ - \ Database name elements.\n\nYou can also include user credentials in the URL,\ - \ in the form ```:```.\nThe credentials relate to an existing\ - \ Sync Gateway user on the remote server.\n\n**Example**\n``` \"remote\": \"\ - http://user:password@example.com:4985/db1-remote\"```\n\n\n**Format**\n\n- a\ - \ string containing a valid URL for a (remote) Sync Gateway database.\n- an\ - \ object whose url property contains the Sync Gateway database URL.\n\n**Behavior**\n\ - \n Dependent upon setting of **direction**.\n\n If **direction** is :\n -\ - \ *pull*, 'remote' defines the remote cluster *from* which data is pulled\n\ - \ - *push*, 'remote' defines the remote cluster *to* which data is pushed\n\ - \ - *pushAndPull*, 'remote' defines the *push* configuration.\n\n**Example**\n\ - \n```json\n\"remote\": \"http://www.example.com:4984/sample-database\",\n```\n" - replication_id: - type: string - description: '**About** - - - The *replication_id* property specifies either: - - - - For NEW replications, the ID to be assigned to the the replication. - - If no *replication_id* is specified, Sync Gateway will assign a random UUID - to new replications. - - - - For existing replications, this is the ID of the required replication. - - - - If **cancel=true**, this is the id of the active replication task to be cancelled. - - - **Constraints** - - - If this is specified in the body of a POST or PUT request then it must be the - same value as specified in the request URL. - - ' - initial_state: - type: string - default: Running - description: '**About** - - - The optional `initial_state` property is used to specify that the replication - must be launched in ''Stopped'' mode - - - **Behavior** - - - All replications are configured to start on Sync Gateway launch. So, if omitted, - the state defaults to ''Running''. - - - **Constraints* - - - Replications created prior to version 2.8 will all default to a state of ''Running''. - - ' - username: - type: string - default: Mandatory - description: '**About** - - - Use `username` to provide the name of the accredited user running this replication. - - - **Behavior** - - - These details are used to authenticate credentials and approve access to data - - - Once provided and recorded, the username data is redacted and will not be displayed - in either the configuration file or Admin REST API. A string of `****` will - be displayed in its place. - - - ' diff --git a/modules/ROOT/assets/attachments/sg-Role_and_User_model.yaml b/modules/ROOT/assets/attachments/sg-Role_and_User_model.yaml deleted file mode 100644 index 950aa7cf7..000000000 --- a/modules/ROOT/assets/attachments/sg-Role_and_User_model.yaml +++ /dev/null @@ -1,136 +0,0 @@ -type: object -properties: - Role: - title: Role Configuration Model - type: object - description: 'Use the `role` property to define a Sync Gateway role - - ' - required: - - name - properties: - name: - type: string - description: 'Name of the role - - ' - admin_channels: - type: array - description: 'Array of channel names the role allows access to - - ' - items: - type: string - all_channels: - type: array - readOnly: true - description: 'Lists all the channels the role has access to including any - assigned by the `sync` function. - - - This is a derived property and changes to it are ignored. - - ' - items: - type: string - User: - type: object - title: User Configuration Model - description: 'Definition of a Sync Gateway user - - - Change initiates database restart - - - ' - required: - - name - properties: - name: - type: string - description: 'The user name (the same name used in the URL path). - - - The valid characters for a user name are alphanumeric ASCII characters and - the underscore character. - - - The name property is required in a POST request. - - - You don''t need to include it in a PUT request because the user name is - specified in the URL. - - ' - password: - type: string - description: 'Password of the user. - - - Mandatory, unless `allow_empty_password=true`. - - - ' - admin_channels: - type: array - description: 'The channels that the user is able to access. - - ' - items: - type: string - description: 'Channel name - - - ' - admin_roles: - type: array - description: 'An array of the roles this user is associated with. - - ' - items: - type: string - description: Role name - all_channels: - type: array - description: 'Shows the channels the user can access, as granted by the sync - function. - - - This is a read-only property. - - Changes to it are ignored. - - ' - readOnly: true - items: - type: string - description: Channel name - email: - type: string - description: 'Email address of the user. - - ' - disabled: - type: boolean - description: 'This property is usually not included. - - - If the value is `true`, access for the account is disabled and the user - will not be able to login. - - ' - roles: - type: array - readOnly: true - description: 'Shows the roles this user is associated with by the Sync function. - - - This is a read-only property. - - Changes to it are ignored. - - - ' - items: - type: string - description: Role name From cbd4fa35c3a0a1901c2e03b369e7df24a9a7b8f1 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 17:46:21 +0100 Subject: [PATCH 03/20] Move overlays to attachments --- .../admin.yaml => rest-api/attachments/_admin.overlay.yaml} | 0 .../metric.yaml => rest-api/attachments/_metric.overlay.yaml} | 0 .../public.yaml => rest-api/attachments/_public.overlay.yaml} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename modules/{ROOT/assets/overlays/admin.yaml => rest-api/attachments/_admin.overlay.yaml} (100%) rename modules/{ROOT/assets/overlays/metric.yaml => rest-api/attachments/_metric.overlay.yaml} (100%) rename modules/{ROOT/assets/overlays/public.yaml => rest-api/attachments/_public.overlay.yaml} (100%) diff --git a/modules/ROOT/assets/overlays/admin.yaml b/modules/rest-api/attachments/_admin.overlay.yaml similarity index 100% rename from modules/ROOT/assets/overlays/admin.yaml rename to modules/rest-api/attachments/_admin.overlay.yaml diff --git a/modules/ROOT/assets/overlays/metric.yaml b/modules/rest-api/attachments/_metric.overlay.yaml similarity index 100% rename from modules/ROOT/assets/overlays/metric.yaml rename to modules/rest-api/attachments/_metric.overlay.yaml diff --git a/modules/ROOT/assets/overlays/public.yaml b/modules/rest-api/attachments/_public.overlay.yaml similarity index 100% rename from modules/ROOT/assets/overlays/public.yaml rename to modules/rest-api/attachments/_public.overlay.yaml From 3ac1f09191e763da2c168c9948591114403f283e Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 17:47:19 +0100 Subject: [PATCH 04/20] Move bundles to hidden bld directory --- .../assets/attachments/bundled-admin.yaml | 9871 ----------------- .../assets/attachments/bundled-metric.yaml | 336 - .../assets/attachments/bundled-public.yaml | 3273 ------ 3 files changed, 13480 deletions(-) delete mode 100644 modules/ROOT/assets/attachments/bundled-admin.yaml delete mode 100644 modules/ROOT/assets/attachments/bundled-metric.yaml delete mode 100644 modules/ROOT/assets/attachments/bundled-public.yaml diff --git a/modules/ROOT/assets/attachments/bundled-admin.yaml b/modules/ROOT/assets/attachments/bundled-admin.yaml deleted file mode 100644 index dc5ad4842..000000000 --- a/modules/ROOT/assets/attachments/bundled-admin.yaml +++ /dev/null @@ -1,9871 +0,0 @@ -openapi: 3.0.3 -info: - title: Sync Gateway Admin REST API - description: |- - # Introduction - - The Sync Gateway Admin REST API is used to administer user accounts and roles, and to run administrative tasks in superuser mode. - version: '3.3' - license: - name: Business Source License 1.1 (BSL) - url: https://github.com/couchbase/sync_gateway/blob/master/LICENSE -servers: - - url: '{protocol}://{hostname}:4985' - description: Admin API - variables: - protocol: - description: The protocol to use (HTTP or HTTPS) - default: http - enum: - - http - - https - hostname: - description: The hostname to use - default: localhost -tags: - - name: Authentication - description: Manage authentication - - name: Server - description: Manage server activities - - name: Database Management - description: Create and manage Sync Gateway databases - - name: Database Configuration - description: Configure Sync Gateway databases - - name: Database Security - description: Create and manage database users and roles - - name: Session - description: Manage user sessions - - name: Document - description: Create and manage documents and attachments - - name: Replication - description: Create and manage inter-Sync Gateway replications - - name: Metrics - description: Get Sync Gateway statistics - - name: Profiling - description: Generate information to help debug and fine-tune Sync Gateway - - name: Unsupported - description: Endpoints that are not supported by Sync Gateway -externalDocs: - description: ⬆️ Admin REST API Overview - url: rest-api-admin.html -paths: - /{db}/_session: - parameters: - - name: db - in: path - required: true - schema: &ref_3 - type: string - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get information about the current user - description: This will get the information about the current user. - responses: - '200': - description: Properties associated with a user session - content: &ref_4 - application/json: - schema: - type: object - properties: &ref_119 - authentication_handlers: - description: The ways authentication can be established to authenticate as the user. - type: array - items: - type: string - ok: - type: boolean - userCtx: - type: object - properties: - channels: - description: | - A map of the channels the user has access to and the sequence number each channel was created at. - - The key is the channel name and the value is the sequence number. - type: object - name: - description: The name of the user. - type: string - nullable: true - title: User Session Information - '404': - description: Resource could not be found - content: &ref_2 - application/json: - schema: - type: object - properties: &ref_0 - error: - description: The error name. - type: string - reason: - description: The error description. - type: string - required: &ref_1 - - error - - reason - title: HTTP-Error - example: - error: not_found - reason: no such database "invalid-db" - tags: - - Session - operationId: get_db-_session - post: - summary: Create a new user session - description: |- - Generates a login session for a user and returns the session ID and cookie name for that session. If no TTL is provided, then the default of 24 hours will be used. - - A session cannot be generated for an non-existent user or the `GUEST` user. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - requestBody: - description: The body can depend on if using the Public or Admin APIs. - content: - application/json: - schema: - type: object - properties: - name: - description: User name to generate the session for. - type: string - ttl: - description: Time until the session expires. Uses default value of 24 hours if left blank. This value must be greater or equal to 1. - type: integer - responses: - '200': - description: Session created successfully. Returned body is dependant on if using Public or Admin APIs. - content: - application/json: - schema: - type: object - properties: - session_id: - description: The ID of the session. This is the value that would be put in to the cookie to keep the user authenticated. - type: string - expires: - description: The date and time the cookie expires. - type: string - cookie_name: - description: The name of the cookie that would be used to store the users session. - type: string - examples: - Example: - value: - session_id: c5af80a039db4ed9d2b6865576b6999935282689 - expires: '2022-01-21T15:24:44Z' - cookie_name: SyncGatewaySession - '400': - description: Origin is not in the approved list of allowed origins - content: &ref_106 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Session - operationId: post_db-_session - /{db}/_session/{sessionid}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: sessionid - in: path - required: true - schema: &ref_16 - type: string - description: The ID of the session to target. - get: - summary: Get session information - description: |- - Retrieve session information such as the user the session belongs too and what channels that user can access. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - * Sync Gateway Application Read Only - responses: - '200': - description: Properties associated with a user session - content: *ref_4 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Session - operationId: get_db-_session-sessionid - delete: - summary: Remove session - description: |- - Invalidates the session provided so that anyone using it is logged out and is prevented from future use. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - responses: - '200': - description: Successfully removed the user session - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Session - operationId: delete_db-_session-sessionid - /{keyspace}/_raw/{docid}: - parameters: - - name: keyspace - in: path - required: true - schema: &ref_5 - type: string - examples: &ref_6 - default: - summary: Default scope and collection - value: db1 - description: Default scope and collection - namedInDefault: - summary: Named collection within the default scope - value: db1.collection1 - description: Named collection within the default scope - fullyQualified: - summary: Fully-qualified scope and collection - value: db1.scope1.collection1 - description: Fully-qualified scope and collection - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - required: true - schema: &ref_7 - type: string - example: doc1 - description: The document ID to run the operation against. - get: - summary: Get a document with the corresponding metadata - description: |- - Returns a document's latest revision with its metadata. - - Note: The direct use of this endpoint is unsupported. The sync metadata is maintained internally by Sync Gateway and its structure can change. It should not be used to drive business logic of applications since the response to the `/{db}/_raw/{id}` endpoint can change at any time. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: include_doc - in: query - required: false - schema: &ref_111 - type: string - description: Include the body associated with the document. - - name: redact - in: query - description: This redacts sensitive parts of the response. Cannot be used when `include_doc=true` - schema: - type: boolean - responses: - '200': - description: Document found successfully - content: - application/json: - schema: - type: object - properties: - _sync: - type: object - properties: - rev: - description: The current document revision ID. - type: string - sequence: - description: The most recent sequence number of the document. - type: number - recent_sequences: - description: The previous sequence numbers of the document. - type: array - items: - type: number - history: - type: object - properties: - revs: - description: The past revision IDs. - type: array - items: - type: string - parents: - type: array - items: - type: number - channels: - description: The past channel history. Can contain string arrays, strings, or be null depending on if and how the channels where set. - type: array - items: - type: array - items: - type: string - nullable: true - cas: - description: The document CAS (Concurrent Document Mutations) number used for document locking. - type: string - value_crc32c: - description: The document's CRC32 number. - type: string - channel_set: - description: The channels the document has been in. - type: array - items: - type: object - properties: - name: - description: The name of the channel. - type: string - start: - description: The sequence number that document was added to the channel. - type: string - end: - description: The sequence number the document was removed from the channel. Omitted if not removed. - type: string - nullable: true - channel_set_history: - type: array - items: - type: object - properties: - name: - type: string - start: - type: string - end: - type: string - nullable: true - time_saved: - description: The time and date the document was most recently changed. - type: string - '400': - description: There was a problem with your request - content: &ref_11 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: get_keyspace-_raw-docid - /{keyspace}/_revtree/{docid}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - required: true - schema: *ref_7 - example: doc1 - description: The document ID to run the operation against. - get: - summary: Revision tree structure in Graphviz Dot format | Unsupported - description: |- - This returns the Dot syntax of the revision tree for the document so that it can be rendered in to a PNG image using the [Graphviz CLI tool](https://www.graphviz.org/). - - To use: - 1. Install the Graphviz tool. Using Brew, this can be done by calling `brew install graphviz`. - 2. Save the response text from this endpoint to a file (for example, `revtree.dot`). - 3. Render the PNG by calling `dot -Tpng revtree.dot > revtree.png`. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - - **Note: This endpoint is useful for debugging purposes only. It is not officially supported.** - responses: - '200': - description: Found document - content: - application/json: - schema: - type: string - example: digraph graphname{"1-d4d949b7feafc8c31215684baa45b6cd" -> "2-4f3f24143ea43d85a9a340ac016fdfc4"; } - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_keyspace-_revtree-docid - /{db}/: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get database information - description: |- - Retrieve information about the database. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: Successfully returned database information - content: - application/json: - schema: - type: object - properties: - db_name: - description: Database name - type: string - example: db - update_seq: - description: |- - The last sequence number that was committed to the database. - - Will return 0 if the database is offline. - type: integer - example: 123456 - committed_update_seq: - description: |- - The last sequence number that was committed to the database. - - Will return 0 if the database is offline. - type: integer - example: 123456 - instance_start_time: - description: Timestamp of when the database opened, in microseconds since the Unix epoch. - type: integer - example: 1644600082279583 - compact_running: - description: Indicates whether database compaction is currently taking place or not. - type: boolean - purge_seq: - description: Unused field. - type: number - default: 0 - disk_format_version: - description: Unused field. - type: number - default: 0 - state: - allOf: - - description: The state of the database. - type: string - enum: &ref_12 - - Online - - Offline - - Starting - - Stopping - - Resyncing - x-enumDescriptions: &ref_13 - Online: The database is online and available for use. - Offline: The database is offline, resync and other offline only endpoints are allowed. - Starting: The database is in the process of going online. - Stopping: The database is no longer accepting connections and is being taken offline or deleted. - Resyncing: The database is offline and performing a resync operation. - server_uuid: - description: Unique server identifier. - type: string - example: 995618a6a6cc9ac79731bd13240e19b5 - require_resync: - description: Indicates whether the database requires resync before it can be brought online. - type: boolean - init_in_progress: - description: Indicates whether database initialization is in progress. - type: boolean - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Management - operationId: get_db- - delete: - summary: Remove a database - description: |- - Removes a database from the Sync Gateway cluster - - **Note:** If running in legacy mode, this will only delete the database from the current node. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - responses: - '200': - description: Successfully removed the database - content: - application/json: - schema: - type: object - properties: {} - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Cannot remove database from bucket - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Management - operationId: delete_db- - head: - summary: Check if database exists - description: |- - Check if a database exists by using the response status code. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: Database exists - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Management - operationId: head_db- - put: - summary: Create a new Sync Gateway database - description: |- - This is to create a new database for Sync Gateway. - - The new database name will be the name specified in the URL, not what is specified in the request body database configuration. - - If the bucket is not provided in the database configuration, Sync Gateway will attempt to find and use the database name as the bucket. - - By default, the new database will be brought online immediately. This can be avoided by including `"offline": true` in the configuration in the request body. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: disable_oidc_validation - in: query - required: false - description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: &ref_41 - type: boolean - default: false - requestBody: - description: The configuration to use for the new database - content: - application/json: - schema: - description: The properties of a database configuration. - type: object - properties: &ref_40 - server: - description: 'This is the Couchbase Server address or addresses that the database connect to. ' - type: string - pool: - description: This field is unsupported and ignored. - type: string - default: default - deprecated: true - bucket: - description: The Couchbase Server backing bucket for the database. - type: string - default: The database name - username: - description: The username for authenticating to the server. - type: string - password: - description: The password for authenticating to the server. - type: string - certpath: - description: The cert path (public key) for X.509 bucket auth. - type: string - keypath: - description: The key path (private key) for X.509 bucket auth - type: string - cacertpath: - description: The root CA cert path for X.509 bucket authentication. - type: string - kv_tls_port: - description: The Memcached TLS port. - type: integer - default: 11207 - max_concurrent_query_ops: - description: The maximum amount of query operations that can be running at any one point. - type: integer - default: 1000 - scopes: - description: An object keyed by scope name containing config for the specific collection. - type: object - additionalProperties: - x-additionalPropertiesName: scopename - description: Scope-specific configuration. - type: object - properties: &ref_121 - collections: - description: An object keyed by collection name containing config for the specific collection. - type: object - additionalProperties: - x-additionalPropertiesName: collectionname - description: Collection-specific configuration. - type: object - properties: &ref_120 - sync: - description: The Javascript function that newly created documents in this collection are ran through. - type: string - example: function(doc){channel("collection name");} - import_filter: - description: |- - This is the function that all imported documents in this collection are ran through in order to filter out what to import and what not to import. This allows you to control what is made available to Couchbase Mobile clients. If it is not set, then no documents are filtered when imported. - - `import_docs` in the database config must be true to make this field applicable. - type: string - example: function(doc) { if (doc.type != 'mobile') { return false; } return true; } - title: Collection config - title: Scopes - maxProperties: 1 - example: - scopename: - collections: - collectionname1: - sync: function(doc){channel("collection name");} - import_filter: function(doc) { if (doc.type != 'mobile') { return false; } return true; } - collectionname2: - sync: function(doc){channel("collection name");} - import_filter: function(doc) { if (doc.type != 'mobile') { return false; } return true; } - name: - description: The name of the database. - type: string - sync: - description: |- - The Javascript function that newly created documents are ran through for the default scope and collection. - If `scopes` parameter is set, this is ignored. - type: string - default: function(doc){channel(doc.channels);} - users: - additionalProperties: - x-additionalPropertiesName: username - description: Properties associated with a user - type: object - properties: &ref_10 - name: - description: |- - The name of the user. - - User names can only have alphanumeric ASCII characters and underscores. - type: string - password: - description: |- - The password of the user. - - Mandatory. unless `allow_empty_password` is `true` in the database configs. - type: string - admin_channels: - description: |- - A list of channels to explicitly grant to the user for the default collection. - See `collection_access` for channels in named collections. - type: array - items: - type: string - all_channels: - description: |- - All the channels that the user has been granted access to for the default collection. - See `collection_access` for channels in named collections. - - Access could have been granted through the sync function, roles, or explicitly on the user under the `admin_channels` property. - type: array - items: - type: string - readOnly: true - email: - description: The email address of the user. - type: string - disabled: - description: If true, the user will not be able to login to the account as it is disabled. - type: boolean - default: false - admin_roles: - description: A list of roles to explicitly grant to the user. - type: array - items: - type: string - roles: - description: |- - All the roles that the user has been granted access to. - - Access could have been granted through the sync function, roles_claim, or explicitly on the user under the `admin_roles` property. - type: array - items: - type: string - readOnly: true - jwt_roles: - description: The roles that the user has been added to through roles_claim. - type: array - items: - type: string - readOnly: true - jwt_channels: - description: The channels that the user has been granted access to through channels_claim for the default collection. - type: array - items: - type: string - readOnly: true - jwt_issuer: - description: The issuer of the last JSON Web Token that the user last used to sign in. - type: string - readOnly: true - jwt_last_updated: - description: The last time that the user's JWT roles/channels were updated. - type: string - format: date-time - readOnly: true - collection_access: &ref_8 - description: A set of access grants by scope and collection for a specific collection. - type: object - additionalProperties: - maxProperties: 1 - description: An object keyed by scope, containing a set of collections. - type: object - x-additionalPropertiesName: scopename - additionalProperties: - description: An object keyed by collection name, defines access collections in this scope. - type: object - x-additionalPropertiesName: collectionname - properties: - admin_channels: - description: A list of channels to explicitly grant to the user in this collection. - type: array - items: - type: string - all_channels: - description: |- - All the channels that the user has been granted access to in this collection. - - Access could have been granted through the sync function, roles, or explicitly on the user under the `admin_channels` property. - type: array - items: - type: string - readOnly: true - jwt_channels: - description: The channels that the user has been granted access to through channels_claim for this collection. - type: array - items: - type: string - readOnly: true - jwt_last_updated: - description: The last time that the user's JWT channels were updated for this collection. - type: string - format: date-time - readOnly: true - title: User - roles: - additionalProperties: - x-additionalPropertiesName: rolename - description: Properties associated with a role - type: object - properties: &ref_17 - name: - description: |- - The name of the role. - - Role names can only have alphanumeric ASCII characters and underscores. - type: string - admin_channels: - description: |- - A list of channels to explicitly grant to the role for the default collection. - See `collection_access` for channels in named collections. - type: array - items: - type: string - all_channels: - description: |- - All the channels that the role has been granted access to for the default collection. - - These channels could have been assigned by the Sync function or using the `admin_channels` property. - type: array - items: - type: string - readOnly: true - collection_access: *ref_8 - title: Role - revs_limit: - description: |- - The maximum depth a document's revision tree can grow too. - - The minimum is `20` if conflicts are allowed and 0 if not. It is not recommended to go below `100` when conflicts are allowed. The default is `100` if conflicts are allowed and `50` if not. - type: number - default: 50 - minimum: 0 - import_docs: - description: |- - If true, documents will be imported in to Sync Gateway from the bucket in the background. Documents will be ran through the set `import_filter` if any is set. - - The default value depends on the edition of Sync Gateway being used. If the edition is the Community Edition, then this will default to `false` or else in the Enterprise Edition, it will default to `true`. This value requires `enable_shared_bucket_access=true`. - - This can also be set to the string `continuous` which maps to true. - type: boolean - import_partitions: - description: |- - ** This is an Enterprise Edition feature only** - - This is how many import partitions should be used for import sharding. - - Partitions are distributed among all Sync Gateway nodes participating in import processing (`import_docs=true`), and each process a subset of the server's vbuckets. - - Each partition is processed by an independent function that runs simultaneously to others, so `import_partitions` can be used to tune concurrency based on the number of Sync Gateway nodes, and the number of cores per node. - type: number - default: 16 - minimum: 1 - maximum: 1024 - import_filter: - description: |- - This is the function that all imported documents in the default scope and collection are ran through in order to filter out what to import and what not to import. This allows you to control what is made available to Couchbase Mobile clients. If it is not set, then no documents are filtered when imported. - - `import_docs` must be true to make this field applicable. - - If `scopes` parameter is set, this is ignored. - type: string - example: function(doc) { if (doc.type != 'mobile') { return false; } return true; } - import_backup_old_rev: - description: This controls whether import should attempt to create a temporary backup of the previous revision body (if available) when the document is modified in the bucket. - type: boolean - default: false - event_handlers: - description: These are the settings for webhooks. - type: object - properties: - max_processes: - description: The maximum amount of concurrent event handling independent functions that can be running at the same time. - type: string - wait_for_process: - description: The maximum amount of time (in milliseconds) to wait when the even queue is full. - type: string - document_changed: - allOf: - - type: object - properties: &ref_9 - handler: - description: The handler type. - type: string - enum: - - webhook - url: - description: The URL of the webhook. - type: string - filter: - description: The Javascript function to use to filter the webhook events. - type: string - timeout: - description: The amount of time (in seconds) to attempt connect to the webhook before giving up. - type: number - title: Event-config - - type: object - properties: - options: - description: Options for the document changed event. - type: object - properties: - winning_rev_only: - description: If true, only the winning revision of the document will be sent to the webhook. - type: boolean - default: false - db_state_changed: - type: object - properties: *ref_9 - title: Event-config - feed_type: - description: The type of feed to use to communicate with Couchbase Server. This will use DCP regardless of specification. - type: string - default: DCP - enum: - - DCP - deprecated: true - allow_empty_password: - description: This controls whether users that are created can have an empty password or not. - type: boolean - default: false - cache: - type: object - properties: - rev_cache: - description: The revision cache config settings. - type: object - properties: - size: - description: |- - The maximum number of revisions that can be stored in the revision cache. - Note when running with greater than 1 shard count we add 10% capacity overall to avoid early eviction when some shards fill up before others, so - you may find that the capacity stat (revision_cache_num_items) will climb to the defined rev cache size + 10%. - type: integer - default: 5000 - max_memory_count_mb: - description: |- - The maximum amount of memory the revision cache should take up in MB, setting to 0 will disable any eviction based on memory at rev cache. - There is a minimum value of 50 (50MB) for this config option. - When set this memory limit will work in in hand with revision cache size parameter. So you will potentially get eviction at revision cache both based off memory footprint and number of items in the cache. - **This is an Enterprise Edition feature only** - type: integer - default: 0 - shard_count: - description: The number of shards the revision cache should be split into. - type: integer - default: 16 - channel_cache: - description: The channel cache config settings. - type: object - properties: - max_number: - description: The maximum number of channel caches which can exist at any one point. - type: integer - default: 50000 - compact_high_watermark_pct: - description: |- - The trigger value for starting the channel cache eviction process. - - Specify this as a percentage which will be the percentage used on `max_number). - - When the cache size, determined by `max_number`, reaches the high watermark, the eviction process iterates through the cache, removing inactive channels. - type: integer - default: 80 - compact_low_watermark_pct: - description: |- - The trigger value for stopping the channel cache eviction process. - - Specify this as a percentage which will be the percentage used on `max_number). - - When the cache size, determined by `max_number` returns to a value lower than the percentage of it set here, the cache eviction process is stopped. - type: integer - default: 60 - max_wait_pending: - description: The maximum time (in milliseconds) for waiting for a pending sequence before skipping it. - type: number - default: 5000 - max_num_pending: - description: The maximum number of pending sequences before skipping sequences. - type: integer - default: 10000 - max_wait_skipped: - description: The maximum amount of time (in milliseconds) to wait for a skipped sequence before abandoning it. - type: number - default: 3600000 - enable_star_channel: - description: Used to control whether Sync Gateway should use the all documents (*) channel. - type: boolean - default: true - max_length: - description: The maximum number of entries to maintain in the cache per channel. - type: integer - default: 500 - min_length: - description: The minimum number of entries to maintain in the cache per channel. - type: integer - default: 50 - expiry_seconds: - description: The amount of time (in seconds) to keep entries in the cache beyond the minimum retained. - type: integer - default: 60 - query_limit: - description: |- - **Deprecated in favour of the database setting `query_pagination_limit`** - - The limit used for channel queries. - type: integer - default: 5000 - deprecated: true - max_wait_pending: - description: |- - **Deprecated, please use the database setting `cache.channel_cache.max_wait_pending` instead** - - The maximum time (in milliseconds) for waiting for a pending sequence before skipping it. - type: number - deprecated: true - max_wait_skipped: - description: |- - **Deprecated, please use the database setting `cache.channel_cache.max_wait_skipped` instead** - - The maximum time (in milliseconds) for waiting for pending sequences before skipping. - type: number - deprecated: true - enable_star_channel: - description: |- - **Deprecated, please use the database setting `cache.channel_cache.enable_star_channel` instead** - - Used to control whether Sync Gateway should use the all documents (*) channel. - type: boolean - deprecated: true - channel_cache_max_length: - description: |- - **Deprecated, please use the database setting `cache.channel_cache.max_length` instead** - - The maximum number of entries maintained in cache per channel. - type: number - deprecated: true - channel_cache_min_length: - description: |- - **Deprecated, please use the database setting `cache.channel_cache.min_length` instead** - - The minimum number of entries maintained in cache per channel. - type: integer - deprecated: true - channel_cache_expiry: - description: |- - **Deprecated, please use the database setting `cache.channel_cache.expiry_seconds` instead** - - The time (seconds) to keep entries in cache beyond the minimum retained. - type: integer - deprecated: true - max_num_pending: - description: |- - **Deprecated, please use the database setting `cache.channel_cache.max_num_pending` instead** - - The max number of pending sequences before skipping. - type: integer - deprecated: true - rev_cache_size: - description: |- - **Deprecated, please use the database setting `cache.rev_cache.size` instead** - - The maximum number of revisions to store in the revision cache. - type: number - deprecated: true - offline: - description: Start the database in an offline state. - type: boolean - default: false - unsupported: - description: These are unsupported options and therefore it is not recommended to use them. - type: object - properties: - user_views: - type: object - properties: - enabled: - description: Whether pass-through view query is supported through public API. - type: boolean - oidc_test_provider: - type: object - properties: - enabled: - description: Whether the `oidc_test_provider` endpoints should be exposed on the public API. - type: boolean - api_endpoints: - type: object - properties: - enable_couchbase_bucket_flush: - description: |- - **Setting for test purposes only** - - Whether Couchbase buckets can be flushed via Admin REST API. - type: boolean - warning_thresholds: - type: object - properties: - xattr_size_bytes: - description: The number of bytes to be used as a threshold for xattr size limit warnings. - type: number - channels_per_doc: - description: The number of channels per document to be used as a threshold for the channel count warnings. - type: number - access_and_role_grants_per_doc: - description: The number of access and role grants per document to be used as a threshold for grant count warnings. - type: number - channels_per_user: - description: The number of channels per user to be used as a threshold for channel count warnings. - type: number - channel_name_size: - description: The number of channel name characters to be used as a threshold for channel name warnings. - type: number - oidc_tls_skip_verify: - description: Enable self-signed certificates for OIDC testing. - type: boolean - sgr_tls_skip_verify: - description: Enable self-signed certificates for SG-replicate testing. - type: boolean - remote_config_tls_skip_verify: - description: Enable self-signed certificates for external JavaScript load. - type: boolean - guest_read_only: - description: Restrict GUEST document access to read-only. - type: boolean - force_api_forbidden_errors: - description: Force REST API errors to return forbidden - type: boolean - dcp_read_buffer: - description: Set the dcp feed to use a different read buffer size. - type: number - kv_buffer: - description: Set the kv pool to use a different buffer size. - type: number - local_jwt: - description: Configuration for Local JWT authentication. - type: object - additionalProperties: - x-additionalPropertiesName: providername - description: The providers name. - type: object - required: - - issuer - - client_id - - algorithms - - keys - properties: - issuer: - description: The value to match against the "iss" claim of JWTs. - type: string - register: - description: If to register a new Sync Gateway user account when a user logs in with a JWT. - type: boolean - client_id: - description: The value to match against the "aud" claim of JWTs. Set to an empty string to disable audience validation. - type: string - algorithms: - description: The JWT signing algorithms to accept for authentication. - type: array - items: - type: string - keys: - description: The JSON Web Keys to use to validate JWTs. - type: array - items: - type: object - properties: - kty: - type: string - description: The cryptographic algorithm family used with the key, such as "RSA" or "EC" - enum: - - RSA - - EC - use: - type: string - description: The intended use of the public key. Only 'sig' is accepted. - enum: - - sig - alg: - type: string - description: The algorithm intended for use with the key. - kid: - type: string - description: The Key ID, used to identify the key to use. - crv: - type: string - description: For Elliptic Curve keys, the name of the curve to use. - enum: - - P-256 - - P-384 - - P-521 - x: - type: string - description: For Elliptic Curve keys, the X coordinate of the point, as a base64url string. - 'y': - type: string - description: For Elliptic Curve keys, the Y coordinate of the point, as a base64url string. - 'n': - type: string - description: For RSA keys, the modulus value of the key, as a Base64urlUInt-encoded value. - e: - type: string - description: For RSA keys, the exponent of the public key, as a Base64urlUInt-encoded value. - disable_session: - description: Disable Sync Gateway session creation on successful JWT authentication. - type: boolean - user_prefix: - description: This is the username prefix for all users created through this provider. - type: string - username_claim: - description: |- - Allows a different OpenID Connect field to be specified instead of the Subject (`sub`). - - The field name to use can be specified here. - type: string - roles_claim: - description: |- - If set, the value(s) of the given JSON Web Token claim will be added to the user's roles. - - The value of this claim must be either a string or an array of strings, any other type will result in an error. - type: string - channels_claim: - description: |- - If set, the value(s) of the given JSON Web Token claim will be added to the user's channels. - - The value of this claim must be either a string or an array of strings, any other type will result in an error. - type: string - oidc: - description: Configuration for OpenID Connect authentication. - type: object - properties: - providers: - description: List of OpenID Connect issuers. - type: object - additionalProperties: - x-additionalPropertiesName: providername - description: The providers name. - type: object - properties: - issuer: - description: The URL for the OpenID Connect issuer. - type: string - register: - description: If to register a new Sync Gateway user account when a user logs in with OpenID Connect. - type: boolean - client_id: - description: The OpenID Connect provider client ID. - type: string - validation_key: - description: The OpenID Connect provider client secret. - type: string - callback_url: - description: |- - The URL that the OpenID Connect will redirect to after authentication. - - If not provided, a callback URL will be generated. - type: string - disable_session: - description: Disable Sync Gateway session creation on successful OpenID Connect authentication. - type: boolean - scope: - description: The scope sent for the OpenID Connect request. - type: array - items: - type: string - include_access: - description: This is whether the `_oidc_callback` response should include the OpenID Connect access token and associated fields (such as `token_type`, and `expires_in`). - type: boolean - user_prefix: - description: This is the username prefix for all users created through this provider. - type: string - discovery_url: - description: The non-standard discovery endpoint. - type: string - disable_cfg_validation: - description: This bypasses the configuration validation based on the OpenID Connect specifications. This may be required for some OpenID providers that don't strictly adhere to the specifications. - type: boolean - default: false - disable_callback_state: - description: |- - Controls whether to maintain state between the auth request and callback endpoints (`/_oidc` and `/_oidc_callback`). - - **This is not recommended as it would cause OpenID Connect authentication to be vulnerable to Cross-Site Request Forgery (CSRF, XSRF).** - type: boolean - default: false - username_claim: - description: |- - Allows a different OpenID Connect field to be specified instead of the Subject (`sub`). - - The field name to use can be specified here. - type: string - roles_claim: - description: |- - If set, the value(s) of the given OpenID Connect authentication token claim will be added to the user's roles. - - The value of this claim must be either a string or an array of strings, any other type will result in an error. - type: string - channels_claim: - description: |- - If set, the value(s) of the given OpenID Connect authentication token claim will be added to the user's channels. - - The value of this claim must be either a string or an array of strings, any other type will result in an error. - type: string - allow_unsigned_provider_tokens: - description: Allows users accept unsigned tokens from providers. - type: boolean - IsDefault: - description: Indicates if this is the default OpenID Connect provider. - type: boolean - Name: - description: The name of the OpenID Connect Provider. - type: string - InsecureSkipVerify: - description: 'Determines whether the TLS certificate verification should be disabled for this provider. ' - type: boolean - default: false - default_provider: - description: The default provider to use when the provider is not specified in the client. - type: string - old_rev_expiry_seconds: - description: The number of seconds before old revisions are removed from the Couchbase Server bucket. - type: number - default: 300 - view_query_timeout_secs: - description: The number of seconds before a view query should timeout. - type: integer - default: 75 - local_doc_expiry_secs: - description: The number of seconds before a `_local` document should expire. - type: integer - default: 7776000 - enable_shared_bucket_access: - description: Whether to use extended attributes to store Sync Gateway document (`_sync`) metadata. - type: boolean - default: true - deprecated: true - session_cookie_secure: - description: |- - Override the session cookie `secure` flag. If set, the cookie will have the `secure` flag. - - This will default to `true` if startup config `api.https.tls_cert_path` is set otherwise it will default to `false`. - type: boolean - session_cookie_name: - description: This can be used to define a custom per-database session cookie name. - type: string - session_cookie_http_only: - description: Make all session cookies for the database set the `HttpOnly` flag so they are inaccessible to JavaScript. - type: boolean - default: false - allow_conflicts: - description: This controls whether to allow conflicting document revisions. This option is going to be removed from sync gateway, and conflicts will not be allowed. - type: boolean - default: false - deprecated: true - num_index_replicas: - description: '**Deprecated, please use the database setting `index.num_replicas` instead**' - deprecated: true - type: number - default: 1 - index: - description: Global Secondary Index Settings - properties: - num_partitions: - description: |- - The number of partitions to use for the large indexes created by Sync Gateway. It is not recommended to set this unless you require additional horizontal scalability for individual indexes and have appropriately scaled your Query nodes to handle the increased query parallelism. If set, the recommended number is 8 and does not need to be directly related to the number of your Query nodes. Ensure documentation is read to understand the performance tradeoffs and instructions for migration if you have previously run with only one partition. See [/{db}/_index_init](#operation/post_db-_index_init) for more information. - - If not specified or 1, all indexes will be non partitioned. - type: number - default: 1 - title: Number of Index Partitions - num_replicas: - description: This is the number of Global Secondary Indexes (GSI) to use for core indexes. - type: number - default: 1 - use_views: - description: Force the use of views instead of GSI. - type: boolean - default: false - send_www_authenticate_header: - description: Controls whether to send a `WWW-Authenticate` header in `401 Unauthorized` HTTP responses. - type: boolean - default: true - disable_password_auth: - description: Whether to disable username/password authentication and only allow OIDC and guest access. - type: boolean - default: false - bucket_op_timeout_ms: - description: 'This is the amount of milliseconds should pass before a bucket operation times out. An error will be returned if the bucket operation times out saying: `operation timed out`.' - type: number - slow_query_warning_threshold: - description: 'The amount of milliseconds a N1QL query should run before logging a warning. ' - type: number - default: 500 - delta_sync: - description: |- - Delta sync configuration settings. - - **This is an Enterprise Edition feature only** - type: object - properties: - enabled: - description: |- - Whether delta sync is enabled. - - **This is an Enterprise Edition feature only** - type: boolean - default: false - rev_max_age_seconds: - description: |- - The number of seconds deltas for old revisions are available for. - - This defaults to 24 hours (in seconds). - type: number - default: 86400 - compact_interval_days: - description: |- - The interval between scheduled tombstone compaction runs (in days). This can be a floating point number. - - If set to 0, compaction will not run automatically. - type: number - default: 1 - sgreplicate_enabled: - description: Whether the node should accept assign replications (`true`) or not (`false`). - type: boolean - default: true - sgreplicate_websocket_heartbeat_secs: - description: Use a custom heartbeat interval (in seconds) for websocket ping frames. - type: integer - default: 300 - replications: - type: object - properties: - replication_id: - description: Properties of a replication - type: object - properties: &ref_20 - replication_id: - description: |- - This is the ID of the replication. - - When creating a new replication using a POST request, this will be set to a random UUID if not explicitly set. - - When the replication ID is specified in the URL, this must be set to the same replication ID if specifying it at all. - type: string - maximum: 160 - remote: - description: |- - This is the endpoint of the database for the remote Sync Gateway that is the subject of this replication's `push`, `pull`, or `pushAndPull` action. - - Typically this would include the URI, port, and database name. For example, `https://localhost:4985/db`. - type: string - remote_username: - description: The username to use to authenticate with the remote. - type: string - remote_password: - description: The password to use to authenticate with the remote. This password will be redacted in the replication config. - type: string - direction: - description: This specifies which direction the replication will be replicating with the `remote` replicator. - type: string - enum: - - push - - pull - - pushAndPull - x-enumDescriptions: - pull: changes are pulled from the remote database - push: changes are pushed to the remote database - pushAndPull: changes are both push-to and pulled-from the remote database - conflict_resolution_type: - description: |- - This defines what conflict resolution policy Sync Gateway should use to apply when resolving conflicting revisions. - - Changing this is an Enterprise Edition only feature. - type: string - default: default - enum: - - default - - remoteWins - - localWins - - custom - x-enumDescriptions: - default: |- - In priority order, this will cause - - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) - - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. - localWins: This will result in local revisions always being the winner in any conflict. - remoteWins: This will result in remote revisions always being the winner in any conflict. - custom: This will result in conflicts going through your own custom conflict resolver. You must provide this logic as a Javascript function in the `custom_conflict_resolver` parameter. - custom_conflict_resolver: - description: |- - This specifies the Javascript function to use to resolve conflicts between conflicting revisions. - - This **must** be used when `conflict_resolution_type=custom`. This property will be ignored when `conflict_resolution_type` is not `custom`. - - The Javascript function to provide this property should be in backticks (like the sync function). The function takes 1 parameter which is a struct that represents the conflict. This struct has 2 properties: - * `LocalDocument` - The local document. This contains the document ID under the `_id` key. - * `RemoteDocument` - The remote document - The function should return the new document's body. This can be the winning revision (for example, `return conflict.LocalDocument`), a new body, or `nil` to resolve as a delete. - - Example: - - ```javascript - function(conflict) { - console.log("Doc ID: "+conflict.LocalDocument._id); - console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); - return conflict.RemoteDocument; - } - ``` - - Using complex `custom_conflict_resolver` functions can noticeably degrade performance. Use a built-in resolver whenever possible. - - This is an Enterprise Edition only feature. - type: string - default: '' - purge_on_removal: - description: |- - Specifies whether to purge a document if the remote user loses access to all of the channels on the document when attempting to pull it from the remote. - - If false, documents will not be replicated and not be purged when the user loses access. - type: boolean - default: false - enable_delta_sync: - description: |- - This will turn on delta-sync for the replication. In order to enable delta-sync for a replication, the database level setting `delta_sync.enabled` must also be set to true. - - Using delta-sync is an Enterprise Edition only feature. - type: boolean - default: false - max_backoff_time: - description: |- - Specifies the maximum time-period (in minutes) that Sync Gateway will attempt to reconnect to a lost or unreachable remote. - - When a disconnection happens, Sync Gateway will do an exponential backoff up to this specified value. When this value is met, it will attempt to reconnect indefinitely every `max_backoff_time` minutes. - - If this is set to 0, Sync Gateway will do the normal exponential backoff after the disconnect happens but then attempting 10 minutes and stop the replication. - - Note: this defaults to 5 minutes for replications created prior to Sync Gateway 2.8. - type: integer - default: 5 - initial_state: - description: |- - This is what state to start the replication in when creating a new replication. - - This allows you to control if the replication starts in a `stopped` start or `running` state. - - Replications prior to Sync Gateway 2.8 will run in the default state `running`. - type: string - default: running - enum: - - running - - stopped - x-enumDescriptions: - running: The replication will immediately start running. - stopped: The replication configuration will be created but the replication will not start running until the user explicitly starts it. - continuous: - description: |- - If true, changes will be immediately synced when they happen. This is known as a continuous replication. - - If false, all changes will be synced until they have been processed. The replication will then cease and not process any future changes (unless started again by the user). This is known as a one-shot replication. - type: boolean - default: false - filter: - description: This defines whether to filter documents. - type: string - enum: - - sync_gateway/bychannel - - '' - x-enumDescriptions: - '': Do not filter any documents. - sync_gateway/bychannel: If set, a pull replication will be limited to a specific set of channels specified by the `query_param.channels` property. - query_params: - description: |- - This is a set of key/value pairs used in the query string of the replication. - - If `filters=sync_gateway/bychannel` then this can be used to set the channels to filter by in a pull replication. To do this, set the `channels` key to a string array of the channels to filter by. For example: - ```json - "filter":"sync_gateway/bychannel", - "query_params": { - "channels":["chanUser1"] - }, - ``` - type: array - items: - type: string - adhoc: - description: |- - Set to true to run the replication as an adhoc replication instead of a persistent one. - - This means that the replication will only last the period of the replication until the status is changed to `stopped` and then it will be removed automatically. It will also be removed if Sync Gateway restarts or if removed due to user action. - type: boolean - default: false - batch_size: - description: The amount of changes to be sent in one batch of replications. Changing this is an Enterprise Edition only feature. - type: integer - default: 200 - run_as: - description: This is used if you want to specify a user to run the replication as. This means that the replication will only be able to replicate what the user access to what the user has access to. - type: string - collections_enabled: - description: |- - If true, the replicator will run with collections, and will replicate all collections, unless otherwise limited by `collections_local`. - - If false, the replicator will only replicate the default collection. - type: boolean - default: false - collections_local: - description: |- - Limits the set of collections replicated to those listed in this array. - - The replication will use all collections defined on the database if this list is empty. - type: array - items: - type: string - example: - - scope1.collection1 - - scope1.collection3 - - scope1.collection6 - default: [] - collections_remote: - description: |- - Remaps the local collection name to the one specified in this array when replicating with the remote. - - If only a subset of collections need remapping, elements in this array can be specified as `null` to preserve the local collection name. - - The same index is used for both `collections_remote` and `collections_local`, and both arrays must be the same length. - type: array - items: - type: string - nullable: true - example: - - scope1.collectionA - - null - - scope1.collectionF - default: [] - username: - description: |- - **This has been deprecated in favour of `remote_username`.** - - This is the username to use to authenticate with the remote. - type: string - deprecated: true - password: - description: |- - **This has been deprecated in favour of `remote_password`.** - - This is the password to use to authenticate with the remote. This password will be redacted in the replication config. - type: string - deprecated: true - required: &ref_21 - - direction - title: User configurable replication properties - serve_insecure_attachment_types: - description: | - If set, always serve attachments with the `Content-Type` header set to the type of the attachment. - - When serving an attachment, usually the `Content-Type` header is set to the type of the attachment but the `Content-Disposition` response header will be set instead if the content type is vulnerable to a phishing attack, causing the browser to download the file instead of display it. This option will override that behaviour and always set the `Content-Type` header. - type: boolean - default: false - query_pagination_limit: - description: The query limit to be used during pagination of large queries. - type: integer - default: 5000 - user_xattr_key: - description: |- - The key to use for the user xattr that will be accessible from the sync function. If empty, the feature will be disabled. - - This is an Enterprise Edition feature only. - type: string - maximum: 15 - client_partition_window_secs: - description: |- - How long (in seconds) clients can remain offline for without losing replication metadata. - - Defaults to 30 days (in seconds) - type: integer - default: 2592000 - guest: - description: Properties associated with a user - type: object - properties: *ref_10 - title: User - javascript_timeout_secs: - description: The maximum number of seconds the sync, import filter, and custom conflict resolver JavaScript functions are allowed to run for before timing out. Set to 0 to allow the JS functions to run uncapped. - type: number - default: 60 - suspendable: - description: |- - Set to true to allow the database to be suspended. - - Defaults to true when running in serverless mode otherwise defaults to false. - type: boolean - default: false - changes_request_plus: - type: boolean - default: false - description: |- - Sets the default value of `request_plus` for one-shot/non-continuous changes feeds, which when true, ensures all valid documents written prior to the request being issued are included in the response. Setting this option at the database level is required to ensure Couchbase Lite utilizes this changes feed mode. - - This also sets the default value of query param `request_plus` for [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or `request_plus` for [POST /{keyspace}/_changes](#operation/post_keyspace-_changes). - cors: - description: CORS configuration for this database; if present, overrides server's config. - type: object - properties: - origin: - description: List of allowed origins, use ['*'] to allow access from everywhere - type: array - items: - type: string - login_origin: - description: List of allowed login origins - type: array - items: - type: string - headers: - description: List of allowed headers - type: array - items: - type: string - logging: - description: Per-database logging configuration. - type: object - properties: - console: - description: Console logging configuration. - type: object - properties: - log_level: - description: Log Level for the console output - type: string - enum: - - none - - error - - warn - - info - - debug - - trace - example: debug - log_keys: - description: Log Keys for the console output - type: array - items: - type: string - example: - - CRUD - - HTTP - - Query - audit: - description: Audit logging configuration. - type: object - properties: - enabled: - description: Whether audit logging is enabled. - type: boolean - default: false - enabled_events: - description: List of enabled audit events for this database. - type: array - items: - type: number - example: - - 1234 - - 5678 - disabled_users: - description: List of users for which audit logging is disabled. - type: array - items: - type: object - properties: - domain: - description: | - The domain of the user for which audit logging is disabled. - - * `cbs` - Couchbase Server User - * `sgw` - Sync Gateway User - type: string - enum: - - cbs - - sgw - name: - description: The name of the user for which audit logging is disabled. - type: string - disabled_roles: - description: List of roles for which audit logging is disabled. Either cbs or sgw. - type: array - items: - type: object - properties: - domain: - description: | - The domain of the role for which audit logging is disabled. - - * `cbs` - Couchbase Server RBAC - * `sgw` - Sync Gateway Role - enum: - - cbs - - sgw - type: string - name: - description: The name of the role for which audit logging is disabled. - type: string - disable_public_all_docs: - description: |- - This controls whether the [GET /{keyspace}/_all_docs](#operation/get_keyspace-_all_docs) REST API endpoint is publicly accessible or not. - Disabling this endpoint is recommended for larger datasets or production workloads. - [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more efficient implementations and should be used instead. - - If set to `true`, the endpoint will not be publicly accessible, and will only be available on the Admin API. - Setting this to `false`, or leaving it as the default value is deprecated, and may default to `true` in a future release. - type: boolean - default: false - title: Database-config - responses: - '201': - description: Database created successfully - '400': - description: There was a problem with your request - content: *ref_11 - '403': - description: An authentication failure occurred - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '409': - description: A database already exists for this bucket - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '412': - description: A database under that name already exists - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '500': - description: A server error occurred - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Management - operationId: put_db- - /_all_dbs: - get: - summary: Get a list of all the databases - description: |- - This retrieves all the databases that are in the current Sync Gateway node. If verbose, returns bucket and state information for each database, otherwise returns names only. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: verbose - in: query - schema: - type: boolean - responses: - '200': - description: Successfully retrieved all database names - content: - application/json: - schema: - oneOf: - - title: Simple - description: The names of all databases. - type: array - items: &ref_122 - type: string - example: &ref_123 - - db1 - - db2 - - title: Verbose - description: Description of all databases. - type: array - example: &ref_124 - - db_name: db1 - bucket: bucket1 - state: Online - require_resync: false - init_in_progress: false - - db_name: db2 - bucket: bucket2 - state: Starting - require_resync: true - init_in_progress: true - items: &ref_125 - type: object - properties: - db_name: - type: string - description: The name of the database. - bucket: - type: string - description: The Couchbase Server backing bucket for the database. - state: - allOf: - - description: The state of the database. - type: string - enum: *ref_12 - x-enumDescriptions: *ref_13 - require_resync: - description: Indicates whether the database requires resync before it can be brought online. - type: boolean - example: true - init_in_progress: - description: Indicates whether database initialization is in progress. - type: boolean - example: true - tags: - - Database Management - operationId: get__all_dbs - /{db}/_user/: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get all the names of the users - description: |- - Retrieves all the names of the users that are in the database. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: name_only - in: query - required: false - schema: &ref_112 - type: boolean - default: true - description: Whether to return user names only, or more detailed information for each user. - - name: limit - in: query - required: false - schema: &ref_113 - type: integer - description: How many results to return. Using a value of `0` results in no limit. - responses: - '200': - description: Users retrieved successfully - content: - application/json: - schema: - description: List of users - type: array - items: - type: string - example: - - Alice - - Bob - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: get_db-_user- - post: - summary: Create a new user - description: |- - Create a new user using the request body to specify the properties on the user. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - requestBody: - content: &ref_14 - application/json: - schema: - description: Properties associated with a user - type: object - properties: *ref_10 - title: User - description: Properties associated with a user - responses: - '201': - description: New user created successfully - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: &ref_18 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Security - operationId: post_db-_user- - /{db}/_user/{name}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: name - in: path - required: true - schema: &ref_15 - type: string - description: The name of the user. - get: - summary: Get a user - description: |- - Retrieve a single users information. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - * Sync Gateway Application Read Only - responses: - '200': - description: Properties associated with a user - content: &ref_146 - application/json: - schema: - description: Properties associated with a user - type: object - properties: *ref_10 - title: User - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: get_db-_user-name - put: - summary: Upsert a user - description: |- - If the user does not exist, create a new user otherwise update the existing user. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - requestBody: - content: *ref_14 - description: Properties associated with a user - responses: - '200': - description: Existing user modified successfully - '201': - description: New user created - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: put_db-_user-name - delete: - summary: Delete a user - description: |- - Delete a user from the database. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - responses: - '200': - description: User deleted successfully - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: delete_db-_user-name - head: - responses: - '200': - description: User exists - '404': - description: Not Found - tags: - - Database Security - summary: Check if user exists - description: |- - Check if the user exists by checking the status code. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - * Sync Gateway Application Read Only - operationId: head_db-_user-name - /{db}/_user/{name}/_session: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: name - in: path - required: true - schema: *ref_15 - description: The name of the user. - delete: - summary: Remove all of a users sessions - description: |- - Invalidates all the sessions that a user has. - - Will still return a `200` status code if the user has no sessions. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - responses: - '200': - description: User now has no sessions - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Session - operationId: delete_db-_user-name-_session - /{db}/_user/{name}/_session/{sessionid}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: name - in: path - required: true - schema: *ref_15 - description: The name of the user. - - name: sessionid - in: path - required: true - schema: *ref_16 - description: The ID of the session to target. - delete: - summary: Remove session with user validation - description: |- - Invalidates the session only if it belongs to the user. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - responses: - '200': - description: Session has been successfully removed as the user was associated with the session - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Session - operationId: delete_db-_user-name-_session-sessionid - /{db}/_role/: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get all names of the roles - description: |- - Retrieves all the roles that are in the database. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: deleted - in: query - description: Indicates that roles marked as deleted should be included in the result. - schema: - type: boolean - default: false - enum: - - true - - false - responses: - '200': - description: Roles retrieved successfully - content: - application/json: - schema: - description: List of all role names - type: array - items: - type: string - minItems: 0 - uniqueItems: true - example: - - Administrator - - Moderator - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: get_db-_role- - post: - summary: Create a new role - description: |- - Create a new role using the request body to specify the properties on the role. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - requestBody: - content: &ref_19 - application/json: - schema: - description: Properties associated with a role - type: object - properties: *ref_17 - title: Role - description: Properties associated with a role - responses: - '201': - description: New role created successfully - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_18 - tags: - - Database Security - operationId: post_db-_role- - /{db}/_role/{name}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: name - in: path - required: true - schema: &ref_114 - type: string - description: The name of the role. - get: - summary: Get a role - description: |- - Retrieve a single roles properties. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - * Sync Gateway Application Read Only - responses: - '200': - description: Properties associated with a role - content: &ref_147 - application/json: - schema: - description: Properties associated with a role - type: object - properties: *ref_17 - title: Role - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: get_db-_role-name - put: - summary: Upsert a role - description: |- - If the role does not exist, create a new role otherwise update the existing role. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - requestBody: - content: *ref_19 - description: Properties associated with a role - responses: - '200': - description: OK - '201': - description: Created - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: put_db-_role-name - delete: - summary: Delete a role - description: |- - Delete a role from the database. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - responses: - '200': - description: OK - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - operationId: delete_db-_role-name - head: - responses: - '200': - description: Role exists - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Security - description: |- - Check if the role exists by checking the status code. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application - * Sync Gateway Application Read Only - summary: Check if role exists - operationId: head_db-_role-name - /{db}/_replication/: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get all replication configurations - description: |- - This will retrieve all database replication definitions. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - responses: - '200': - description: |- - Retrieved replication configurations successfully. - The `assigned_node` fields will end with `(local)` or `(non-local)` depending on if the replication is running on this Sync Gateway node. - content: - application/json: - schema: - description: Contains all the replication IDs with their corresponding replication configurations - type: object - properties: &ref_126 - replication_id: - description: Properties of a replication - allOf: &ref_22 - - type: object - properties: - replication_id: - description: This is the ID of the replication. - type: string - - description: Properties of a replication - type: object - properties: *ref_20 - required: *ref_21 - title: User configurable replication properties - - type: object - properties: - assigned_node: - description: The unique ID of the node assigned to the replication. - type: string - target_state: - description: This is the state that the replicator is in or that trying to transition in to. - type: string - enum: &ref_24 - - running - - stopped - - resetting - - error - - starting - - reconnecting - x-enumDescriptions: &ref_25 - running: Currently running replication. - stopped: Not running replication. - resetting: The replication is resetting its state. - error: The replication is stopped due to an error. - starting: The replication is starting up. - reconnecting: The replication is reconnecting to the remote database. - title: Replication Status - cluster_uuid: - description: The cluster unique identifier. - type: string - title: Replication - title: All replications - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Replication - operationId: get_db-_replication- - post: - summary: Upsert a replication - description: |- - Create or update a replication in the database. - - If an existing replication is being updated, that replication must be stopped first. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - requestBody: - content: &ref_23 - application/json: - schema: - description: Properties of a replication - type: object - properties: *ref_20 - required: *ref_21 - title: User configurable replication properties - description: If the `replication_id` matches an existing replication then the existing configuration will be updated. Only the specified fields in the request will be used to update the existing configuration. Unspecified fields will remain untouched. - responses: - '200': - description: Updated existing configuration successfully - '201': - description: Created new replication successfully - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Replication - operationId: post_db-_replication- - /{db}/_replication/{replicationid}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: replicationid - in: path - required: true - schema: &ref_26 - type: string - minimum: 1 - maximum: 160 - description: What replication to target based on its replication ID. - get: - summary: Get a replication configuration - description: |- - Retrieve a replication configuration from the database. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - responses: - '200': - description: Successfully retrieved the replication configuration - content: - application/json: - schema: - description: Properties of a replication - allOf: *ref_22 - title: Replication - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Replication - operationId: get_db-_replication-replicationid - put: - summary: Upsert a replication - description: |- - Create or update a replication in the database. - - The replication ID does **not** need to be set in the request body. - - If an existing replication is being updated, that replication must be stopped first and, if the `replication_id` is specified in the request body, it must match the replication ID in the URI. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - requestBody: - content: *ref_23 - description: If the `replication_id` matches an existing replication then the existing configuration will be updated. Only the specified fields in the request will be used to update the existing configuration. Unspecified fields will remain untouched. - responses: - '200': - description: Updated existing configuration successfully - '201': - description: Created new replication successfully - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Replication - operationId: put_db-_replication-replicationid - delete: - summary: Stop and delete a replication - description: |- - This will delete a replication causing it to stop and no longer exist. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - responses: - '200': - description: Replication successfully deleted - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Replication - operationId: delete_db-_replication-replicationid - head: - responses: - '200': - description: Replication exists - '404': - description: Replication does not exist - tags: - - Replication - summary: Check if a replication exists - description: |- - Check if a replication exists. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - operationId: head_db-_replication-replicationid - /{db}/_replicationStatus/: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get all replication statuses - description: |- - Retrieve all the replication statuses in the Sync Gateway node. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - parameters: - - name: activeOnly - in: query - required: false - schema: &ref_27 - type: boolean - default: false - description: Only return replications that are actively running (`state=running`). - - name: localOnly - in: query - required: false - schema: &ref_28 - type: boolean - default: false - description: Only return replications that were started on the current Sync Gateway node. - - name: includeError - in: query - required: false - schema: &ref_29 - type: boolean - default: true - description: Include replications that have stopped due to an error (`state=error`). - - name: includeConfig - in: query - required: false - schema: &ref_30 - type: boolean - default: false - description: Include the replication configuration with each replicator status in the response. - responses: - '200': - description: Successfully retrieved all replication statuses. - content: - application/json: - schema: - type: array - items: - type: object - properties: &ref_31 - replication_id: - description: The ID of the replication. - type: string - config: - description: Properties of a replication - type: object - properties: *ref_20 - required: *ref_21 - title: User configurable replication properties - status: - description: This is the state that the replicator is in or that trying to transition in to. - type: string - enum: *ref_24 - x-enumDescriptions: *ref_25 - title: Replication Status - error_message: - description: The error message of the replication if an error has occurred. - type: string - docs_read: - description: The number of documents that have been read (fetched) from the source database. - type: integer - docs_checked_pull: - type: integer - docs_purged: - description: The number of documents that have been purged. - type: integer - rejected_by_local: - description: The number of documents that were received by the local but did not get replicated due to getting rejected by the sync function on the local. - type: integer - last_seq_pull: - description: The last changes sequence number that was pulled from the remote. - type: string - deltas_recv: - description: The number of deltas that have been received from the remote. - type: integer - deltas_requested: - type: integer - docs_written: - description: The number of documents that have been wrote (pushed) to the target database. - type: integer - docs_checked_push: - type: integer - doc_write_failures: - description: The number of documents that have failed to be wrote (pushed) to the target database. There will be no attempt to try to push these docs again. - type: integer - doc_write_conflicts: - description: The number of documents that had a conflict. - type: integer - rejected_by_remote: - description: The number of documents that were received by the remote but did not get replicated due to getting rejected by the sync function on the remote. - type: integer - last_seq_push: - description: The last changes sequence number that was pushed to the remote. - type: string - deltas_sent: - description: 'The number of deltas that have been sent to the remote. ' - type: integer - required: &ref_32 - - replication_id - title: Replication-status - '400': - description: There was a problem with your request - content: *ref_11 - tags: - - Replication - operationId: get_db-_replicationStatus- - /{db}/_replicationStatus/{replicationid}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: replicationid - in: path - required: true - schema: *ref_26 - description: What replication to target based on its replication ID. - get: - summary: Get replication status - description: |- - Retrieve the status of a replication. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - parameters: - - name: activeOnly - in: query - required: false - schema: *ref_27 - description: Only return replications that are actively running (`state=running`). - - name: localOnly - in: query - required: false - schema: *ref_28 - description: Only return replications that were started on the current Sync Gateway node. - - name: includeError - in: query - required: false - schema: *ref_29 - description: Include replications that have stopped due to an error (`state=error`). - - name: includeConfig - in: query - required: false - schema: *ref_30 - description: Include the replication configuration with each replicator status in the response. - responses: - '200': - description: Successfully retrieved replication status - content: - application/json: - schema: - type: object - properties: *ref_31 - required: *ref_32 - title: Replication-status - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Could not find replication - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Replication - operationId: get_db-_replicationStatus-replicationid - put: - summary: Control a replication state - description: |- - Control the replication by changing its state. - - This is done through the action query parameter, which has 3 valid values: - * `start` - starts a stopped replication - * `stop` - stops an active replication - * `reset` - resets the replication checkpoint to 0. For bidirectional replication, both push and pull checkpoints are reset to 0. The replication must be stopped to use this. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - parameters: - - name: action - in: query - description: The target state to put the replicator into. - required: true - schema: - type: string - enum: - - start - - stop - - reset - responses: - '200': - description: Successfully changed target state of replicator - content: - application/json: - schema: - type: object - properties: *ref_31 - required: *ref_32 - title: Replication-status - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Replication - operationId: put_db-_replicationStatus-replicationid - head: - responses: - '200': - description: Replication exists - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Replication - summary: Check if replication exists - parameters: - - name: activeOnly - in: query - required: false - schema: *ref_27 - description: Only return replications that are actively running (`state=running`). - - name: localOnly - in: query - required: false - schema: *ref_28 - description: Only return replications that were started on the current Sync Gateway node. - - name: includeError - in: query - required: false - schema: *ref_29 - description: Include replications that have stopped due to an error (`state=error`). - - name: includeConfig - in: query - required: false - schema: *ref_30 - description: Include the replication configuration with each replicator status in the response. - description: |- - Check if a replication exists. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Replicator - operationId: head_db-_replicationStatus-replicationid - /_profile/{profilename}: - parameters: - - name: profilename - in: path - description: The handler to use for profiling. - required: true - schema: - type: string - enum: - - heap - - block - - threadcreate - - mutex - - goroutine - post: - summary: Create point-in-time profile - description: |- - This endpoint allows you to create a pprof snapshot of the given type. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - requestBody: - content: &ref_33 - application/json: - schema: - type: object - properties: - file: - description: This is the file to output the pprof profile at. - type: string - responses: - '200': - description: Successfully created profile - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Profiling - operationId: post__profile-profilename - /_profile: - post: - summary: Start or Stop continuous CPU profiling - description: |- - This endpoint allows you to start and stop continuous CPU profiling. - - To start profiling the CPU, call this endpoint and supply a file to output the pprof file to. - - To stop profiling, call this endpoint but don't supply the `file` in the body. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - requestBody: - content: *ref_33 - responses: - '200': - description: Successfully started or stopped CPU profiling - '400': - description: There was a problem with your request - content: *ref_11 - tags: - - Profiling - operationId: post__profile - /_heap: - post: - summary: Dump heap profile - description: |- - This endpoint will dump a pprof heap profile. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - requestBody: - content: *ref_33 - responses: - '200': - description: Successfully dumped heap profile - '400': - description: There was a problem with your request - content: *ref_11 - tags: - - Profiling - operationId: post__heap - /_stats: - get: - summary: Get memory statistics - description: |- - This will return the current Sync Gateway nodes memory statistics such as current memory usage. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Dev Ops - * External Stats Reader - responses: - '200': - description: Returned memory usage statistics - content: - application/json: - schema: - type: object - properties: - memstats: - description: A set of Go runtime memory statistics. - additionalProperties: true - tags: - - Metrics - operationId: get__stats - /_config: - get: - summary: Get server configuration - description: |- - This will return the configuration that the Sync Gateway node was initially started up with, or the currently config if `include_runtime` is set. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: redact - in: query - deprecated: true - required: false - schema: &ref_39 - type: boolean - default: true - description: No longer supported field. - - name: include_runtime - in: query - description: Whether to include the values set after starting (at runtime), default values, and all loaded databases. - schema: - type: boolean - default: false - responses: - '200': - description: Successfully returned server configuration - content: - application/json: - schema: - type: object - properties: &ref_131 - bootstrap: - description: Configuration settings for interacting with Couchbase Server. - type: object - properties: - group_id: - description: The config group ID to use when discovering databases. Allows for non-homogenous configuration. - type: string - default: default - config_update_frequency: - description: |- - How often to poll Couchbase Server for new config changes. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: 10s - server: - description: Couchbase Server connection string/URL. - type: string - username: - description: Username for authenticating to server. - type: string - password: - description: Password for authenticating to server - type: string - ca_cert_path: - description: Root CA cert path for TLS connection - type: string - server_tls_skip_verify: - description: Allow empty server CA Cert Path without attempting to use system root pool - type: boolean - default: false - x509_cert_path: - description: Cert path (public key) for X.509 bucket auth - type: string - x509_key_path: - description: Key path (private key) for X.509 bucket auth - type: string - use_tls_server: - description: Enforces a secure or non-secure server scheme - type: boolean - default: true - readOnly: true - required: - - server - - username - - password - api: - description: Configuration settings for modifying how the REST API is interacted with. - type: object - properties: - public_interface: - description: Network interface to bind public API to - type: string - default: ':4984' - admin_interface: - description: |- - Network interface to bind admin API to. - - By default, this will only be accessible to the localhost. - type: string - default: 127.0.0.1:4985 - metrics_interface: - description: |- - Network interface to bind metrics API to. - - By default, this will only be accessible to the localhost. - type: string - default: 127.0.0.1:4986 - profile_interface: - description: Network interface to bind profiling API to - type: string - admin_interface_authentication: - description: Whether the admin API requires authentication - type: boolean - default: true - metrics_interface_authentication: - description: Whether the metrics API requires authentication - type: boolean - default: true - enable_advanced_auth_dp: - description: |- - Whether to enable the DP permissions check feature of admin auth. - - Defaults to `true` if using Enterprise Edition or `false` if using Community Edition. - type: boolean - server_read_timeout: - description: |- - Maximum duration before timing out read of the HTTP(S) request. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - server_write_timeout: - description: |- - Maximum duration before timing out write of the HTTP(S) response. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - read_header_timeout: - description: |- - The amount of time allowed to read request headers. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: 5s - idle_timeout: - description: |- - The maximum amount of time to wait for the next request when keep-alives are enabled. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: 90s - pretty: - description: Pretty-print JSON responses. This property is deprecated. - type: boolean - deprecated: true - max_connections: - description: Max of incoming HTTP connections to accept - type: number - default: 0 - compress_responses: - description: If false, disables compression of HTTP responses - type: boolean - default: true - hide_product_version: - description: Whether product versions removed from Server headers and REST API responses - type: boolean - https: - type: object - properties: - tls_minimum_version: - description: The minimum allowable TLS version for the REST APIs - type: string - default: tlsv1.2 - tls_cert_path: - description: The TLS cert file to use for the REST APIs - type: string - tls_key_path: - description: The TLS key file to use for the REST APIs - type: string - cors: - type: object - properties: - origin: - description: List of allowed origins, use ['*'] to allow access from everywhere - type: array - items: - type: string - login_origin: - description: List of allowed login origins - type: array - items: - type: string - headers: - description: List of allowed headers - type: array - items: - type: string - max_age: - description: Maximum age of the CORS Options request - type: integer - readOnly: true - logging: - description: The configuration settings for modifying Sync Gateway logging. - type: object - allOf: - - type: object - properties: &ref_35 - log_file_path: - description: Absolute or relative path on the filesystem to the log file directory. A relative path is from the directory that contains the Sync Gateway executable file. - type: string - readOnly: true - redaction_level: - description: Redaction level to apply to log output. - type: string - default: partial - enum: - - none - - partial - - full - - unset - readOnly: true - console: - allOf: - - title: Configuration for console logging. - allOf: &ref_128 - - type: object - properties: &ref_127 - log_level: - description: Log Level for the console output - type: string - default: info - enum: - - none - - error - - warn - - info - - debug - - trace - log_keys: - description: Log Keys for the console output - type: array - items: - type: string - enum: - - '*' - - Admin - - Access - - Auth - - Bucket - - Cache - - Changes - - SGCluster - - Config - - CRUD - - DCP - - Diagnostic - - Events - - gocb - - HTTP - - HTTP+ - - Import - - Javascript - - Migrate - - Query - - Replicate - - Sync - - SyncMsg - - WS - - WSFrame - x-enumDescriptions: - '*': This wildcard log key, enables all log keys. - Access: Anytime an access() call is made in the sync function. - Admin: Admin processes in Sync Gateway. - Auth: Authentication. - Bucket: Sync Gateway interactions with the bucket. - CRUD: CRUD operations. - Cache: Interactions with Sync Gateway’s in-memory channel cache. - Changes: Processing of /{keyspace}/_changes requests and pull replications - Config: Server or database configuration. - DCP: Updates made by Sync Gateway to documents. - Diagnostic: Operations used by dry run endpoints. - Events: Event processing (webhooks). - HTTP: All requests made to the Sync Gateway REST APIs. - HTTP+: Additional information about HTTP requests (response times, status codes). - Import: This log key can be useful to troubleshoot why a given document was not successfully imported. - Javascript: 'All logging from Javascript. This includes: sync function, import filters, webhook filter function, and custom inter-Sync Gateway replication conflict resolvers.' - Migrate: Logs messages that show when old inline document metadata is upgraded to xattrs. - Query: Query is used for Sync Gateway code related to N1QL queries - Replicate: Log messages related to Inter-Sync Gateway replications. This is not used for replications initiated by Couchbase Lite. - SGCluster: Log messages related to coordination of Sync Gateways for sharded import and Inter-Sync Gateway Replication. - Sync: Activity which relates to synchronization between Couchbase Lite and Sync Gateway - SyncMsg: Additional logging on top of `Sync` key. - WS: Websocket replication log messages. - WSFrame: Additional logging on top of `WS` key. - gocb: All logging emitted by the gocb SDK - example: - - CRUD - - HTTP - - Query - - type: object - properties: - color_enabled: - description: Log with color for the console output - type: boolean - default: false - readOnly: true - file_output: - description: Override the default stderr output, and write to the file specified instead - type: string - readOnly: true - enabled: - description: Toggle for this log output - type: boolean - default: false - readOnly: true - rotation: - type: object - readOnly: true - title: Log-rotation-config - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. By default, there is no rotation, max_age=0. - default: 0 - type: integer - collation_buffer_size: - description: The size of the log collation buffer. The default is 10 if the output is stderr, or 1000 if to a file. - type: integer - default: 10 - readOnly: true - error: - type: object - description: Error logging configuration. - properties: - enabled: - description: Toggle for this log output - type: boolean - default: true - rotation: - type: object - readOnly: true - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. - default: 360 - type: integer - collation_buffer_size: - description: The size of the log collation buffer. - default: 0 - type: integer - readOnly: true - warn: - type: object - description: Warning logging configuration. - properties: - enabled: - description: Toggle for this log output - type: boolean - default: true - rotation: - type: object - readOnly: true - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. - default: 180 - type: integer - collation_buffer_size: - description: The size of the log collation buffer - default: 0 - type: integer - readOnly: true - info: - type: object - description: Info logging configuration. - properties: - enabled: - description: Toggle for this log output - type: boolean - default: true - rotation: - type: object - readOnly: true - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. - default: 6 - type: integer - collation_buffer_size: - description: The size of the log collation buffer - default: 0 - type: integer - readOnly: true - debug: - type: object - description: Debug logging configuration. - properties: - enabled: - description: Toggle for this log output - type: boolean - default: false - rotation: - type: object - readOnly: true - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. - default: 2 - type: integer - collation_buffer_size: - description: The size of the log collation buffer - default: 1000 - type: integer - readOnly: true - trace: - type: object - description: Trace logging configuration. - properties: - enabled: - description: Toggle for this log output - type: boolean - default: false - rotation: - type: object - readOnly: true - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. - default: 2 - type: integer - collation_buffer_size: - description: The size of the log collation buffer - default: 1000 - type: integer - readOnly: true - stats: - type: object - description: Trace logging configuration. - properties: - enabled: - description: Toggle for this log output - type: boolean - default: true - rotation: - type: object - readOnly: true - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. - default: 6 - type: integer - collation_buffer_size: - description: The size of the log collation buffer - default: 0 - type: integer - readOnly: true - audit: - type: object - title: Audit logging config - properties: &ref_129 - enabled: - description: Toggle for this log output - type: boolean - default: false - rotation: - type: object - readOnly: true - properties: - max_size: - description: The maximum size in MB of the log file before it gets rotated. - type: integer - default: 100 - localtime: - description: If true, it uses the computer's local time to format the backup timestamp. - type: boolean - default: false - rotated_logs_size_limit: - description: Max Size (in mb) of log files before deletion - type: integer - default: 1024 - rotation_interval: - description: |- - If set, the interval at which log files are rotated, even if max_size is not reached. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: '' - max_age: - description: The maximum number of days to retain old log files. - default: 6 - type: integer - audit_log_file_path: - description: The path to write audit log files to - type: string - readOnly: true - enabled_events: - description: List of enabled global audit events. - type: array - items: - type: number - example: - - 1234 - - 5678 - readOnly: true - auth: - type: object - properties: - bcrypt_cost: - description: Cost to use for bcrypt password hashes - type: integer - default: 10 - maximum: 31 - minimum: 10 - readOnly: true - replicator: - type: object - properties: - max_heartbeat: - description: |- - Max heartbeat value for `_changes` request. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - blip_compression: - description: BLIP data compression level (0-9) - type: integer - maximum: 9 - minimum: 0 - max_concurrent_replications: - description: Maximum number of concurrent replication connections allowed. If set to 0 this limit will be ignored. - type: integer - max_concurrent_changes_batches: - description: Maximum number of changes batches to process concurrently per replication (1-5)" - type: integer - default: 2 - minimum: 1 - maximum: 5 - max_concurrent_revs: - description: Maximum number of revs to process concurrently per replication (5-200) - type: integer - default: 5 - minimum: 5 - maximum: 200 - readOnly: true - unsupported: - description: Settings that are not officially supported. It is highly recommended these are **not** used. - type: object - properties: - serverless: - description: Configuration for when SG is running in serverless mode - type: object - properties: &ref_130 - enabled: - description: Run SG in to serverless mode - type: boolean - readOnly: true - min_config_fetch_interval: - description: |- - How long database configs should be kept for in Sync Gateway before refreshing. Set to 0 to fetch configs everytime. This is used for requested databases that SG does not know about. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: 1s - use_xattr_config: - description: Store database configurations in system xattrs - type: boolean - default: false - stats_log_frequency: - description: |- - How often should stats be written to stats logs. - - This is a duration and therefore can be provided with units "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, and 30 seconds would be `5h20m30s`. - type: string - default: 1m - use_stdlib_json: - description: Bypass the jsoniter package and use Go's stdlib instead - type: boolean - default: false - http2: - type: object - properties: - enabled: - description: Whether HTTP2 support is enabled - type: boolean - default: false - allow_dbconfig_env_vars: - description: Can be set to false to skip environment variable expansion in database configs - type: boolean - default: true - diagnostic_interface: - description: |- - Network interface to bind diagnotic API to. - - By default, this API will not be run unless this string is specified. - type: string - default: '' - readOnly: true - database_credentials: - description: A map of database name to credentials, that can be used instead of the bootstrap ones. - type: object - additionalProperties: - x-additionalPropertiesName: databasename - description: The configuration for the credentials set. - type: object - properties: &ref_34 - username: - description: Username for authenticating to the bucket - type: string - password: - description: Password for authenticating to the bucket. This value is always redacted. - type: string - x509_cert_path: - description: Cert path (public key) for X.509 bucket auth - type: string - x509_key_path: - description: Key path (private key) for X.509 bucket auth - type: string - title: Credentials config - readOnly: true - bucket_credentials: - description: A map of bucket names to credentials, that can be used instead of the bootstrap ones. - type: object - additionalProperties: - x-additionalPropertiesName: bucketname - description: The configuration for the credentials set. - type: object - properties: *ref_34 - title: Credentials config - readOnly: true - max_file_descriptors: - description: Max of open file descriptors (RLIMIT_NOFILE) - type: number - default: 5000 - minimum: 0 - readOnly: true - couchbase_keepalive_interval: - description: TCP keep-alive interval between SG and Couchbase server. This is unused. - type: integer - deprecated: true - readOnly: true - heap_profile_collection_threshold: - description: Threshold in bytes for automatic collection of heap profiles. If not specified, defaults to 85% of the lesser of cgroup or system memory. - readOnly: true - type: integer - heap_profile_disable_collection: - description: Disables automatic heap profile collection. - default: false - type: boolean - readOnly: true - title: Startup-config - '400': - description: There was a problem with your request - content: *ref_11 - tags: - - Server - operationId: get__config - put: - summary: Set runtime configuration - description: |- - This endpoint is used to dynamically set runtime options, like logging without needing a restart. - - These options are not persisted, and will not survive a restart of Sync Gateway. - - The endpoint only accepts a limited number of options that can be changed at runtime. See request body schema for allowable options. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - requestBody: - content: - application/json: - schema: - type: object - properties: &ref_132 - logging: - allOf: - - type: object - properties: *ref_35 - max_concurrent_replications: - description: Maximum number of concurrent replication connections allowed. If set to 0 this limit will be ignored. - type: integer - default: 0 - title: Runtime-config - responses: - '200': - description: Successfully set runtime options - '400': - description: There was a problem with your request - content: *ref_11 - tags: - - Server - operationId: put__config - /_status: - get: - summary: Get the server status - description: |- - This will retrieve the status of each database and the overall server status. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: Returned the status successfully - content: - application/json: - schema: - type: object - properties: &ref_133 - databases: - description: Contains a map of all the databases in the node along with their status. - type: object - additionalProperties: - x-additionalPropertiesName: dbname - description: The name of the database. - type: object - properties: - seq: - description: The latest sequence number in the database. - type: number - minimum: 0 - server_uuid: - description: The server unique identifier. - type: string - require_resync: - description: Indicates whether the database requires resync before it can be brought online. - type: boolean - state: - allOf: - - description: The state of the database. - type: string - enum: *ref_12 - x-enumDescriptions: *ref_13 - replication_status: - type: array - items: - type: object - properties: *ref_31 - required: *ref_32 - title: Replication-status - cluster: - type: object - properties: - cluster_uuid: - description: The cluster unique identifier. - type: string - replication: - description: Map of replication configs defined for the cluster. - type: object - properties: - replication_id: - description: Properties of a replication - allOf: *ref_22 - title: Replication - nodes: - description: Map of all Sync Gateway nodes in the cluster. - type: object - properties: - node_uuid: - description: The nodes unique identifier. - type: object - properties: - uuid: - description: The nodes unique identifier. - type: string - host: - description: The nodes host name. - type: string - version: - description: |- - The product version including the build number and edition (ie. `EE` or `CE`). - - Blank if `api.hide_product_version=true` in the startup configuration. - type: string - vendor: - allOf: - - description: Product vendor - type: object - properties: &ref_56 - name: - description: Product name - type: string - example: Couchbase Sync Gateway - version: - description: |- - API version. - Omitted if `api.hide_product_version=true` - type: string - example: 3.1 - required: &ref_57 - - name - title: Vendor - title: Status - '400': - description: There was a problem with your request - content: *ref_11 - tags: - - Server - operationId: get__status - /_sgcollect_info: - get: - summary: Get the status of the Sync Gateway Collect Info - description: |- - This will return the status of whether Sync Gateway Collect Info (sgcollect_info) is currently running or not. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: Returned sgcollect_info status - content: - application/json: - schema: - type: object - properties: - status: - description: The status of sgcollect_info. - type: string - enum: - - stopped - - running - required: - - status - tags: - - Server - operationId: get__sgcollect_info - post: - summary: Start Sync Gateway Collect Info - description: |- - This endpoint is used to start a Sync Gateway Collect Info (sgcollect_info) job so that Sync Gateway diagnostic data can be outputted to a file. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - requestBody: - description: sgcollect_info options - content: - application/json: - schema: - type: object - properties: - redact_level: - description: The redaction level to use for redacting the collected logs. - type: string - default: partial - enum: - - partial - - none - redact_salt: - description: The salt to use for the log redactions. - type: string - output_dir: - description: |- - The directory to output the collected logs zip file at. - - This overrides the configured default output directory configured in the startup config `logging.log_file_path`. - type: string - default: The configured path set in the startup config `logging.log_file_path` - upload: - description: |- - If set, upload the logs to Couchbase Support. - - A customer name must be set if this is set. - type: boolean - upload_host: - description: The host to send the logs too. - type: string - default: https://uploads.couchbase.com - upload_proxy: - description: The proxy to use while uploading the logs. - type: string - customer: - description: The customer name to use when uploading the logs. - type: string - ticket: - description: The Zendesk ticket number to use when uploading logs. - type: string - maxLength: 7 - minLength: 1 - responses: - '200': - description: Successfully started sgcollect_info - content: - application/json: - schema: - type: object - properties: - status: - description: The new sgcollect_info status. - type: string - default: started - '400': - description: There was a problem with your request - content: *ref_11 - '500': - description: An error occurred while trying to run sgcollect_info - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Server - operationId: post__sgcollect_info - delete: - summary: Cancel the Sync Gateway Collect Info job - description: |- - This endpoint is used to cancel a current Sync Gateway Collect Info (sgcollect_info) job that is running. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: Job cancelled successfully - content: - application/json: - schema: - type: object - properties: - status: - description: The new status of sgcollect_info. - type: string - default: cancelled - '400': - description: There was a problem with your request - content: *ref_11 - tags: - - Server - operationId: delete__sgcollect_info - /_debug/pprof/goroutine: - get: - summary: Get goroutine profile - description: |- - Stack traces of all current goroutines. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: &ref_36 - type: integer - responses: - '200': - description: OK - content: &ref_37 - application/octet-stream: - schema: - description: pprof binary data - type: string - example: pprof binary data - tags: - - Profiling - operationId: get__debug-pprof-goroutine - post: - summary: Get goroutine profile - description: |- - Stack traces of all current goroutines. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_36 - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: post__debug-pprof-goroutine - /_debug/pprof/cmdline: - get: - summary: Get passed in command line parameters - description: |- - Gets the command line parameters that was passed in to Sync Gateway which will include the binary, flags (if any) and startup configuration. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: OK - content: - text/plain: - schema: - type: string - tags: - - Profiling - operationId: get__debug-pprof-cmdline - post: - summary: Get passed in command line parameters - description: |- - Gets the command line parameters that was passed in to Sync Gateway which will include the binary, flags (if any) and startup configuration. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: OK - content: - text/plain: - schema: - type: string - tags: - - Profiling - operationId: post__debug-pprof-cmdline - /_debug/pprof/symbol: - get: - summary: Get symbol pprof debug information - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: OK - content: - text/plain: - schema: - type: string - tags: - - Profiling - operationId: get__debug-pprof-symbol - post: - summary: Get symbol pprof debug information - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: OK - content: - text/plain: - schema: - type: string - tags: - - Profiling - operationId: post__debug-pprof-symbol - /_debug/pprof/heap: - get: - summary: Get the heap pprof debug file - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_36 - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: get__debug-pprof-heap - post: - summary: Get the heap pprof debug file - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_36 - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: post__debug-pprof-heap - /_debug/pprof/profile: - get: - summary: Get the profile pprof debug file - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_36 - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: get__debug-pprof-profile - post: - summary: Get the profile pprof debug file - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_36 - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: post__debug-pprof-profile - /_debug/pprof/block: - get: - summary: Get block profile - description: |- - Returns stack traces that led to blocking on synchronization primitives. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - required: false - schema: &ref_38 - type: integer - default: 30 - minimum: 0 - description: The amount of seconds to run the profiler for. - responses: - '200': - description: OK - content: *ref_37 - '403': - description: Forbidden - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - example: - error: forbidden - reason: Can only run one mutex profile at a time - tags: - - Profiling - operationId: get__debug-pprof-block - post: - summary: Get block profile - description: |- - Returns stack traces that led to blocking on synchronization primitives. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - required: false - schema: *ref_38 - description: The amount of seconds to run the profiler for. - responses: - '200': - description: OK - content: *ref_37 - '403': - description: Forbidden - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - example: - error: forbidden - reason: Can only run one mutex profile at a time - tags: - - Profiling - operationId: post__debug-pprof-block - /_debug/pprof/threadcreate: - get: - summary: Get the threadcreate pprof debug file - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: get__debug-pprof-threadcreate - post: - summary: Get the threadcreate pprof debug file - description: |- - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: post__debug-pprof-threadcreate - /_debug/pprof/mutex: - get: - summary: Get mutex profile - description: |- - Returns stack traces of holders of contended mutexes. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - required: false - schema: *ref_38 - description: The amount of seconds to run the profiler for. - responses: - '200': - description: OK - content: *ref_37 - '403': - description: Forbidden - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - example: - error: forbidden - reason: Can only run one mutex profile at a time - tags: - - Profiling - operationId: get__debug-pprof-mutex - post: - summary: Get mutex profile - description: |- - Returns stack traces of holders of contended mutexes. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - required: false - schema: *ref_38 - description: The amount of seconds to run the profiler for. - responses: - '200': - description: OK - content: *ref_37 - '403': - description: Forbidden - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - example: - error: forbidden - reason: Can only run one mutex profile at a time - tags: - - Profiling - operationId: post__debug-pprof-mutex - /_debug/pprof/trace: - get: - summary: Get trace profile - description: |- - Responds with the execution trace in binary form. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - schema: - type: integer - default: 1 - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: get__debug-pprof-trace - post: - summary: Get trace profile - description: |- - Responds with the execution trace in binary form. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - schema: - type: integer - default: 1 - responses: - '200': - description: OK - content: *ref_37 - tags: - - Profiling - operationId: post__debug-pprof-trace - /_debug/fgprof: - get: - summary: Get fgprof profile - description: |- - A sampling Go profiler that allows you to analyze On-CPU as well as [Off-CPU](https://www.brendangregg.com/offcpuanalysis.html) (e.g. I/O) time together. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - required: false - schema: *ref_38 - description: The amount of seconds to run the profiler for. - responses: - '200': - description: OK - content: - application/x-gzip: - schema: - type: string - tags: - - Profiling - operationId: get__debug-fgprof - post: - summary: Get fgprof profile - description: |- - A sampling Go profiler that allows you to analyze On-CPU as well as [Off-CPU](https://www.brendangregg.com/offcpuanalysis.html) (e.g. I/O) time together. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: seconds - in: query - required: false - schema: *ref_38 - description: The amount of seconds to run the profiler for. - responses: - '200': - description: OK - content: - application/x-gzip: - schema: - type: string - tags: - - Profiling - operationId: post__debug-fgprof - /_post_upgrade: - post: - summary: Run the post upgrade process on all databases - description: |- - The post upgrade process involves removing obsolete design documents and indexes when they are no longer needed. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: preview - in: query - description: If set, a dry-run will be done to return what would be removed. - schema: - type: boolean - default: false - responses: - '200': - description: Returned results - content: - application/json: - schema: - type: object - properties: - post_upgrade_results: - description: A map of databases. - type: object - additionalProperties: - x-additionalPropertiesName: db - description: The name of the database that was targetted. - type: object - properties: - removed_design_docs: - description: The design documents that have or will be removed. - type: array - items: - type: string - removed_indexes: - description: The indexes that have or will be removed. - type: array - items: - type: string - example: - - '`_default`.`_default`.syncDocs_x1`' - - '`scope`.`collection1`.sg_allDocs_1' - required: - - removed_design_docs - - removed_indexes - preview: - description: If set, nothing in the database was changed as this was a dry-run. This can be controlled by the `preview` query parameter in the request. - type: boolean - required: - - post_upgrade_results - tags: - - Server - operationId: post__post_upgrade - /{db}/_config: - get: - summary: Get database configuration - description: |- - Retrieve the full configuration for the database specified. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: redact - in: query - deprecated: true - required: false - schema: *ref_39 - description: No longer supported field. - - name: include_javascript - in: query - description: Include the fields that have Javascript functions in the response. E.g. sync function, import filter, and event handlers. - schema: - type: boolean - default: true - - name: include_runtime - in: query - required: false - schema: &ref_115 - type: boolean - default: false - description: Whether to include the values set at runtime, and default values. - - name: refresh_config - in: query - description: Forces the configuration to be reloaded on the Sync Gateway node. - schema: - type: boolean - default: false - responses: - '200': - description: Successfully retrieved database configuration - headers: - Etag: - schema: - type: string - description: The database configuration version. Use with If-Match for optimistic concurrency control. - content: - application/json: - schema: - description: The properties of a database configuration. - type: object - properties: *ref_40 - title: Database-config - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Configuration - operationId: get_db-_config - put: - summary: Replace database configuration - description: |- - Replaces the database configuration with the one sent in the request. - - The bucket and database name cannot be changed. If these need to be changed, the database will need to be deleted then recreated with the new settings. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application (sync function only) - parameters: - - name: If-Match - in: header - required: false - schema: &ref_42 - type: string - description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - - name: disable_oidc_validation - in: query - required: false - description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_41 - requestBody: - description: The new database configuration to use - content: - application/json: - schema: - description: The properties of a database configuration. - type: object - properties: *ref_40 - title: Database-config - responses: - '201': - description: Database configuration successfully updated - headers: &ref_43 - Etag: - schema: - type: string - description: The new database configuration revision. - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '412': - description: |- - Precondition Failed - - The supplied If-Match header did not match the current version of the configuration. - - Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: &ref_44 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - example: - error: Precondition Failed - reason: Provided If-Match header does not match current config version - tags: - - Database Configuration - operationId: put_db-_config - post: - summary: Update database configuration - description: |- - This is used to update the database configuration fields specified. Only the fields specified in the request will have their values replaced. - - The bucket and database name cannot be changed. If these need to be changed, the database will need to be deleted then recreated with the new settings. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Application (sync function only) - parameters: - - name: If-Match - in: header - required: false - schema: *ref_42 - description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - requestBody: - description: The database configuration fields to update - content: - application/json: - schema: - description: The properties of a database configuration. - type: object - properties: *ref_40 - title: Database-config - responses: - '201': - description: Database configuration successfully updated - headers: *ref_43 - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Not Found - '412': - description: |- - Precondition Failed - - The supplied If-Match header did not match the current version of the configuration. - - Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_44 - tags: - - Database Configuration - operationId: post_db-_config - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - /{db}/_config/audit: - get: - summary: Get database audit configuration - description: |- - Retrieve the audit configuration for the database specified. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: verbose - in: query - description: Whether to show name and description with each audit event. - schema: - type: boolean - default: false - - name: filterable - in: query - description: Whether to show only filterable audit events. - schema: - type: boolean - default: false - responses: - '200': - description: Successfully retrieved database configuration - content: - application/json: - schema: - oneOf: - - title: Simple - description: A map of audit events and whether they are enabled or not. - properties: &ref_45 - enabled: - type: boolean - events: - type: object - additionalProperties: - x-additionalPropertiesName: audit_id - description: The audit event ID and whether it is enabled or not. - type: boolean - disabled_users: - description: List of users for which audit logging is disabled. - type: array - items: - type: object - properties: - domain: - description: | - The domain of the role for which audit logging is disabled. - - * `cbs` - Couchbase Server User - * `sgw` - Sync Gateway User - enum: - - cbs - - sgw - type: string - name: - description: The name of the user for which audit logging is disabled. - type: string - disabled_roles: - description: List of roles for which audit logging is disabled. Either cbs or sgw. - type: array - items: - type: object - properties: - domain: - description: | - The domain of the role for which audit logging is disabled. - - * `cbs` - Couchbase Server RBAC - * `sgw` - Sync Gateway Role - enum: - - cbs - - sgw - type: string - name: - description: The name of the role for which audit logging is disabled. - type: string - - title: Verbose - description: A map of detailed audit events. - properties: &ref_46 - enabled: - type: boolean - events: - type: object - additionalProperties: - x-additionalPropertiesName: audit_id - description: The audit event ID and whether it is enabled or not. - title: audit-event-verbose - type: object - properties: &ref_134 - name: - type: string - description: The name of the audit event. - readOnly: true - description: - type: string - description: The description of the audit event. - readOnly: true - enabled: - type: boolean - description: Whether this audit event is currently enabled or not. - filterable: - type: boolean - description: Whether this audit event can be disabled. Some audit events are always on. - readOnly: true - disabled_users: - description: List of users for which audit logging is disabled. - type: array - items: - type: object - properties: - domain: - description: | - The domain of the role for which audit logging is disabled. - - * `cbs` - Couchbase Server User - * `sgw` - Sync Gateway User - enum: - - cbs - - sgw - type: string - name: - description: The name of the user for which audit logging is disabled. - type: string - disabled_roles: - description: List of roles for which audit logging is disabled. Either cbs or sgw. - type: array - items: - type: object - properties: - domain: - description: | - The domain of the role for which audit logging is disabled. - - * `cbs` - Couchbase Server RBAC - * `sgw` - Sync Gateway Role - enum: - - cbs - - sgw - type: string - name: - description: The name of the role for which audit logging is disabled. - type: string - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Configuration - operationId: get_db-_config-audit - put: - summary: Replace database audit configuration - description: |- - Replaces the database audit configuration with the one sent in the request. - - Unspecified audit events will be reset to their default enabled value. Use POST if you want upsert-style semantics. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - requestBody: - description: The new database audit configuration to use - content: - application/json: - schema: - oneOf: - - title: Simple - description: A map of audit events and whether they are enabled or not. - properties: *ref_45 - - title: Verbose - description: A map of detailed audit events. - properties: *ref_46 - responses: - '200': - description: Database audit configuration successfully updated - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Configuration - operationId: put_db-_config-audit - post: - summary: Update database audit configuration - description: |- - This is used to update the database configuration fields specified. Only the fields specified in the request will have their values replaced. - - Unspecified audit events will be unaffected. Use PUT if you want to reset events to their default state. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: verbose - in: query - description: Whether to show name and description with each audit event. - schema: - type: boolean - default: false - requestBody: - description: The database configuration fields to update - content: - application/json: - schema: - oneOf: - - title: Simple - description: A map of audit events and whether they are enabled or not. - properties: *ref_45 - - title: Verbose - description: A map of detailed audit events. - properties: *ref_46 - responses: - '200': - description: Database audit configuration successfully updated - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Not Found - tags: - - Database Configuration - operationId: post_db-_config-audit - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - /{keyspace}/_config/sync: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - get: - summary: Get database sync function - description: |- - This returns the database's sync function. - - Response will be blank if there has been no sync function set. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - responses: - '200': - description: Successfully retrieved the sync function - headers: - Etag: - schema: - type: string - description: The database configuration revision. - content: - application/javascript: - schema: - type: string - example: |- - function (doc, oldDoc) { - channel(doc.channels); - } - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Configuration - operationId: get_keyspace-_config-sync - put: - summary: Set database sync function - description: |- - This will allow you to update the sync function. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: If-Match - in: header - required: false - schema: *ref_42 - description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - - name: disable_oidc_validation - in: query - required: false - description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_41 - requestBody: - description: The new sync function to use - content: - application/javascript: - schema: - type: string - example: |- - function (doc, oldDoc) { - channel(doc.channels); - } - responses: - '200': - description: Updated sync function successfully - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '412': - description: |- - Precondition Failed - - The supplied If-Match header did not match the current version of the configuration. - - Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_44 - tags: - - Database Configuration - operationId: put_keyspace-_config-sync - delete: - summary: Remove custom sync function - description: |- - This will remove the custom sync function from the database configuration. - - The default sync function is equivalent to: - ```javascript - function (doc) { - channel(doc.channels); - } - ``` - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: If-Match - in: header - required: false - schema: &ref_81 - type: string - description: The revision ID to target. - responses: - '200': - description: Successfully reset the sync function - '404': - description: Resource could not be found - content: *ref_2 - '412': - description: |- - Precondition Failed - - The supplied If-Match header did not match the current version of the configuration. - - Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_44 - tags: - - Database Configuration - operationId: delete_keyspace-_config-sync - /{keyspace}/_config/import_filter: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - get: - summary: Get database import filter - description: |- - This returns the database's import filter that documents are ran through when importing. - - Response will be blank if there has been no import filter set. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - responses: - '200': - description: Successfully retrieved the import filter - headers: - Etag: - schema: - type: string - description: The database configuration revision. - content: - application/javascript: - schema: - type: string - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Configuration - operationId: get_keyspace-_config-import_filter - put: - summary: Set database import filter - description: |- - This will allow you to update the database's import filter. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: If-Match - in: header - required: false - schema: *ref_42 - description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - - name: disable_oidc_validation - in: query - required: false - description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_41 - requestBody: - description: The import filter to use - content: - application/javascript: - schema: - type: string - responses: - '200': - description: Updated import filter successfully - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '412': - description: |- - Precondition Failed - - The supplied If-Match header did not match the current version of the configuration. - - Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_44 - tags: - - Database Configuration - operationId: put_keyspace-_config-import_filter - delete: - summary: Delete import filter - description: |- - This will remove the custom import filter function from the database configuration so that Sync Gateway will not filter any documents during import. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: If-Match - in: header - required: false - schema: *ref_42 - description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - responses: - '200': - description: Successfully deleted the import filter - '404': - description: Resource could not be found - content: *ref_2 - '412': - description: |- - Precondition Failed - - The supplied If-Match header did not match the current version of the configuration. - - Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_44 - tags: - - Database Configuration - operationId: delete_keyspace-_config-import_filter - /{db}/_resync: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get resync status - description: |- - This will retrieve the status of last resync operation (whether it is running or not) in the Sync Gateway cluster. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - responses: - '200': - description: successfully retrieved the most recent resync operation status - content: - application/json: - schema: - description: The status of a resync operation - type: object - properties: &ref_49 - status: - description: The status of the current operation. - type: string - enum: - - running - - completed - - stopping - - stopped - - error - start_time: - description: The ISO-8601 date and time the resync operation was started. - type: string - last_error: - description: The last error that occurred in the resync operation (if any). - type: string - docs_changed: - description: The amount of documents that have been changed as a result of the resync operation. - type: integer - docs_processed: - description: The amount of docs that have been processed so far in the resync operation. - type: integer - collections_processing: - description: The collections that the resync operation is running on. - allOf: - - description: scope name with one or more collection names for which resync will be triggered - type: object - additionalProperties: &ref_47 - allOf: - - description: List of collection names - type: array - items: &ref_135 - type: string - example: - - collection1 - - collection2 - example: &ref_48 - scopeName: - - collection1 - - collection2 - required: &ref_50 - - status - - start_time - - last_error - - docs_changed - - docs_processed - title: Resync-status - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Management - operationId: get_db-_resync - post: - summary: Start or stop Resync - description: | - This can be used to start or stop a resync operation. A resync operation will cause all documents in the keyspace to be reprocessed through the sync function. - - Generally, a resync operation might be wanted when the sync function has been modified in such a way that the channel or access mappings for any existing documents would change as a result. - - A resync operation cannot be run if the database is online. The database can be taken offline by calling [POST /{db}/_config](#operation/post_db-_config) with `{"offline": true}` to set the database to offline. - - The `requireUser()` and `requireRole()` calls in the sync function will always return `true`. - - - **action=start** - This is an asynchronous operation, and will start resync in the background. - - **action=stop** - This will stop the currently running resync operation. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: action - in: query - description: This is whether to start a new resync job or stop an existing one. - schema: - type: string - default: start - enum: - - start - - stop - - name: regenerate_sequences - in: query - description: '**Use this only when requested to do so by the Couchbase support team** This request will regenerate the sequence numbers for each document processed. If scopes parameter is specified, the principal sequence documents will not have their sequences updated.' - schema: - type: boolean - - name: reset - in: query - description: This forces a fresh resync run instead of trying to resume the previous resync operation - schema: - type: boolean - default: false - requestBody: - content: - application/json: - schema: - type: object - properties: - scopes: - description: This controls for which collections resync will run - type: object - allOf: - - description: scope name with one or more collection names for which resync will be triggered - type: object - additionalProperties: *ref_47 - example: *ref_48 - regenerate_sequences: - description: This can be used as an alternative to query param `regenerate_sequences`. If either query param or this is set to true, then the request will regenerate the sequence numbers for each document processed. - type: boolean - default: false - responses: - '200': - description: successfully changed the status of the resync operation - content: - application/json: - schema: - description: The status of a resync operation - type: object - properties: *ref_49 - required: *ref_50 - title: Resync-status - '503': - description: Service Unavailable - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Management - operationId: post_db-_resync - /{db}/_index_init: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Start asynchronous index initialization - description: | - This can be used to start index initialization with different parameters from a running database. The typical workflow is: - - 1. Start the process of creating new indexes with [POST /{db}/_index_init](#operation/post_db-_index_init). - 2. Wait for index initialization to complete with [GET /{db}/_index_init](#operation/get_db-_index_init). - 3. Update the database configuration to use these new indexes with [POST /{db}/_config](#operation/post_db-_config). - 4. Call [POST /_post_upgrade](#operation/post__post_upgrade) to remove the original indexes. - - This operation will start creation of indexes, and the creation of indexes can not be stopped on Couchbase Server once it has been started. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: action - in: query - description: Defines whether the index creation operation is being started or stopped. - schema: - type: string - default: start - enum: - - start - - stop - x-enumDescriptions: - start: Starts the creation of indexes. - stop: Stops tracking the index creation by Sync Gateway. These indexes will still be created on Couchbase Server. - requestBody: - content: - application/json: - schema: - allOf: - - type: object - description: Settings for Global Secondary Indexes (GSI). - properties: &ref_51 - create_separate_principal_indexes: - description: |- - Whether to create separate indexes for users and roles instead of a single larger syncDocs index. - - The separate principal indexes are smaller and used automatically for new database deployments. To remove the syncDocs index, wait for this to complete, restart all Sync Gateway instances and run [POST /_post_upgrade](#operation/post__post_upgrade). - type: boolean - default: false - num_partitions: - description: |- - The number of partitions to use for the large indexes created by Sync Gateway. It is not recommended to set this unless you require additional horizontal scalability for individual indexes and have appropriately scaled your Query nodes to handle the increased query parallelism. If set, the recommended number is 8 and does not need to be directly related to the number of your Query nodes. Ensure documentation is read to understand the performance tradeoffs and instructions for migration if you have previously run with only one partition. See [/{db}/_index_init](#operation/post_db-_index_init) for more information. - - If not specified or 1, all indexes will be non partitioned. - type: number - default: 1 - title: Number of Index Partitions - responses: - '200': - description: successfully changed the status of the index initialization operation - content: - application/json: - schema: - description: The status of an asynchronous indexes initialization operation. - type: object - properties: &ref_52 - status: - description: The status of the current operation. - type: string - enum: - - completed - - error - - running - - stopped - - stopping - x-enumDescriptions: - running: Indexes are being created. - completed: All indexes were created. - error: The index initialization operation has failed. - stopped: The index initialization operation has been stopped. These indexes may still exist on Couchbase Server. - stopping: The index initialization operation is in the process of being stopped. - start_time: - description: The ISO-8601 date and time the index initialization operation was started. - type: string - last_error: - description: The last error that occurred in the index initialization operation (if any). - type: string - index_status: - description: scope name with one or more collection names and the status of their index creation - type: object - additionalProperties: - x-additionalPropertiesName: scopename - description: An object keyed by scope, containing a set of collections and the status of their index creation. - type: object - additionalProperties: - x-additionalPropertiesName: collectionname - type: string - enum: - - queued - - in progress - - ready - - error - x-enumDescriptions: - queued: Indexes are queued for creation. - in progress: Indexes are being created. - ready: All indexes were created. - error: The index creation operation has failed. - settings: - allOf: - - type: object - description: Settings for Global Secondary Indexes (GSI). - properties: *ref_51 - required: &ref_53 - - status - - start_time - - last_error - - index_status - title: IndexInitStatus - '503': - description: Service Unavailable - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Management - operationId: post_db-_index_init - get: - summary: Get status of index initialization - description: |- - This will retrieve the status of last index initialization operation (whether it is running or not) in the Sync Gateway cluster. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - responses: - '200': - description: successfully retrieved the most recent index initialization - content: - application/json: - schema: - description: The status of an asynchronous indexes initialization operation. - type: object - properties: *ref_52 - required: *ref_53 - title: IndexInitStatus - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Management - operationId: get_db-_index_init - /{keyspace}/_purge: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Purge a document - description: |- - The purge command provides a way to remove a document from the database. The operation removes *all* revisions (active and tombstones) for the specified document(s). A common usage of this endpoint is to remove tombstone documents that are no longer needed, thus recovering storage space and reducing data replicated to clients. Other clients are not notified when a revision has been purged; so in order to purge a revision from the system it must be done from all databases (on Couchbase Lite and Sync Gateway). - - When `enable_shared_bucket_access` is enabled, this endpoint removes the document and its associated extended attributes. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - requestBody: - description: Purge request body - content: - application/json: - schema: - type: object - additionalProperties: - x-additionalPropertiesName: doc_id - description: |- - The document ID to purge. The array must only be 1 element which is `*`. - - All revisions will be permanently removed for that document. - type: array - items: - type: string - enum: - - '*' - examples: - single: - summary: Single document - value: - doc_id: - - '*' - multiple: - summary: Multiple documents - value: - doc_id_1: - - '*' - doc_id_2: - - '*' - responses: - '200': - description: Attempted documents purge. Check output to verify the documents that were purged. The document IDs will not be listed if they have not been purged (for example, due to no existing). - content: - application/json: - schema: - type: object - properties: - purged: - type: object - additionalProperties: - x-additionalPropertiesName: doc_id - description: The document ID that was purged. The array will only contain `*` to indicate that the document was purged. - type: array - items: - type: string - enum: - - '*' - required: - - purged - examples: - single: - summary: Single document - value: - purged: - doc_id: - - '*' - multiple: - summary: Multiple documents - value: - purged: - doc_id_1: - - '*' - doc_id_2: - - '*' - '400': - description: Bad request. This could be due to the documents listed in the request body not having the `["*"]` value for each document ID. - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_purge - /{db}/_flush: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Flush the entire database bucket | Unsupported - description: |- - **This is unsupported** - - This will purge *all* documents. - - The bucket will only be flushed if the unsupported database configuration option `enable_couchbase_bucket_flush` is set. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: Successfully flushed the bucket - '404': - description: Resource could not be found - content: *ref_2 - '503': - description: The bucket does not support flush or delete - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Unsupported - operationId: post_db-_flush - /{db}/_online: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Bring the database online - description: |- - This will bring the database online on this node only so the Public and full Admin REST API requests can be served. - - If using persistent config, call [POST /{db}/_config](#operation/post_db-_config) with `{"offline": false}` to set the database to online. - - Bringing a database online will: - * Close the database connection to the backing Couchbase Server bucket. - * Reload the database configuration, and connect to the backing Couchbase Server bucket. - * Re-establish access to the database from the Public REST API and accept all Admin API requests. - - A specific delay before bringing the database online may be wanted to: - * Make the database available for Couchbase Lite clients at a specific time. - * Make the databases on several Sync Gateway instances available at the same time. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - requestBody: - description: Add an optional delay to wait before bringing the database online - content: - application/json: - schema: - type: object - properties: - delay: - description: The amount of seconds to delay bringing the database online. - type: integer - default: 0 - responses: - '200': - description: Database will be brought online immediately or with the specified delay - '404': - description: Resource could not be found - content: *ref_2 - '503': - description: An error occurred - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Management - operationId: post_db-_online - /{db}/_offline: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Take the database offline - description: |- - This will take the database offline on this node only. Actions can be taken without disrupting current operations ungracefully or having the restart the Sync Gateway instance. - - If using persistent config, call [POST /{db}/_config](#operation/post_db-_config) with `{"offline": true}` to set the database to offline. - - This will not take the backing Couchbase Server bucket offline. - - Taking a database offline that is in the progress of coming online will take the database offline after it comes online. - - Taking the database offline will: - * Close all active `_changes` feeds for the database. - * Reject all access to the database via the Public REST API (returning a 503 Service Unavailable code). - * Reject most Admin API requests (by returning a 503 Service Unavailable code). The only endpoints to be available are: the resync endpoints, the configuration endpoints, `DELETE, GET, HEAD /{db}/`, `POST /{db}/_offline`, and `POST /{db}/_online`. - * Stops webhook event handlers. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - responses: - '200': - description: Database has been taken offline successfully - '404': - description: Resource could not be found - content: *ref_2 - '503': - description: An error occurred while trying to take the database offline - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Management - operationId: post_db-_offline - /{db}/_dump/{view}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: view - in: path - required: true - schema: &ref_54 - type: string - description: The view to target. - get: - summary: Dump a view | Unsupported - description: |- - **This is unsupported** - - This queries the view and outputs it as HTML. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - responses: - '200': - description: Retrieved view successfully - content: - text/html: - schema: - type: string - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Internal Server Error - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Unsupported - operationId: get_db-_dump-view - /{db}/_view/{view}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: view - in: path - required: true - schema: *ref_54 - description: The view to target. - get: - summary: Query a view on the default design document | Unsupported - description: |- - **This is unsupported** - - Query a view on the default Sync Gateway design document. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: inclusive_end - in: query - required: false - description: Indicates whether the specified end key should be included in the result. - schema: &ref_61 - type: boolean - - name: descending - in: query - required: false - description: Return documents in descending order. - schema: &ref_62 - type: boolean - - name: include_docs - in: query - required: false - description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: &ref_63 - type: boolean - - name: reduce - in: query - required: false - description: Whether to execute a reduce function on the response or not. - schema: &ref_64 - type: boolean - - name: group - in: query - required: false - description: Group the results using the reduce function to a group or single row. - schema: &ref_65 - type: boolean - - name: skip - in: query - required: false - description: Skip the specified number of documents before starting to return results. - schema: &ref_66 - type: integer - - name: limit - in: query - required: false - description: Return only the specified number of documents - schema: &ref_67 - type: integer - - name: group_level - in: query - required: false - description: Specify the group level to be used. - schema: &ref_68 - type: integer - - name: startkey_docid - in: query - required: false - description: Return documents starting with the specified document identifier. - schema: &ref_69 - type: string - - name: endkey_docid - in: query - required: false - description: Stop returning records when the specified document identifier is reached. - schema: &ref_70 - type: string - - name: stale - in: query - required: false - description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: &ref_71 - type: string - enum: - - ok - - update_after - - name: startkey - in: query - required: false - schema: &ref_72 - type: string - description: Return records starting with the specified key. - - name: endkey - in: query - required: false - schema: &ref_73 - type: string - description: Stop returning records when this key is reached. - - name: key - in: query - required: false - description: Return only the document that matches the specified key. - schema: &ref_74 - type: string - - name: keys - in: query - required: false - schema: &ref_75 - type: array - items: - type: string - description: An array of document ID strings to filter by. - responses: - '200': - description: Returned view successfully - content: - application/json: - schema: - type: object - properties: - total_rows: - type: integer - rows: - type: array - items: - type: object - properties: - id: - type: string - key: - type: object - value: - type: object - doc: - type: object - errors: - type: array - items: - type: object - properties: - From: - type: string - Reason: - type: string - required: - - total_rows - - rows - '403': - description: Forbidden - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_view-view - /{keyspace}/_dumpchannel/{channel}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: channel - in: path - description: The channel to dump all the documents from. - required: true - schema: - type: string - get: - summary: Dump all the documents in a channel | Unsupported - description: |- - **This is unsupported** - - This queries a channel and displays all the document IDs and revisions that are in that channel. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: since - in: query - description: Starts the results from the change immediately after the given sequence ID. Sequence IDs should be considered opaque; they come from the last_seq property of a prior response. - schema: - type: string - responses: - '200': - description: Successfully got all documents in the channel - content: - text/html: - schema: - type: string - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_keyspace-_dumpchannel-channel - /{db}/_repair: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Disabled endpoint - description: |- - This endpoint is disabled. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - responses: - '500': - description: This endpoint is disabled - tags: - - Unsupported - operationId: post_db-_repair - /{db}/_compact: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Manage a compact operation - description: |- - This allows a new compact operation to be done on the database, or to stop an existing running compact operation. - - The type of compaction that is done depends on what the `type` query parameter is set to. The 2 options will: - * `tombstone` - purge the JSON bodies of non-leaf revisions. This is known as database compaction. Database compaction is done periodically automatically by the system. JSON bodies of leaf nodes (conflicting branches) are not removed therefore it is important to resolve conflicts in order to re-claim disk space. - * `attachment` - purge all unlinked/unused legacy (pre 3.0) attachments. If the previous attachment compact operation failed, this will attempt to restart the `compact_id` at the appropriate phase (if possible). - - Both types can each have a maximum of 1 compact operation running at any one point. This means that an attachment compaction can be running at the same time as a tombstone compaction but not 2 tombstone compactions. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: type - in: query - required: false - schema: &ref_55 - type: string - default: tombstone - enum: - - attachment - - tombstone - description: |- - This is the type of compaction to use. The type must be either: - * `attachment` for cleaning up legacy (pre-3.0) attachments - * `tombstone` for purging the JSON bodies of non-leaf revisions.' - - name: action - in: query - description: Defines whether the compact operation is being started or stopped. - schema: - type: string - default: start - enum: - - start - - stop - - name: reset - in: query - description: |- - **Attachment compaction only** - - This forces a fresh compact start instead of trying to resume the previous failed compact operation. - schema: - type: boolean - - name: dry_run - in: query - description: |- - **Attachment compaction only** - - This will run through all 3 stages of attachment compact but will not purge any attachments. This can be used to check how many attachments will be purged.' - schema: - type: boolean - responses: - '200': - description: Started or stopped compact operation successfully - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '503': - description: Cannot start compaction due to another compaction operation still running. - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Database Management - operationId: post_db-_compact - get: - summary: Get the status of the most recent compact operation - description: |- - This will retrieve the current status of the most recent compact operation. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - parameters: - - name: type - in: query - required: false - schema: *ref_55 - description: |- - This is the type of compaction to use. The type must be either: - * `attachment` for cleaning up legacy (pre-3.0) attachments - * `tombstone` for purging the JSON bodies of non-leaf revisions.' - responses: - '200': - description: Compaction status retrieved successfully - content: - application/json: - schema: - description: The status returned from a compaction. - type: object - properties: &ref_136 - status: - description: The status of the current operation. - type: string - start_time: - description: The ISO-8601 date and time the compact operation was started. - type: string - last_error: - description: The last error that occurred in the compact operation (if any). - type: string - docs_purged: - description: |- - **Applicable to tombstone compaction only** - - This is the amount of documents that have been purged so far. - type: string - marked_attachments: - description: |- - **Applicable to attachment compaction only** - - This is the number of references there are to legacy attachments. - type: string - purged_attachments: - description: |- - **Applicable to attachment compaction only** - - This is the amount of attachments that have been purged so far. - type: string - compact_id: - description: |- - **Applicable to attachment compaction only** - - This is the ID of the compaction. - type: string - phase: - description: |- - **Applicable to attachment compaction only** - - This indicates the current phase of running attachment compact processes. - - For failed processes, this indicates the phase at which a compact_id restart will commence (where relevant). - type: string - dry_run: - description: | - **Applicable to attachment compaction only** - type: string - enum: - - mark - - sweep - - cleanup - required: &ref_137 - - status - - start_time - - last_error - title: Compact-status - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Management - operationId: get_db-_compact - /{keyspace}/: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Create a new document - description: |- - Create a new document in the keyspace. - - This will generate a random document ID unless specified in the body. - - A document can have a maximum size of 20MB. - parameters: - - name: roundtrip - in: query - required: false - schema: &ref_78 - type: boolean - description: Block until document has been received by change cache - requestBody: - content: - application/json: - schema: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: &ref_82 - _id: - description: The ID of the document. - type: string - _rev: - description: The revision of the document. - type: string - _exp: - description: |- - Expiry time after which the document will be purged. The expiration time is set and managed on the Couchbase Server document. The value can be specified in two ways; in ISO-8601 format, for example the 6th of July 2022 at 17:00 in the BST timezone would be `2016-07-06T17:00:00+01:00`; it can also be specified as a numeric Couchbase Server expiry value. Couchbase Server expiry values are specified as Unix time, and if the desired TTL is below 30 days then it can also represent an interval in seconds from the current time (for example, a value of 5 will remove the document 5 seconds after it is written to Couchbase Server). The document expiration time is returned in the response of `GET /{db}/{doc} ` when `show_exp=true` is included in the query. - - As with the existing explicit purge mechanism, this applies only to the local database; it has nothing to do with replication. This expiration time is not propagated when the document is replicated. The purge of the document does not cause it to be deleted on any other database. - type: string - _deleted: - description: Whether the document is a tombstone or not. If true, it is a tombstone. - type: boolean - _revisions: - type: object - properties: - start: - description: Prefix number for the latest revision. - type: number - ids: - description: Array of valid revision IDs, in reverse order (latest first). - type: array - items: - type: string - _attachments: - type: object - additionalProperties: - x-additionalPropertiesName: attachmentname - description: The name of the attachment. - type: object - properties: - content_type: - description: Content type of the attachment. - type: string - data: - description: The data in the attachment in base64. - type: string - responses: - '200': - description: New document revision created successfully. - headers: - Etag: - schema: - type: string - description: The revision ID of the newly created document. - Location: - schema: - type: string - description: The document ID of the newly created document. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: &ref_76 - id: - description: The ID of the document. - type: string - ok: - description: Whether the request completed successfully. - type: boolean - rev: - description: The revision of the document. - type: string - required: &ref_77 - - id - - ok - - rev - title: New-revision - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_18 - '415': - description: Invalid content type - content: &ref_83 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Document - operationId: post_keyspace- - /_expvar: - get: - summary: Get all Sync Gateway statistics in JSON format - description: |- - This returns a snapshot of all metrics in Sync Gateway for debugging and monitoring purposes. - - This includes per database stats, replication stats, and server stats. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Dev Ops - * External Stats Reader - tags: - - Metrics - responses: - '200': - description: |- - Successfully returned statistics. - For details, see [JSON Metrics](stats-monitoring-json.html). - content: - application/json: - schema: - type: object - properties: &ref_138 - cmdline: - description: Built-in variables from the Go runtime, lists the command-line arguments - type: object - memstats: - description: Dumps a large amount of information about the memory heap and garbage collector - type: object - cb: - description: Variables reported by the Couchbase SDK (go_couchbase package) - type: object - mc: - description: Variables reported by the low-level memcached API (gomemcached package) - type: object - syncGateway_changeCache: - type: object - properties: - maxPending: - description: Max number of sequences waiting on a missing earlier sequence number - type: object - lag-tap-0000ms: - description: Histogram of delay from doc save till it shows up in Tap feed - type: object - lag-queue-0000ms: - description: Histogram of delay from Tap feed till doc is posted to changes feed - type: object - lag-total-0000ms: - description: Histogram of total delay from doc save till posted to changes feed - type: object - outOfOrder: - description: Number of out-of-order sequences posted - type: object - view_queries: - description: Number of queries to channels view - type: object - syncGateway_db: - type: object - properties: - channelChangesFeeds: - description: Number of calls to db.changesFeed, i.e. generating a changes feed for a single channel. - type: object - channelLogAdds: - description: Number of entries added to channel logs - type: object - channelLogAppends: - description: Number of times entries were written to channel logs using an APPEND operation - type: object - channelLogCacheHits: - description: Number of requests for channel-logs that were fulfilled from the in-memory cache - type: object - channelLogRewrites: - description: Number of times entries were written to channel logs using a SET operation (rewriting the entire log) - type: object - channelLogRewriteCollisions: - description: Number of collisions while attempting to rewrite channel logs using SET - type: object - document_gets: - description: Number of times a document was read from the database - type: object - revisionCache_adds: - description: Number of revisions added to the revision cache - type: object - revisionCache_hits: - description: Number of times a revision-cache lookup succeeded - type: object - revisionCache_misses: - description: Number of times a revision-cache lookup failed - type: object - revs_added: - description: Number of revisions added to the database (including deletions) - type: object - sequence_gets: - description: Number of times the database's lastSequence was read - type: object - sequence_reserves: - description: Number of times the database's lastSequence was incremented - type: object - syncgateway: - description: Monitoring stats - type: object - properties: - global: - description: Global Sync Gateway stats - type: object - properties: - resource_utilization: - description: Resource utilization stats - type: object - properties: - admin_net_bytes_recv: - type: integer - description: The total number of bytes received (since node start-up) on the network interface to which the Sync Gateway api.admin_interface is bound. - admin_net_bytes_sent: - type: integer - description: The total number of bytes sent (since node start-up) on the network interface to which the Sync Gateway api.admin_interface is bound. - error_count: - type: integer - description: The total number of errors logged. - go_memstats_heapalloc: - type: integer - description: HeapAlloc is bytes of allocated heap objects. Allocated heap objects include all reachable objects, as well as unreachable objects that the garbage collector has not yet freed. Specifically, HeapAlloc increases as heap objects are allocated and decreases as the heap is swept and unreachable objects are freed. Sweeping occurs incrementally between GC cycles, so these two processes occur simultaneously, and as a result HeapAlloc tends to change smoothly (in contrast with the sawtooth that is typical of stop-the-world garbage collectors). - go_memstats_heapidle: - type: integer - description: HeapIdle is bytes in idle (unused) spans. Idle spans have no objects in them. These spans could be (and may already have been) returned to the OS, or they can be reused for heap allocations, or they can be reused as stack memory. HeapIdle minus HeapReleased estimates the amount of memory that could be returned to the OS, but is being retained by the runtime so it can grow the heap without requesting more memory from the OS. If this difference is significantly larger than the heap size, it indicates there was a recent transient spike in live heap size. - go_memstats_heapinuse: - type: integer - description: HeapInuse is bytes in in-use spans. In-use spans have at least one object in them. These spans an only be used for other objects of roughly the same size. HeapInuse minus HeapAlloc estimates the amount of memory that has been dedicated to particular size classes, but is not currently being used. This is an upper bound on fragmentation, but in general this memory can be reused efficiently. - go_memstats_heapreleased: - type: integer - description: HeapReleased is bytes of physical memory returned to the OS. This counts heap memory from idle spans that was returned to the OS and has not yet been reacquired for the heap. - go_memstats_pausetotalns: - type: integer - description: PauseTotalNs is the cumulative nanoseconds in GC stop-the-world pauses since the program started. During a stop-the-world pause, all goroutines are paused and only the garbage collector can run. - go_memstats_stackinuse: - type: integer - description: StackInuse is bytes in stack spans. In-use stack spans have at least one stack in them. These spans can only be used for other stacks of the same size. There is no StackIdle because unused stack spans are returned to the heap (and hence counted toward HeapIdle). - go_memstats_stacksys: - type: integer - description: StackSys is bytes of stack memory obtained from the OS. StackSys is StackInuse, plus any memory obtained directly from the OS for OS thread stacks (which should be minimal). - go_memstats_sys: - type: integer - description: Sys is the total bytes of memory obtained from the OS. Sys is the sum of the XSys fields below. Sys measures the virtual address space reserved by the Go runtime for the heap, stacks, and other internal data structures. It's likely that not all of the virtual address space is backed by physical memory at any given moment, though in general it all was at some point. - goroutines_high_watermark: - type: integer - description: Peak number of go routines since process start. - num_goroutines: - type: integer - description: The total number of goroutines. - num_idle_kv_ops: - type: integer - description: The total number of idle kv operations. - num_idle_query_ops: - type: integer - description: The total number of idle query operations. - process_cpu_percent_utilization: - type: number - format: float - description: The CPU utilization as percentage value * 10. The extra 10 multiplier is a mistake left for backwards compatibility. Please consider using node_cpu_percent_utilization as of version 3.2. The CPU usage calculation is performed based on user and system CPU time, but it does not include components such as iowait. The derivation means that the values of process_cpu_percent_utilization and %Cpu, returned when running the top command, will differ. - node_cpu_percent_utilization: - type: number - format: float - description: The node CPU utilization as percentage value, since the last time this stat was called. The CPU usage calculation is performed based on user and system CPU time, but it does not include components such as iowait. - process_memory_resident: - type: integer - description: The memory utilization (Resident Set Size) for the process, in bytes. - pub_net_bytes_recv: - type: integer - description: The total number of bytes received (since node start-up) on the network interface to which the Sync Gateway api.public_interface is bound. By default, that is the number of bytes received on 127.0.0.1:4984 since node start-up - pub_net_bytes_sent: - type: integer - description: The total number of bytes sent (since node start-up) on the network interface to which Sync Gateway api.public_interface is bound. By default, that is the number of bytes sent on 127.0.0.1:4984 since node start-up. - system_memory_total: - type: integer - description: The total memory available on the system in bytes. - warn_count: - type: integer - description: The total number of warnings logged. - uptime: - type: integer - description: The total uptime. - per_db: - description: |- - This array contains stats for all databases declared in the config file — see [View Statistics and Metrics](stats-monitoring.html) for more details on the metrics collected and reported by Sync Gateway. - - The statistics for each database are grouped into: - - cache related statistics - - collections statistics - - cbl_replication_push - - cbl_replication_pull - - database_related_statistics - - delta_sync - - gsi_views - - security_related_statistics - - shared_bucket_import - - per_replication statistics for each `replication_id` - type: array - items: - type: object - properties: - cache: - type: object - database: - type: object - per_replication: - type: object - collections: - type: object - security: - type: object - per_replication: - description: |- - An array of stats for each replication declared in the config file - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: array - items: - type: object - description: Stats for a given replication_id - properties: - $replication_id: - type: object - properties: - sgr_active: - description: |- - Whether the replication is active at this time. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: boolean - sgr_docs_checked_sent: - description: |- - The total number of documents checked for changes since replication started. - This represents the number of potential change notifications pushed by Sync Gateway. - **Constraints** - This is not necessarily the number of documents pushed, as a given target might already have the change. - Used by versions 1 and 2. - type: integer - sgr_num_attachments_transferred: - description: |- - The total number of attachments transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: integer - sgr_num_attachment_bytes_transferred: - description: |- - The total number of attachment bytes transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: integer - sgr_num_docs_failed_to_push: - description: |- - The total number of documents that failed to be pushed since replication started. - Used by versions 1 and 2. - type: integer - sgr_num_docs_pushed: - description: |- - The total number of documents that were pushed since replication started. - Used by versions 1 and 2. - type: integer - deprecated: true - operationId: get__expvar - /: - get: - summary: Get server information - description: Returns information about the Sync Gateway node. - responses: - '200': - description: Returned server information - content: - application/json: - schema: - type: object - properties: &ref_139 - ADMIN: - description: '`true` if the request is from the Admin API - otherwise omitted.' - type: boolean - example: true - couchdb: - description: CouchDB welcome - type: string - example: Welcome - vendor: - allOf: - - description: Product vendor - type: object - properties: *ref_56 - required: *ref_57 - title: Vendor - version: - description: |- - Product version, including the build number and edition (i.e. `EE` or `CE`) - Omitted if `api.hide_product_version=true` - type: string - example: Couchbase Sync Gateway/3.1.0(1;a765231) EE - persistent_config: - description: |- - Indication for whether sync gateway is running in persistent config mode or legacy config mode. - `true` if the sync gateway node is running in persistent config mode. - type: boolean - example: true - required: &ref_140 - - couchdb - - vendor - tags: - - Server - operationId: get_- - head: - responses: - '200': - description: Server is online - tags: - - Server - summary: Check if server online - description: Check if the server is online by checking the status code of response. - operationId: head_- - /_ping: - get: - summary: Check if API is available - description: Returns OK status if API is available. - responses: - '200': - description: Returned status - content: - text/plain: - schema: - type: string - example: OK - tags: - - Server - operationId: get__ping - /{keyspace}/_changes: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - get: - summary: Get changes list - description: |- - This request retrieves a sorted list of changes made to documents in the database, in time order of application. Each document appears at most once, ordered by its most recent change, regardless of how many times it has been changed. - - This request can be used to listen for update and modifications to the database for post processing or synchronization. A continuously connected changes feed is a reasonable approach for generating a real-time log for most applications. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: limit - in: query - description: Maximum number of changes to return. - schema: - type: integer - - name: since - in: query - description: Starts the results from the change immediately after the given sequence ID. Sequence IDs should be considered opaque; they come from the last_seq property of a prior response. - schema: - type: string - - name: style - in: query - description: Controls whether to return the current winning revision (`main_only`) or all the leaf revision including conflicts and deleted former conflicts (`all_docs`). - schema: - type: string - default: main_only - enum: - - main_only - - all_docs - - name: active_only - in: query - description: Set true to exclude deleted documents and notifications for documents the user no longer has access to from the changes feed. - schema: - type: boolean - default: false - - name: include_docs - in: query - required: false - schema: &ref_91 - type: boolean - description: Include the body associated with each document. - - name: revocations - in: query - description: If true, revocation messages will be sent on the changes feed. - schema: - type: boolean - - name: filter - in: query - description: Set a filter to either filter by channels or document IDs. - schema: - type: string - enum: - - sync_gateway/bychannel - - _doc_ids - - name: channels - in: query - description: A comma-separated list of channel names to filter the response to only the channels specified. To use this option, the `filter` query option must be set to `sync_gateway/bychannels`. - schema: - type: string - - name: doc_ids - in: query - description: A valid JSON array of document IDs to filter the documents in the response to only the documents specified. To use this option, the `filter` query option must be set to `_doc_ids` and the `feed` parameter must be `normal`. Also accepts a comma separated list of document IDs instead. - schema: - type: array - items: - type: string - - name: heartbeat - in: query - description: The interval (in milliseconds) to send an empty line (CRLF) in the response. This is to help prevent gateways from deciding the socket is idle and therefore closing it. This is only applicable to `feed=longpoll` or `feed=continuous`. This will override any timeouts to keep the feed alive indefinitely. Setting to 0 results in no heartbeat. The maximum heartbeat can be set in the server replication configuration. If heartbeat is non zero, it must be at least 25000 milliseconds. - schema: - type: integer - default: 0 - - name: timeout - in: query - description: This is the maximum period (in milliseconds) to wait for a change before the response is sent, even if there are no results. This is only applicable for `feed=longpoll` or `feed=continuous` changes feeds. Setting to 0 results in no timeout. - schema: - type: integer - default: 300000 - maximum: 900000 - minimum: 0 - - name: feed - in: query - description: 'The type of changes feed to use. ' - schema: - type: string - default: normal - enum: - - normal - - longpoll - - continuous - - websocket - - name: request_plus - in: query - description: When true, ensures all valid documents written prior to the request being issued are included in the response. This is only applicable for non-continuous feeds. - schema: - type: boolean - default: false - responses: - '200': - description: Successfully returned the changes feed - content: &ref_58 - application/json: - schema: - description: Properties of a changes feed - type: object - properties: &ref_141 - results: - type: array - items: - type: object - properties: - seq: - description: The change sequence number. - type: number - id: - description: The document ID the change happened on. - type: string - changes: - description: List of document leafs with each leaf containing only a `rev` field. - type: array - items: - type: object - properties: - rev: - description: The new revision that was caused by that change. - type: string - uniqueItems: true - uniqueItems: true - last_seq: - description: The last change sequence number. - type: string - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: get_keyspace-_changes - post: - summary: Get changes list - description: |- - This request retrieves a sorted list of changes made to documents in the database, in time order of application. Each document appears at most once, ordered by its most recent change, regardless of how many times it has been changed. - - This request can be used to listen for update and modifications to the database for post processing or synchronization. A continuously connected changes feed is a reasonable approach for generating a real-time log for most applications. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - requestBody: - content: - application/json: - schema: - type: object - properties: - limit: - description: Maximum number of changes to return. - type: string - style: - description: Controls whether to return the current winning revision (`main_only`) or all the leaf revision including conflicts and deleted former conflicts (`all_docs`). - type: string - active_only: - description: Set true to exclude deleted documents and notifications for documents the user no longer has access to from the changes feed. - type: string - include_docs: - description: Include the body associated with each document. - type: string - revocations: - description: If true, revocation messages will be sent on the changes feed. - type: string - filter: - description: Set a filter to either filter by channels or document IDs. - type: string - channels: - description: A comma-separated list of channel names to filter the response to only the channels specified. To use this option, the `filter` query option must be set to `sync_gateway/bychannels`. - type: string - doc_ids: - description: A valid JSON array of document IDs to filter the documents in the response to only the documents specified. To use this option, the `filter` query option must be set to `_doc_ids` and the `feed` parameter must be `normal`. - type: string - heartbeat: - description: The interval (in milliseconds) to send an empty line (CRLF) in the response. This is to help prevent gateways from deciding the socket is idle and therefore closing it. This is only applicable to `feed=longpoll` or `feed=continuous`. This will override any timeouts to keep the feed alive indefinitely. Setting to 0 results in no heartbeat. The maximum heartbeat can be set in the server replication configuration. - type: string - timeout: - description: This is the maximum period (in milliseconds) to wait for a change before the response is sent, even if there are no results. This is only applicable for `feed=longpoll` or `feed=continuous` changes feeds. Setting to 0 results in no timeout. - type: string - feed: - description: 'The type of changes feed to use. ' - type: string - request_plus: - description: When true, ensures all valid documents written prior to the request being issued are included in the response. This is only applicable for non-continuous feeds. - type: boolean - default: false - responses: - '200': - description: Successfully returned the changes feed - content: *ref_58 - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_changes - /{db}/_design/{ddoc}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: ddoc - in: path - required: true - schema: &ref_60 - type: string - description: The design document name. - get: - summary: Get views of a design document | Unsupported - description: |- - **This is unsupported** - - Query a design document. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - responses: - '200': - description: Successfully returned design document. - content: - application/json: - schema: - description: Properties of a design document - type: object - properties: &ref_59 - language: - type: string - views: - type: object - additionalProperties: - x-additionalPropertiesName: viewname - description: The name of the view. - type: object - properties: - map: - type: string - reduce: - type: string - options: - type: object - properties: - local_seq: - type: string - include_design: - type: string - raw: - type: string - index_xattr_on_deleted_docs: - type: string - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_design-ddoc - put: - summary: Update views of a design document | Unsupported - description: |- - **This is unsupported** - - Update the views of a design document. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - requestBody: - content: - application/json: - schema: - description: Properties of a design document - type: object - properties: *ref_59 - responses: - '200': - description: Design document changes successfully - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: put_db-_design-ddoc - delete: - summary: Delete a design document | Unsupported - description: |- - **This is unsupported** - - Delete a design document. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - responses: - '200': - description: Design document deleted successfully - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: delete_db-_design-ddoc - head: - responses: - '200': - description: Design document exists - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - description: |- - **This is unsupported** - - Check if a design document can be queried. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - summary: Check if view of design document exists | Unsupported - operationId: head_db-_design-ddoc - /{db}/_design/{ddoc}/_view/{view}: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: ddoc - in: path - required: true - schema: *ref_60 - description: The design document name. - - name: view - in: path - required: true - schema: *ref_54 - description: The view to target. - get: - summary: Query a view on a design document | Unsupported - description: |- - **This is unsupported** - - Query a view on a design document. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: inclusive_end - in: query - required: false - description: Indicates whether the specified end key should be included in the result. - schema: *ref_61 - - name: descending - in: query - required: false - description: Return documents in descending order. - schema: *ref_62 - - name: include_docs - in: query - required: false - description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: *ref_63 - - name: reduce - in: query - required: false - description: Whether to execute a reduce function on the response or not. - schema: *ref_64 - - name: group - in: query - required: false - description: Group the results using the reduce function to a group or single row. - schema: *ref_65 - - name: skip - in: query - required: false - description: Skip the specified number of documents before starting to return results. - schema: *ref_66 - - name: limit - in: query - required: false - description: Return only the specified number of documents - schema: *ref_67 - - name: group_level - in: query - required: false - description: Specify the group level to be used. - schema: *ref_68 - - name: startkey_docid - in: query - required: false - description: Return documents starting with the specified document identifier. - schema: *ref_69 - - name: endkey_docid - in: query - required: false - description: Stop returning records when the specified document identifier is reached. - schema: *ref_70 - - name: stale - in: query - required: false - description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: *ref_71 - - name: startkey - in: query - required: false - schema: *ref_72 - description: Return records starting with the specified key. - - name: endkey - in: query - required: false - schema: *ref_73 - description: Stop returning records when this key is reached. - - name: key - in: query - required: false - description: Return only the document that matches the specified key. - schema: *ref_74 - - name: keys - in: query - required: false - schema: *ref_75 - description: An array of document ID strings to filter by. - responses: - '200': - description: Returned view successfully - content: - application/json: - schema: - type: object - properties: - total_rows: - type: integer - rows: - type: array - items: - type: object - properties: - id: - type: string - key: - type: object - value: - type: object - doc: - type: object - errors: - type: array - items: - type: object - properties: - From: - type: string - Reason: - type: string - required: - - total_rows - - rows - '403': - description: Forbidden - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_design-ddoc-_view-view - /{keyspace}/_revs_diff: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Compare revisions to what is in the database - description: |- - Takes a set of document IDs, each with a set of revision IDs. For each document, an array of unknown revisions are returned with an array of known revisions that may be recent ancestors. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - requestBody: - content: - application/json: - schema: - type: object - properties: - docid: - description: The document ID with an array of revisions to use for the comparison. - type: array - items: - type: string - responses: - '200': - description: Comparisons successful - content: - application/json: - schema: - type: object - properties: - docid: - description: The document ID. - type: object - properties: - missing: - description: The revisions that are not in the database (and therefore `missing`). - type: array - items: - type: string - possible_ancestors: - description: An array of known revisions that might be the recent ancestors. - type: array - items: - type: string - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_revs_diff - /{keyspace}/_local/{docid}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - description: The name of the local document ID excluding the `_local/` prefix. - required: true - schema: - type: string - get: - summary: Get local document - description: |- - This request retrieves a local document. - - Local document IDs begin with `_local/`. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - responses: - '200': - description: Successfully found local document - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: get_keyspace-_local-docid - put: - summary: Upsert a local document - description: |- - This request creates or updates a local document. Updating a local document requires that the revision ID be put in the body under `_rev`. - - Local document IDs are given a `_local/` prefix. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by the client's replicator, as a place to store replication checkpoint data. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - requestBody: - description: The body of the document - content: - application/json: - schema: - type: object - properties: - _rev: - description: Revision to replace. Required if updating existing local document. - type: string - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - responses: - '201': - description: Document successfully written. The document ID will be prefixed with `_local/`. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_76 - required: *ref_77 - title: New-revision - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: A revision ID conflict would result from updating this document revision. - tags: - - Document - operationId: put_keyspace-_local-docid - delete: - summary: Delete a local document - description: |- - This request deletes a local document. - - Local document IDs begin with `_local/`. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - parameters: - - name: rev - in: query - description: The revision ID of the revision to delete. - required: true - schema: - type: string - responses: - '200': - description: Successfully removed the local document. - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: A revision ID conflict would result from deleting this document revision. - tags: - - Document - operationId: delete_keyspace-_local-docid - head: - responses: - '200': - description: Document exists - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - summary: Check if local document exists - description: |- - This request checks if a local document exists. - - Local document IDs begin with `_local/`. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - operationId: head_keyspace-_local-docid - /{keyspace}/{docid}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - required: true - schema: *ref_7 - example: doc1 - description: The document ID to run the operation against. - get: - summary: Get a document - description: |- - Retrieve a document from the database by its doc ID. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: rev - in: query - required: false - schema: &ref_80 - type: string - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: open_revs - in: query - required: false - schema: &ref_85 - type: array - items: - type: string - description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' - - name: show_exp - in: query - required: false - schema: &ref_86 - type: boolean - description: Whether to show the expiry property (`_exp`) in the response. - - name: revs_from - in: query - required: false - schema: &ref_87 - type: array - items: - type: string - description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. - - name: atts_since - in: query - required: false - schema: &ref_88 - type: array - items: - type: string - description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. - - name: revs_limit - in: query - required: false - schema: &ref_89 - type: integer - description: Maximum amount of revisions to return for each document. - - name: attachments - in: query - required: false - schema: &ref_90 - type: boolean - description: Include attachment bodies in response. - - name: replicator2 - in: query - required: false - schema: &ref_79 - type: boolean - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - responses: - '200': - description: Document found and returned successfully - headers: - Etag: - schema: - type: string - description: The document revision ID if only returning 1 revision. - content: - application/json: - schema: - type: object - properties: - _id: - description: The ID of the document. - type: string - _rev: - description: The revision ID of the document. - type: string - additionalProperties: true - example: - FailedLoginAttempts: 5 - Friends: - - Bob - _id: AliceSettings - _rev: 1-64d4a1f179db5c1848fe52967b47c166 - '400': - description: |- - Document ID is not in an allowed format therefore is invalid. - - This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: &ref_84 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - '501': - description: Not Implemented. It is likely this error was caused due to trying to use an enterprise-only feature on the community edition. - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Document - operationId: get_keyspace-docid - put: - summary: Upsert a document - description: |- - This will upsert a document meaning if it does not exist, then it will be created. Otherwise a new revision will be made for the existing document. A revision ID must be provided if targetting an existing document. - - A document ID must be specified for this endpoint. To let Sync Gateway generate the ID, use the `POST /{db}/` endpoint. - - If a document does exist, then replace the document content with the request body. This means unspecified fields will be removed in the new revision. - - The maximum size for a document is 20MB. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - parameters: - - name: roundtrip - in: query - required: false - schema: *ref_78 - description: Block until document has been received by change cache - - name: replicator2 - in: query - required: false - schema: *ref_79 - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - - name: new_edits - in: query - required: false - schema: &ref_116 - type: boolean - default: true - description: Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. This mode is used for replication. This option must be used in conjunction with the `_revisions` property in the request body. - - name: rev - in: query - required: false - schema: *ref_80 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: If-Match - in: header - required: false - schema: *ref_81 - description: The revision ID to target. - requestBody: - content: - application/json: - schema: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: *ref_82 - responses: - '201': - description: Created - headers: - Etag: - schema: - type: string - description: The revision of the written document. Not set if query option `new_edits` is true. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_76 - required: *ref_77 - title: New-revision - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_18 - '415': - description: Invalid content type - content: *ref_83 - tags: - - Document - operationId: put_keyspace-docid - delete: - summary: Delete a document - description: |- - Delete a document from the database. A new revision is created so the database can track the deletion in synchronized copies. - - A revision ID either in the header or on the query parameters is required. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - parameters: - - name: rev - in: query - required: false - schema: *ref_80 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: If-Match - in: header - required: false - schema: *ref_81 - description: The revision ID to target. - responses: - '200': - description: New revision created successfully - content: &ref_148 - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_76 - required: *ref_77 - title: New-revision - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: delete_keyspace-docid - head: - responses: - '200': - description: Document exists - '400': - description: |- - Document ID is not in an allowed format therefore is invalid. - - This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: *ref_84 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - summary: Check if a document exists - parameters: - - name: rev - in: query - required: false - schema: *ref_80 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: open_revs - in: query - required: false - schema: *ref_85 - description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' - - name: show_exp - in: query - required: false - schema: *ref_86 - description: Whether to show the expiry property (`_exp`) in the response. - - name: revs_from - in: query - required: false - schema: *ref_87 - description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. - - name: atts_since - in: query - required: false - schema: *ref_88 - description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. - - name: revs_limit - in: query - required: false - schema: *ref_89 - description: Maximum amount of revisions to return for each document. - - name: attachments - in: query - required: false - schema: *ref_90 - description: Include attachment bodies in response. - - name: replicator2 - in: query - required: false - schema: *ref_79 - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - description: |- - Return a status code based on if the document exists or not. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - operationId: head_keyspace-docid - /{keyspace}/{docid}/{attach}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - required: true - schema: *ref_7 - example: doc1 - description: The document ID to run the operation against. - - name: attach - in: path - description: The attachment name. This value must be URL encoded. For example, if the attachment name is `blob_/avatar`, the path component passed to the URL should be `blob_%2Favatar` (tested with [URLEncoder](https://www.urlencoder.org/)). - required: true - schema: - type: string - get: - summary: Get an attachment from a document - description: |- - This request retrieves a file attachment associated with the document. - - The raw data of the associated attachment is returned (just as if you were accessing a static file). The `Content-Type` response header is the same content type set when the document attachment was added to the database. The `Content-Disposition` response header will be set if the content type is considered unsafe to display in a browser (unless overridden by by database config option `serve_insecure_attachment_types`) which will force the attachment to be downloaded. - - If the `meta` query parameter is set then the response will be in JSON with the additional metadata tags. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: rev - in: query - required: false - schema: *ref_80 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: content_encoding - in: query - description: Set to false to disable the `Content-Encoding` response header. - schema: - type: boolean - default: true - - name: Range - in: header - description: RFC-2616 bytes range header. - schema: - type: string - example: bytes=123-456 - - name: meta - in: query - description: Return only the metadata of the attachment in the response body. - schema: - type: boolean - default: false - responses: - '200': - description: Found attachment successfully. - headers: - Content-Length: - schema: - type: number - description: Length of the attachment in bytes - Etag: - schema: - type: string - description: 'The attachment digest. Does not get set when request `meta=true`. ' - '206': - description: Partial attachment content returned - '404': - description: Resource could not be found - content: *ref_2 - '416': - description: Requested range exceeds content length - tags: - - Document - operationId: get_keyspace-docid-attach - put: - summary: Create or update an attachment on a document - description: |- - This request adds or updates an attachment associated with the document. If the document does not exist, it will be created and the attachment will be added to it. - - If the attachment already exists, the data of the existing attachment will be replaced in the new revision. - - The maximum content size of an attachment is 20MB. The `Content-Type` header of the request specifies the content type of the attachment. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - parameters: - - name: Content-Type - in: header - description: The content type of the attachment. - schema: - type: string - default: application/octet-stream - - name: rev - in: query - description: The existing document revision ID to modify. Required only when modifying an existing document. - schema: - type: string - - name: If-Match - in: header - description: An alternative way of specifying the document revision ID. - schema: - type: string - requestBody: - description: The attachment data - content: - Attachment content type: - schema: - description: The content to store in the body - type: string - responses: - '201': - description: Attachment added to new or existing document successfully - headers: - Etag: - schema: - type: string - description: The ID of the new revision. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_76 - required: *ref_77 - title: New-revision - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_18 - tags: - - Document - operationId: put_keyspace-docid-attach - head: - responses: - '200': - description: The document exists and the attachment exists on the document. - headers: - Content-Length: - schema: - description: Length of the attachment in bytes - type: number - Etag: - schema: - type: string - description: The attachment digest. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - summary: Check if attachment exists - description: |- - This request check if the attachment exists on the specified document. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: rev - in: query - required: false - schema: *ref_80 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - operationId: head_keyspace-docid-attach - delete: - summary: Delete an attachment on a document - description: |- - This request deletes an attachment associated with the document. - - If the attachment exists, the attachment will be removed from the document. - parameters: - - name: rev - in: query - description: The existing document revision ID to modify. - schema: - type: string - - name: If-Match - in: header - description: An alternative way of specifying the document revision ID. - schema: - type: string - responses: - '200': - description: Attachment removed from the document successfully - headers: - Etag: - schema: - type: string - description: The ID of the new revision. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_76 - required: *ref_77 - title: New-revision - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_18 - tags: - - Document - operationId: delete_keyspace-docid-attach - /{keyspace}/_all_docs: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - get: - summary: Gets all the documents in the database with the given parameters - description: |- - Returns all documents in the database based on the specified parameters. - - This endpoint is not recommended for larger datasets or production workloads. - [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more efficient implementations and should be used instead. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: include_docs - in: query - required: false - schema: *ref_91 - description: Include the body associated with each document. - - name: channels - in: query - required: false - schema: &ref_92 - type: boolean - description: Include the channels each document is part of that the calling user also has access too. - - name: access - in: query - required: false - schema: &ref_93 - type: boolean - description: Include what user/roles that each document grants access too. - - name: revs - in: query - required: false - schema: &ref_94 - type: boolean - description: Include all the revisions for each document under the `_revisions` property. - - name: update_seq - in: query - required: false - schema: &ref_95 - type: boolean - description: Include the document sequence number `update_seq` property for each document. - - name: keys - in: query - required: false - schema: *ref_75 - description: An array of document ID strings to filter by. - - name: startkey - in: query - required: false - schema: *ref_72 - description: Return records starting with the specified key. - - name: endkey - in: query - required: false - schema: *ref_73 - description: Stop returning records when this key is reached. - - name: limit - in: query - required: false - schema: &ref_96 - type: number - description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. - responses: - '200': - description: Operation ran successfully - content: &ref_97 - application/json: - schema: - type: object - properties: - rows: - type: array - items: - type: object - properties: - key: - type: string - id: - type: string - value: - type: object - properties: - rev: - type: string - uniqueItems: true - total_rows: - type: number - update_seq: - type: number - required: - - rows - - total_rows - - update_seq - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: get_keyspace-_all_docs - post: - summary: Get all the documents in the database using a built-in view - description: |- - Returns all documents in the database based on the specified parameters. - - This endpoint is not recommended for larger datasets or production workloads. - [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more efficient implementations and should be used instead. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: include_docs - in: query - required: false - schema: *ref_91 - description: Include the body associated with each document. - - name: channels - in: query - required: false - schema: *ref_92 - description: Include the channels each document is part of that the calling user also has access too. - - name: access - in: query - required: false - schema: *ref_93 - description: Include what user/roles that each document grants access too. - - name: revs - in: query - required: false - schema: *ref_94 - description: Include all the revisions for each document under the `_revisions` property. - - name: update_seq - in: query - required: false - schema: *ref_95 - description: Include the document sequence number `update_seq` property for each document. - - name: startkey - in: query - required: false - schema: *ref_72 - description: Return records starting with the specified key. - - name: endkey - in: query - required: false - schema: *ref_73 - description: Stop returning records when this key is reached. - - name: limit - in: query - required: false - schema: *ref_96 - description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. - requestBody: - content: - application/json: - schema: - type: object - properties: - keys: - description: List of the documents to retrieve. - type: array - items: - type: string - required: - - keys - responses: - '200': - description: Operation ran successfully - content: *ref_97 - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_all_docs - /{keyspace}/_bulk_docs: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Bulk document operations - description: |- - This will allow multiple documented to be created, updated or deleted in bulk. - - To create a new document, simply add the body in an object under `docs`. A doc ID will be generated by Sync Gateway unless `_id` is specified. - - To update an existing document, provide the document ID (`_id`) and revision ID (`_rev`) as well as the new body values. - - To delete an existing document, provide the document ID (`_id`), revision ID (`_rev`), and set the deletion flag (`_deleted`) to true. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - requestBody: - content: - application/json: - schema: - type: object - properties: - new_edits: - description: This controls whether to assign new revision identifiers to new edits (`true`) or use the existing ones (`false`). - type: boolean - default: true - docs: - type: array - items: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: *ref_82 - required: - - docs - example: - new_edits: true - docs: - - _id: FooBar - foo: bar - - _id: AliceSettings - _rev: 5-832a6db48ed130adadede928aee54576 - FailedLoginAttempts: 7 - - _id: BobSettings - _rev: 1-fa76ba41ee5fdfee1b91fc478ed09e59 - _deleted: true - responses: - '201': - description: |- - Executed all operations. - - Each object in the returned array represents a document. Each document should be checked to make sure it was successfully added to the database. - content: - application/json: - schema: - type: array - items: - type: object - properties: - id: - description: The ID of the document that the operation was performed on. - type: string - rev: - description: The new revision of the document if the operation was a success. - type: string - error: - description: The error type if the operation of the document failed. - type: string - reason: - description: The reason the operation failed. - type: string - status: - description: The HTTP status code for why the operation failed. - type: integer - required: - - id - uniqueItems: true - examples: - Success: - value: - - id: FooBar - rev: 1-cd809becc169215072fd567eebd8b8de - - id: AliceSettings - rev: 6-b3e8dcf825b71ccee112f3572ec4323c - - id: BobSettings - rev: 2-5145e1086bb8d1d71a531e9f6b543c58 - PartialSuccess: - summary: PartialSuccess - value: - - error: conflict - id: FooBar - reason: Document exists - status: 409 - - id: AliceSettings - rev: 6-b3e8dcf825b71ccee112f3572ec4323c - - error: conflict - id: BobSettings - reason: Document revision conflict - status: 409 - '400': - description: There was a problem with your request - content: *ref_11 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_bulk_docs - /{keyspace}/_bulk_get: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Get multiple documents in a MIME multipart response - description: | - This request returns any number of documents, as individual bodies in a MIME multipart response. - - Each enclosed body contains one requested document. The bodies appear in the same order as in the request, but can also be identified by their `X-Doc-ID` and `X-Rev-ID` headers (if the `attachments` query is `true`). - - A body for a document with no attachments will have content type `application/json` and contain the document itself. - - A body for a document that has attachments will be written as a nested `multipart/related` body. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - parameters: - - name: attachments - in: query - description: This is for whether to include attachments in each of the documents returned or not. - schema: - type: boolean - default: false - - name: revs - in: query - required: false - schema: *ref_94 - description: Include all the revisions for each document under the `_revisions` property. - - name: revs_limit - in: query - description: The number of revisions to include in the response from the document history. This parameter only makes a different if the `revs` query parameter is set to `true`. The full revision history will be returned if `revs` is set but this is not. - schema: - type: integer - - name: X-Accept-Part-Encoding - in: header - description: If this header includes `gzip` then the part HTTP compression encoding will be done. - schema: - type: string - - name: Accept-Encoding - in: header - description: If this header includes `gzip` then the the HTTP response will be compressed. This takes priority over `X-Accept-Part-Encoding`. Only part compression will be done if `X-Accept-Part-Encoding=gzip` and the `User-Agent` is below 1.2 due to clients not being able to handle full compression. - schema: - type: string - requestBody: - content: - application/json: - schema: - type: object - properties: - docs: - type: array - items: - type: object - properties: - id: - description: ID of the document to retrieve. - type: string - required: - - id - required: - - docs - example: - docs: - - id: FooBar - - id: attachment - - id: AliceSettings - responses: - '200': - description: Returned the requested docs as `multipart/mixed` response type - '400': - description: Bad Request - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_bulk_get - /{db}/_oidc: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect authentication initiation via Location header redirect - description: 'Called by clients to initiate the OpenID Connect Authorization Code Flow. Redirects to the OpenID Connect provider if successful. ' - parameters: - - name: provider - in: query - required: false - schema: &ref_98 - type: string - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - - name: offline - in: query - required: false - schema: &ref_99 - type: string - description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. - responses: - '302': - description: Successfully connected with the OpenID Connect provider so now redirecting to the requested OIDC provider for authentication. - headers: - Location: - schema: - type: string - description: The link to redirect to so the client can authenticate. - '400': - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Unable to connect and validate with the OpenID Connect provider requested - tags: - - Authentication - operationId: get_db-_oidc - /{db}/_oidc_challenge: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect authentication initiation via WWW-Authenticate header - description: Called by clients to initiate the OpenID Connect Authorization Code Flow. This will establish a connection with the provider, then put the redirect URL in the `WWW-Authenticate` header. - parameters: - - name: provider - in: query - required: false - schema: *ref_98 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - - name: offline - in: query - required: false - schema: *ref_99 - description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. - responses: - '400': - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - '401': - description: Successfully connected with the OpenID Connect provider so now the client can login. - headers: - WWW-Authenticate: - schema: - type: string - description: The OpenID Connect authentication URL. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Unable to connect and validate with the OpenID Connect provider requested - tags: - - Authentication - operationId: get_db-_oidc_challenge - /{db}/_oidc_callback: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect authentication callback - description: The callback URL that the client is redirected to after authenticating with the OpenID Connect provider. - parameters: - - name: error - in: query - description: The OpenID Connect error, if any occurred. - schema: - type: string - - name: code - in: query - required: true - schema: &ref_117 - type: string - description: The OpenID Connect authentication code. - - name: provider - in: query - required: false - schema: *ref_98 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - - name: state - in: query - required: false - schema: &ref_118 - type: string - description: The OpenID Connect state to verify against the state cookie. This is used to prevent cross-site request forgery (CSRF). This is not required if `disable_callback_state=true` for the provider config (NOT recommended). - responses: - '200': - description: Successfully authenticated with OpenID Connect. - content: &ref_100 - application/json: - schema: - type: object - properties: &ref_142 - id_token: - description: The OpenID Connect ID token - type: string - refresh_token: - description: The OpenID Connect ID refresh token - type: string - session_id: - description: The Sync Gateway session token - type: string - name: - description: The Sync Gateway user - type: string - access_token: - description: The OpenID Connect access token - type: string - token_type: - description: The OpenID Connect ID token type - type: string - expires_in: - description: The time until the id_token expires (TTL). - type: number - title: OpenID Connect callback properties - '400': - description: A problem occurred when reading the callback request body - '401': - description: An error was received from the OpenID Connect provider. This means the error query parameter was filled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: A problem occurred in regards to the token - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - tags: - - Authentication - operationId: get_db-_oidc_callback - /{db}/_oidc_refresh: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect token refresh - description: Refresh the OpenID Connect token based on the provided refresh token. - parameters: - - name: refresh_token - in: query - description: The OpenID Connect refresh token. - required: true - schema: - type: string - - name: provider - in: query - required: false - schema: *ref_98 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - responses: - '200': - description: Successfully authenticated with OpenID Connect. - content: *ref_100 - '400': - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Unable to connect and validate with the OpenID Connect provider requested - tags: - - Authentication - operationId: get_db-_oidc_refresh - /{db}/_oidc_testing/.well-known/openid-configuration: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect mock provider - description: Mock an OpenID Connect provider response for testing purposes. This returns a response that is the same structure as what Sync Gateway expects from an OIDC provider after initiating OIDC authentication. - responses: - '200': - description: 'Successfully generated OpenID Connect provider mock response. ' - headers: - Expiry: - schema: - type: string - description: the time until the response expires. - content: - application/json: - schema: - type: object - properties: - issuer: - type: string - authorization_endpoint: - type: string - token_endpoint: - type: string - jwks_uri: - type: string - userinfo_endpoint: - type: string - id_token_signing_alg_values_supported: - type: string - response_types_supported: - type: string - subject_types_supported: - type: string - scopes_supported: - type: string - claims_supported: - type: string - token_endpoint_auth_methods_supported: - type: string - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_oidc_testing-.well-known-openid-configuration - /{db}/_oidc_testing/authorize: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect mock login page - description: Show a mock OpenID Connect login page for the client to log in to. - parameters: - - name: scope - in: query - required: true - schema: &ref_101 - type: string - description: The OpenID Connect authentication scope. - responses: - '200': - description: OK - '400': - description: A validation error occurred with the scope. - content: &ref_102 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: An error occurred. - content: &ref_103 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Unsupported - operationId: get_db-_oidc_testing-authorize - post: - summary: OpenID Connect mock login page - description: Show a mock OpenID Connect login page for the client to log in to. - parameters: - - name: scope - in: query - required: true - schema: *ref_101 - description: The OpenID Connect authentication scope. - responses: - '200': - description: OK - '400': - description: A validation error occurred with the scope. - content: *ref_102 - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: An error occurred. - content: *ref_103 - tags: - - Unsupported - operationId: post_db-_oidc_testing-authorize - /{db}/_oidc_testing/token: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: OpenID Connect mock token - description: Return a mock OpenID Connect token for the OIDC authentication flow. - requestBody: - content: - application/json: - schema: - type: object - properties: - grant_type: - description: The grant type of the token to request. Can either be an `authorization_code` or `refresh_token`. - type: string - code: - description: '**`grant_type=authorization_code` only**: The OpenID Connect authentication token.' - type: string - refresh_token: - description: '**`grant_type=refresh_token` only**: The OpenID Connect refresh token.' - type: string - required: - - grant_type - responses: - '200': - description: Properties expected back from an OpenID Connect provider after successful authentication - content: &ref_149 - application/json: - schema: - description: Properties expected back from an OpenID Connect provider after successful authentication - type: object - properties: &ref_143 - access_token: - type: string - token_type: - type: string - refresh_token: - type: string - expires_in: - type: string - id_token: - type: string - title: OIDC-token - '400': - description: Invalid token provided - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: post_db-_oidc_testing-token - /{db}/_oidc_testing/certs: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect public certificates for signing keys - description: Return a mock OpenID Connect public key to be used as signing keys. - responses: - '200': - description: Returned public key successfully - content: - application/json: - schema: - type: object - properties: - keys: - type: array - items: - type: object - properties: - Key: - type: object - KeyID: - type: string - Use: - type: string - Certificates: - type: array - items: - type: object - Algorithm: - type: string - required: - - Key - - KeyID - - Use - required: - - keys - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: An error occurred while getting the private RSA key - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - tags: - - Unsupported - operationId: get_db-_oidc_testing-certs - /{db}/_oidc_testing/authenticate: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect mock login page handler - description: Used to handle the login page displayed for the `GET /{db}/_oidc_testing/authorize` endpoint. - parameters: - - name: redirect_uri - in: query - required: false - schema: &ref_104 - type: string - description: The Sync Gateway OpenID Connect callback URL. - - name: scope - in: query - required: true - schema: *ref_101 - description: The OpenID Connect authentication scope. - - name: username - in: query - required: true - schema: - type: string - - name: tokenttl - in: query - required: true - schema: - type: integer - - name: identity-token-formats - in: query - required: true - schema: - type: string - - name: authenticated - in: query - required: true - schema: - type: string - responses: - '302': - description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: &ref_105 - Location: - schema: - type: string - description: The location to the Sync Gateway OpenID Connect callback URL. - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_oidc_testing-authenticate - post: - summary: OpenID Connect mock login page handler - description: Used to handle the login page displayed for the `GET /{db}/_oidc_testing/authorize` endpoint. - parameters: - - name: redirect_uri - in: query - required: false - schema: *ref_104 - description: The Sync Gateway OpenID Connect callback URL. - - name: scope - in: query - required: true - schema: *ref_101 - description: The OpenID Connect authentication scope. - requestBody: - content: &ref_150 - application/json: - schema: - description: Properties passed from the OpenID Connect mock login page to the handler - type: object - properties: &ref_144 - username: - type: string - tokenttl: - type: string - identity-token-formats: - type: string - authenticated: - type: string - required: &ref_145 - - username - - tokenttl - - identity-token-formats - - authenticated - description: Properties passed from the OpenID Connect mock login page to the handler - responses: - '302': - description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: *ref_105 - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: post_db-_oidc_testing-authenticate - /{db}/_blipsync: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Handle incoming BLIP Sync web socket request - description: |- - This handles incoming BLIP Sync requests from either Couchbase Lite or another Sync Gateway node. The connection has to be upgradable to a websocket connection or else the request will fail. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - parameters: - - name: client - in: query - description: This is the client type that is making the BLIP Sync request. Used to control client-type specific replication behaviour. - schema: - type: string - default: cbl2 - enum: - - cbl2 - - sgr2 - responses: - '101': - description: Upgraded to a web socket connection - '404': - description: Resource could not be found - content: *ref_2 - '426': - description: Cannot upgrade connection to a web socket connection - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - example: - error: Upgrade Required - reason: Can't upgrade this request to websocket connection - tags: - - Replication - operationId: get_db-_blipsync - /{db}/_facebook: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Create a new Facebook-based session - description: |- - Creates a new session based on a Facebook user. On a successful session creation, a session cookie is stored to keep the user authenticated for future API calls. - - If CORS is enabled, the origin must match an allowed login origin otherwise an error will be returned. - requestBody: - content: - application/json: - schema: - type: object - properties: - access_token: - description: Facebook access token to base the new session on. - type: string - required: - - access_token - responses: - '200': - description: Session created successfully - '400': - description: Origin is not in the approved list of allowed origins - content: *ref_106 - '401': - description: Received error from Facebook verifier - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '404': - description: Resource could not be found - content: *ref_2 - '502': - description: Received invalid response from the Facebook verifier - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '504': - description: Unable to send request to Facebook API - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - deprecated: true - tags: - - Authentication - operationId: post_db-_facebook - /{db}/_google: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Create a new Google-based session - description: |- - Creates a new session based on a Google user. On a successful session creation, a session cookie is stored to keep the user authenticated for future API calls. - - If CORS is enabled, the origin must match an allowed login origin otherwise an error will be returned. - requestBody: - content: - application/json: - schema: - type: object - properties: - id_token: - description: Google ID token to base the new session on. - type: string - required: - - id_token - responses: - '200': - description: Session created successfully - '400': - description: Origin is not in the approved list of allowed origins - content: *ref_106 - '401': - description: Received error from Google token verifier or invalid application ID in the config - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '404': - description: Resource could not be found - content: *ref_2 - '502': - description: Received invalid response from the Google token verifier - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '504': - description: Unable to send request to the Google token verifier - deprecated: true - tags: - - Authentication - operationId: post_db-_google - /{db}/_ensure_full_commit: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Ensure Full Commit - description: |- - This endpoint is non-functional but is present for CouchDB compatibility. This was deprecated in CouchDB 3.0. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - deprecated: true - responses: - '201': - description: OK - content: - application/json: - schema: - type: object - properties: - instance_start_time: - description: Timestamp of when the database opened, in microseconds since the Unix epoch. - type: integer - example: 1644600082279583 - ok: - type: boolean - example: true - default: true - tags: - - Database Management - operationId: post_db-_ensure_full_commit - /_logging: - get: - summary: Get console logging settings - description: |- - **Deprecated in favour of `GET /_config`** - This will return a map of the log keys being used for the console logging. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - responses: - '200': - description: Returned map of console log keys - content: - application/json: - schema: - description: A map of log keys and whether they are enabled or not. - type: object - example: &ref_107 - HTTP: true - CRUD: false - Changes: true - additionalProperties: &ref_108 - description: The log key and whether it is enabled or not. - type: boolean - deprecated: true - tags: - - Server - operationId: get__logging - put: - summary: Set console logging settings - description: |- - **Deprecated in favour of `PUT /_config`** - Enable or disable console log keys and optionally change the console log level. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: logLevel - in: query - required: false - schema: &ref_109 - type: string - enum: - - none - - error - - warn - - info - - debug - - trace - description: The is what to set the console log level too. - - name: level - in: query - required: false - schema: &ref_110 - type: integer - maximum: 3 - minimum: 1 - deprecated: true - description: |- - **Deprecated: use log level instead.** - - This sets the console log level depending on the value provide. 1 sets to `info`, 2 sets to `warn`, and 3 sets to `error`.' - requestBody: - description: The map of log keys to use for console logging. - content: - application/json: - schema: - description: A map of log keys and whether they are enabled or not. - type: object - example: *ref_107 - additionalProperties: *ref_108 - responses: - '200': - description: Log keys successfully replaced. - '400': - description: There was a problem with your request - content: *ref_11 - deprecated: true - tags: - - Server - operationId: put__logging - post: - summary: Update console logging settings - description: |- - **Deprecated in favour of `PUT /_config`** - This is for enabling the log keys provided and optionally changing the console log level. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Dev Ops - parameters: - - name: logLevel - in: query - required: false - schema: *ref_109 - description: The is what to set the console log level too. - - name: level - in: query - required: false - schema: *ref_110 - deprecated: true - description: |- - **Deprecated: use log level instead.** - - This sets the console log level depending on the value provide. 1 sets to `info`, 2 sets to `warn`, and 3 sets to `error`.' - requestBody: - description: The console log keys to upsert. - content: - application/json: - schema: - description: A map of log keys and whether they are enabled or not. - type: object - example: *ref_107 - additionalProperties: *ref_108 - responses: - '200': - description: Log keys successfully updated. - '400': - description: There was a problem with your request - content: *ref_11 - deprecated: true - tags: - - Server - operationId: post__logging -components: - parameters: - db: - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - sessionid: - name: sessionid - in: path - required: true - schema: *ref_16 - description: The ID of the session to target. - keyspace: - name: keyspace - in: path - required: true - schema: *ref_5 - examples: *ref_6 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - docid: - name: docid - in: path - required: true - schema: *ref_7 - example: doc1 - description: The document ID to run the operation against. - include_doc: - name: include_doc - in: query - required: false - schema: *ref_111 - description: Include the body associated with the document. - disable_oidc_validation: - name: disable_oidc_validation - in: query - required: false - description: If set, will not attempt to validate the configured OpenID Connect providers are reachable. - schema: *ref_41 - usersNameOnly: - name: name_only - in: query - required: false - schema: *ref_112 - description: Whether to return user names only, or more detailed information for each user. - usersLimit: - name: limit - in: query - required: false - schema: *ref_113 - description: How many results to return. Using a value of `0` results in no limit. - user-name: - name: name - in: path - required: true - schema: *ref_15 - description: The name of the user. - role-name: - name: name - in: path - required: true - schema: *ref_114 - description: The name of the role. - replicationid: - name: replicationid - in: path - required: true - schema: *ref_26 - description: What replication to target based on its replication ID. - replication-active-only: - name: activeOnly - in: query - required: false - schema: *ref_27 - description: Only return replications that are actively running (`state=running`). - replication-local-only: - name: localOnly - in: query - required: false - schema: *ref_28 - description: Only return replications that were started on the current Sync Gateway node. - replication-include-error: - name: includeError - in: query - required: false - schema: *ref_29 - description: Include replications that have stopped due to an error (`state=error`). - replication-include-config: - name: includeConfig - in: query - required: false - schema: *ref_30 - description: Include the replication configuration with each replicator status in the response. - deprecated-redact: - name: redact - in: query - deprecated: true - required: false - schema: *ref_39 - description: No longer supported field. - pprof-seconds: - name: seconds - in: query - description: If set, collect a delta profile for the given duration, instead of a snapshot. - schema: *ref_36 - debug-profile-seconds: - name: seconds - in: query - required: false - schema: *ref_38 - description: The amount of seconds to run the profiler for. - include_runtime: - name: include_runtime - in: query - required: false - schema: *ref_115 - description: Whether to include the values set at runtime, and default values. - DB-config-If-Match: - name: If-Match - in: header - required: false - schema: *ref_42 - description: If set to a configuration's Etag value, enables optimistic concurrency control for the request. Returns HTTP 412 if another update happened underneath this one. - If-Match: - name: If-Match - in: header - required: false - schema: *ref_81 - description: The revision ID to target. - view: - name: view - in: path - required: true - schema: *ref_54 - description: The view to target. - inclusive_end: - name: inclusive_end - in: query - required: false - description: Indicates whether the specified end key should be included in the result. - schema: *ref_61 - descending: - name: descending - in: query - required: false - description: Return documents in descending order. - schema: *ref_62 - include_docs-cbs3: - name: include_docs - in: query - required: false - description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: *ref_63 - reduce: - name: reduce - in: query - required: false - description: Whether to execute a reduce function on the response or not. - schema: *ref_64 - group: - name: group - in: query - required: false - description: Group the results using the reduce function to a group or single row. - schema: *ref_65 - skip: - name: skip - in: query - required: false - description: Skip the specified number of documents before starting to return results. - schema: *ref_66 - limit: - name: limit - in: query - required: false - description: Return only the specified number of documents - schema: *ref_67 - group_level: - name: group_level - in: query - required: false - description: Specify the group level to be used. - schema: *ref_68 - startkey_docid: - name: startkey_docid - in: query - required: false - description: Return documents starting with the specified document identifier. - schema: *ref_69 - endkey_docid: - name: endkey_docid - in: query - required: false - description: Stop returning records when the specified document identifier is reached. - schema: *ref_70 - stale: - name: stale - in: query - required: false - description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: *ref_71 - startkey: - name: startkey - in: query - required: false - schema: *ref_72 - description: Return records starting with the specified key. - endkey: - name: endkey - in: query - required: false - schema: *ref_73 - description: Stop returning records when this key is reached. - key: - name: key - in: query - required: false - description: Return only the document that matches the specified key. - schema: *ref_74 - keys: - name: keys - in: query - required: false - schema: *ref_75 - description: An array of document ID strings to filter by. - compact-type: - name: type - in: query - required: false - schema: *ref_55 - description: |- - This is the type of compaction to use. The type must be either: - * `attachment` for cleaning up legacy (pre-3.0) attachments - * `tombstone` for purging the JSON bodies of non-leaf revisions.' - roundtrip: - name: roundtrip - in: query - required: false - schema: *ref_78 - description: Block until document has been received by change cache - include_docs: - name: include_docs - in: query - required: false - schema: *ref_91 - description: Include the body associated with each document. - ddoc: - name: ddoc - in: path - required: true - schema: *ref_60 - description: The design document name. - rev: - name: rev - in: query - required: false - schema: *ref_80 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - open_revs: - name: open_revs - in: query - required: false - schema: *ref_85 - description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' - show_exp: - name: show_exp - in: query - required: false - schema: *ref_86 - description: Whether to show the expiry property (`_exp`) in the response. - revs_from: - name: revs_from - in: query - required: false - schema: *ref_87 - description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. - atts_since: - name: atts_since - in: query - required: false - schema: *ref_88 - description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. - revs_limit: - name: revs_limit - in: query - required: false - schema: *ref_89 - description: Maximum amount of revisions to return for each document. - includeAttachments: - name: attachments - in: query - required: false - schema: *ref_90 - description: Include attachment bodies in response. - replicator2: - name: replicator2 - in: query - required: false - schema: *ref_79 - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - new_edits: - name: new_edits - in: query - required: false - schema: *ref_116 - description: Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. This mode is used for replication. This option must be used in conjunction with the `_revisions` property in the request body. - Include-channels: - name: channels - in: query - required: false - schema: *ref_92 - description: Include the channels each document is part of that the calling user also has access too. - include-access: - name: access - in: query - required: false - schema: *ref_93 - description: Include what user/roles that each document grants access too. - include-revs: - name: revs - in: query - required: false - schema: *ref_94 - description: Include all the revisions for each document under the `_revisions` property. - include-seqs: - name: update_seq - in: query - required: false - schema: *ref_95 - description: Include the document sequence number `update_seq` property for each document. - limit-result-rows: - name: limit - in: query - required: false - schema: *ref_96 - description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. - provider: - name: provider - in: query - required: false - schema: *ref_98 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - offline: - name: offline - in: query - required: false - schema: *ref_99 - description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. - oidc-code: - name: code - in: query - required: true - schema: *ref_117 - description: The OpenID Connect authentication code. - oidc-state: - name: state - in: query - required: false - schema: *ref_118 - description: The OpenID Connect state to verify against the state cookie. This is used to prevent cross-site request forgery (CSRF). This is not required if `disable_callback_state=true` for the provider config (NOT recommended). - oidc-scope: - name: scope - in: query - required: true - schema: *ref_101 - description: The OpenID Connect authentication scope. - oidc-redirect_uri: - name: redirect_uri - in: query - required: false - schema: *ref_104 - description: The Sync Gateway OpenID Connect callback URL. - log-level: - name: logLevel - in: query - required: false - schema: *ref_109 - description: The is what to set the console log level too. - log-level-int: - name: level - in: query - required: false - schema: *ref_110 - deprecated: true - description: |- - **Deprecated: use log level instead.** - - This sets the console log level depending on the value provide. 1 sets to `info`, 2 sets to `warn`, and 3 sets to `error`.' - schemas: - User-session-information: - type: object - properties: *ref_119 - title: User Session Information - HTTP-Error: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - DatabaseState: - description: The state of the database. - type: string - enum: *ref_12 - x-enumDescriptions: *ref_13 - CollectionConfig: - description: Collection-specific configuration. - type: object - properties: *ref_120 - title: Collection config - Scopes: - description: Scope-specific configuration. - type: object - properties: *ref_121 - title: Scopes - User: - description: Properties associated with a user - type: object - properties: *ref_10 - title: User - Role: - description: Properties associated with a role - type: object - properties: *ref_17 - title: Role - Event-config: - type: object - properties: *ref_9 - title: Event-config - NumIndexPartitions: - description: |- - The number of partitions to use for the large indexes created by Sync Gateway. It is not recommended to set this unless you require additional horizontal scalability for individual indexes and have appropriately scaled your Query nodes to handle the increased query parallelism. If set, the recommended number is 8 and does not need to be directly related to the number of your Query nodes. Ensure documentation is read to understand the performance tradeoffs and instructions for migration if you have previously run with only one partition. See [/{db}/_index_init](#operation/post_db-_index_init) for more information. - - If not specified or 1, all indexes will be non partitioned. - type: number - default: 1 - title: Number of Index Partitions - Replication: - description: Properties of a replication - type: object - properties: *ref_20 - required: *ref_21 - title: User configurable replication properties - Database: - description: The properties of a database configuration. - type: object - properties: *ref_40 - title: Database-config - All DBs: - title: Simple - description: The names of all databases. - type: array - items: *ref_122 - example: *ref_123 - All DBs Verbose: - title: Verbose - description: Description of all databases. - type: array - example: *ref_124 - items: *ref_125 - ISGRReplicationState: - description: This is the state that the replicator is in or that trying to transition in to. - type: string - enum: *ref_24 - x-enumDescriptions: *ref_25 - title: Replication Status - Retrieved-replication: - description: Properties of a replication - allOf: *ref_22 - title: Replication - All-replications: - description: Contains all the replication IDs with their corresponding replication configurations - type: object - properties: *ref_126 - title: All replications - Replication-status: - type: object - properties: *ref_31 - required: *ref_32 - title: Replication-status - Console-logging-keys-level: - type: object - properties: *ref_127 - Console-logging-config: - title: Configuration for console logging. - allOf: *ref_128 - Audit-logging-config: - type: object - title: Audit logging config - properties: *ref_129 - Logging-config: - type: object - properties: *ref_35 - Serverless: - description: Configuration for when SG is running in serverless mode - type: object - properties: *ref_130 - CredentialsConfig: - description: The configuration for the credentials set. - type: object - properties: *ref_34 - title: Credentials config - Startup-config: - type: object - properties: *ref_131 - title: Startup-config - Runtime-config: - type: object - properties: *ref_132 - title: Runtime-config - Vendor: - description: Product vendor - type: object - properties: *ref_56 - required: *ref_57 - title: Vendor - Status: - type: object - properties: *ref_133 - title: Status - Database-audit: - title: Simple - description: A map of audit events and whether they are enabled or not. - properties: *ref_45 - AuditEventVerbose: - title: audit-event-verbose - description: Detailed information about an audit event. - type: object - properties: *ref_134 - Database-audit-verbose: - title: Verbose - description: A map of detailed audit events. - properties: *ref_46 - CollectionNames: - description: List of collection names - type: array - items: *ref_135 - ResyncScopesMap: - description: scope name with one or more collection names for which resync will be triggered - type: object - additionalProperties: *ref_47 - example: *ref_48 - Resync-status: - description: The status of a resync operation - type: object - properties: *ref_49 - required: *ref_50 - title: Resync-status - IndexSettings: - type: object - description: Settings for Global Secondary Indexes (GSI). - properties: *ref_51 - IndexInitStatus: - description: The status of an asynchronous indexes initialization operation. - type: object - properties: *ref_52 - required: *ref_53 - title: IndexInitStatus - Compact-status: - description: The status returned from a compaction. - type: object - properties: *ref_136 - required: *ref_137 - title: Compact-status - Document: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: *ref_82 - New-revision: - description: Properties returned when a new document revision is created - type: object - properties: *ref_76 - required: *ref_77 - title: New-revision - ExpVars: - type: object - properties: *ref_138 - NodeInfo: - type: object - properties: *ref_139 - required: *ref_140 - Changes-feed: - description: Properties of a changes feed - type: object - properties: *ref_141 - Design-doc: - description: Properties of a design document - type: object - properties: *ref_59 - OIDC-callback: - type: object - properties: *ref_142 - title: OpenID Connect callback properties - OIDC-token: - description: Properties expected back from an OpenID Connect provider after successful authentication - type: object - properties: *ref_143 - title: OIDC-token - OIDC-login-page-handler: - description: Properties passed from the OpenID Connect mock login page to the handler - type: object - properties: *ref_144 - required: *ref_145 - DeprecatedLogKeyMap: - description: A map of log keys and whether they are enabled or not. - type: object - example: *ref_107 - additionalProperties: *ref_108 - responses: - User-session-information: - description: Properties associated with a user session - content: *ref_4 - Not-found: - description: Resource could not be found - content: *ref_2 - Invalid-CORS: - description: Origin is not in the approved list of allowed origins - content: *ref_106 - request-problem: - description: There was a problem with your request - content: *ref_11 - Conflict: - description: Resource already exists under that name - content: *ref_18 - User: - description: Properties associated with a user - content: *ref_146 - Role: - description: Properties associated with a role - content: *ref_147 - Replicator-updated: - description: Updated existing configuration successfully - Replicator-created: - description: Created new replication successfully - pprof-binary: - description: OK - content: *ref_37 - DB-config-updated: - description: Database configuration successfully updated - headers: *ref_43 - DB-config-precondition-failed: - description: |- - Precondition Failed - - The supplied If-Match header did not match the current version of the configuration. - - Returned when optimistic concurrency control is used, and there has been an update to the configuration in between this update. - content: *ref_44 - Invalid-content-type: - description: Invalid content type - content: *ref_83 - changes-feed: - description: Successfully returned the changes feed - content: *ref_58 - ddoc-forbidden: - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - invalid-doc-id: - description: |- - Document ID is not in an allowed format therefore is invalid. - - This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: *ref_84 - New-revision: - description: New revision created successfully - content: *ref_148 - all-docs: - description: Operation ran successfully - content: *ref_97 - OIDC-invalid-provider: - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - OIDC-connection: - description: Unable to connect and validate with the OpenID Connect provider requested - OIDC-callback: - description: Successfully authenticated with OpenID Connect. - content: *ref_100 - OIDC-test-provider-disabled: - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - OIDC-invalid-scope: - description: A validation error occurred with the scope. - content: *ref_102 - OIDC-testing-internal-error: - description: An error occurred. - content: *ref_103 - OIDC-token: - description: Properties expected back from an OpenID Connect provider after successful authentication - content: *ref_149 - OIDC-testing-redirect: - description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: *ref_105 - requestBodies: - User: - content: *ref_14 - description: Properties associated with a user - Role: - content: *ref_19 - description: Properties associated with a role - Replication-upsert: - content: *ref_23 - description: If the `replication_id` matches an existing replication then the existing configuration will be updated. Only the specified fields in the request will be used to update the existing configuration. Unspecified fields will remain untouched. - Profile: - content: *ref_33 - OIDC-login-page-handler: - content: *ref_150 - description: Properties passed from the OpenID Connect mock login page to the handler diff --git a/modules/ROOT/assets/attachments/bundled-metric.yaml b/modules/ROOT/assets/attachments/bundled-metric.yaml deleted file mode 100644 index 2a3abbcd5..000000000 --- a/modules/ROOT/assets/attachments/bundled-metric.yaml +++ /dev/null @@ -1,336 +0,0 @@ -openapi: 3.0.3 -info: - title: Sync Gateway Metrics REST API - description: |- - # Introduction - - Sync Gateway manages access and synchronization between Couchbase Lite and Couchbase Server. - The Sync Gateway Metrics REST API returns Sync Gateway metrics, in JSON or Prometheus-compatible formats, for performance monitoring and diagnostic purposes. - version: '3.3' - license: - name: Business Source License 1.1 (BSL) - url: https://github.com/couchbase/sync_gateway/blob/master/LICENSE -servers: - - url: '{protocol}://{hostname}:4986' - description: Metrics API - variables: - protocol: - description: The protocol to use (HTTP or HTTPS) - default: http - enum: - - http - - https - hostname: - description: The hostname to use - default: localhost -tags: - - name: Prometheus - description: Endpoints for use with Prometheus - - name: JSON - description: Endpoints for use with JSON metrics - - name: Server - description: Endpoints for managing the REST API -externalDocs: - description: ⬆️ Metrics REST API Overview - url: rest-api-metrics.html -paths: - /_ping: - get: - summary: Check if API is available - description: Returns OK status if API is available. - responses: - '200': - description: Returned status - content: - text/plain: - schema: - type: string - example: OK - tags: - - Server - operationId: get__ping - /metrics: - get: - summary: Get debugging and monitoring runtime stats in Prometheus Exposition format - description: |- - Returns Sync Gateway statistics and other runtime variables in Prometheus Exposition format. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Dev Ops - * External Stats Reader - responses: - '200': - description: |- - Successfully returned statistics. - For details, see [Prometheus Metrics](stats-monitoring-prometheus.html). - tags: - - Prometheus - operationId: get_metrics - /_expvar: - tags: - - JSON - get: - summary: Get all Sync Gateway statistics in JSON format - description: |- - This returns a snapshot of all metrics in Sync Gateway for debugging and monitoring purposes. - - This includes per database stats, replication stats, and server stats. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Architect - * Sync Gateway Dev Ops - * External Stats Reader - tags: - - JSON - responses: - '200': - description: |- - Successfully returned statistics. - For details, see [JSON Metrics](stats-monitoring-json.html). - content: - application/json: - schema: - type: object - properties: &ref_0 - cmdline: - description: Built-in variables from the Go runtime, lists the command-line arguments - type: object - memstats: - description: Dumps a large amount of information about the memory heap and garbage collector - type: object - cb: - description: Variables reported by the Couchbase SDK (go_couchbase package) - type: object - mc: - description: Variables reported by the low-level memcached API (gomemcached package) - type: object - syncGateway_changeCache: - type: object - properties: - maxPending: - description: Max number of sequences waiting on a missing earlier sequence number - type: object - lag-tap-0000ms: - description: Histogram of delay from doc save till it shows up in Tap feed - type: object - lag-queue-0000ms: - description: Histogram of delay from Tap feed till doc is posted to changes feed - type: object - lag-total-0000ms: - description: Histogram of total delay from doc save till posted to changes feed - type: object - outOfOrder: - description: Number of out-of-order sequences posted - type: object - view_queries: - description: Number of queries to channels view - type: object - syncGateway_db: - type: object - properties: - channelChangesFeeds: - description: Number of calls to db.changesFeed, i.e. generating a changes feed for a single channel. - type: object - channelLogAdds: - description: Number of entries added to channel logs - type: object - channelLogAppends: - description: Number of times entries were written to channel logs using an APPEND operation - type: object - channelLogCacheHits: - description: Number of requests for channel-logs that were fulfilled from the in-memory cache - type: object - channelLogRewrites: - description: Number of times entries were written to channel logs using a SET operation (rewriting the entire log) - type: object - channelLogRewriteCollisions: - description: Number of collisions while attempting to rewrite channel logs using SET - type: object - document_gets: - description: Number of times a document was read from the database - type: object - revisionCache_adds: - description: Number of revisions added to the revision cache - type: object - revisionCache_hits: - description: Number of times a revision-cache lookup succeeded - type: object - revisionCache_misses: - description: Number of times a revision-cache lookup failed - type: object - revs_added: - description: Number of revisions added to the database (including deletions) - type: object - sequence_gets: - description: Number of times the database's lastSequence was read - type: object - sequence_reserves: - description: Number of times the database's lastSequence was incremented - type: object - syncgateway: - description: Monitoring stats - type: object - properties: - global: - description: Global Sync Gateway stats - type: object - properties: - resource_utilization: - description: Resource utilization stats - type: object - properties: - admin_net_bytes_recv: - type: integer - description: The total number of bytes received (since node start-up) on the network interface to which the Sync Gateway api.admin_interface is bound. - admin_net_bytes_sent: - type: integer - description: The total number of bytes sent (since node start-up) on the network interface to which the Sync Gateway api.admin_interface is bound. - error_count: - type: integer - description: The total number of errors logged. - go_memstats_heapalloc: - type: integer - description: HeapAlloc is bytes of allocated heap objects. Allocated heap objects include all reachable objects, as well as unreachable objects that the garbage collector has not yet freed. Specifically, HeapAlloc increases as heap objects are allocated and decreases as the heap is swept and unreachable objects are freed. Sweeping occurs incrementally between GC cycles, so these two processes occur simultaneously, and as a result HeapAlloc tends to change smoothly (in contrast with the sawtooth that is typical of stop-the-world garbage collectors). - go_memstats_heapidle: - type: integer - description: HeapIdle is bytes in idle (unused) spans. Idle spans have no objects in them. These spans could be (and may already have been) returned to the OS, or they can be reused for heap allocations, or they can be reused as stack memory. HeapIdle minus HeapReleased estimates the amount of memory that could be returned to the OS, but is being retained by the runtime so it can grow the heap without requesting more memory from the OS. If this difference is significantly larger than the heap size, it indicates there was a recent transient spike in live heap size. - go_memstats_heapinuse: - type: integer - description: HeapInuse is bytes in in-use spans. In-use spans have at least one object in them. These spans an only be used for other objects of roughly the same size. HeapInuse minus HeapAlloc estimates the amount of memory that has been dedicated to particular size classes, but is not currently being used. This is an upper bound on fragmentation, but in general this memory can be reused efficiently. - go_memstats_heapreleased: - type: integer - description: HeapReleased is bytes of physical memory returned to the OS. This counts heap memory from idle spans that was returned to the OS and has not yet been reacquired for the heap. - go_memstats_pausetotalns: - type: integer - description: PauseTotalNs is the cumulative nanoseconds in GC stop-the-world pauses since the program started. During a stop-the-world pause, all goroutines are paused and only the garbage collector can run. - go_memstats_stackinuse: - type: integer - description: StackInuse is bytes in stack spans. In-use stack spans have at least one stack in them. These spans can only be used for other stacks of the same size. There is no StackIdle because unused stack spans are returned to the heap (and hence counted toward HeapIdle). - go_memstats_stacksys: - type: integer - description: StackSys is bytes of stack memory obtained from the OS. StackSys is StackInuse, plus any memory obtained directly from the OS for OS thread stacks (which should be minimal). - go_memstats_sys: - type: integer - description: Sys is the total bytes of memory obtained from the OS. Sys is the sum of the XSys fields below. Sys measures the virtual address space reserved by the Go runtime for the heap, stacks, and other internal data structures. It's likely that not all of the virtual address space is backed by physical memory at any given moment, though in general it all was at some point. - goroutines_high_watermark: - type: integer - description: Peak number of go routines since process start. - num_goroutines: - type: integer - description: The total number of goroutines. - num_idle_kv_ops: - type: integer - description: The total number of idle kv operations. - num_idle_query_ops: - type: integer - description: The total number of idle query operations. - process_cpu_percent_utilization: - type: number - format: float - description: The CPU utilization as percentage value * 10. The extra 10 multiplier is a mistake left for backwards compatibility. Please consider using node_cpu_percent_utilization as of version 3.2. The CPU usage calculation is performed based on user and system CPU time, but it does not include components such as iowait. The derivation means that the values of process_cpu_percent_utilization and %Cpu, returned when running the top command, will differ. - node_cpu_percent_utilization: - type: number - format: float - description: The node CPU utilization as percentage value, since the last time this stat was called. The CPU usage calculation is performed based on user and system CPU time, but it does not include components such as iowait. - process_memory_resident: - type: integer - description: The memory utilization (Resident Set Size) for the process, in bytes. - pub_net_bytes_recv: - type: integer - description: The total number of bytes received (since node start-up) on the network interface to which the Sync Gateway api.public_interface is bound. By default, that is the number of bytes received on 127.0.0.1:4984 since node start-up - pub_net_bytes_sent: - type: integer - description: The total number of bytes sent (since node start-up) on the network interface to which Sync Gateway api.public_interface is bound. By default, that is the number of bytes sent on 127.0.0.1:4984 since node start-up. - system_memory_total: - type: integer - description: The total memory available on the system in bytes. - warn_count: - type: integer - description: The total number of warnings logged. - uptime: - type: integer - description: The total uptime. - per_db: - description: |- - This array contains stats for all databases declared in the config file — see [View Statistics and Metrics](stats-monitoring.html) for more details on the metrics collected and reported by Sync Gateway. - - The statistics for each database are grouped into: - - cache related statistics - - collections statistics - - cbl_replication_push - - cbl_replication_pull - - database_related_statistics - - delta_sync - - gsi_views - - security_related_statistics - - shared_bucket_import - - per_replication statistics for each `replication_id` - type: array - items: - type: object - properties: - cache: - type: object - database: - type: object - per_replication: - type: object - collections: - type: object - security: - type: object - per_replication: - description: |- - An array of stats for each replication declared in the config file - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: array - items: - type: object - description: Stats for a given replication_id - properties: - $replication_id: - type: object - properties: - sgr_active: - description: |- - Whether the replication is active at this time. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: boolean - sgr_docs_checked_sent: - description: |- - The total number of documents checked for changes since replication started. - This represents the number of potential change notifications pushed by Sync Gateway. - **Constraints** - This is not necessarily the number of documents pushed, as a given target might already have the change. - Used by versions 1 and 2. - type: integer - sgr_num_attachments_transferred: - description: |- - The total number of attachments transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: integer - sgr_num_attachment_bytes_transferred: - description: |- - The total number of attachment bytes transferred since replication started. - **Deprecated @ 2.8**: used only by inter-sync-gateway replications version 1. - type: integer - sgr_num_docs_failed_to_push: - description: |- - The total number of documents that failed to be pushed since replication started. - Used by versions 1 and 2. - type: integer - sgr_num_docs_pushed: - description: |- - The total number of documents that were pushed since replication started. - Used by versions 1 and 2. - type: integer - deprecated: true - operationId: get__expvar -components: - schemas: - ExpVars: - type: object - properties: *ref_0 diff --git a/modules/ROOT/assets/attachments/bundled-public.yaml b/modules/ROOT/assets/attachments/bundled-public.yaml deleted file mode 100644 index bcfa9958a..000000000 --- a/modules/ROOT/assets/attachments/bundled-public.yaml +++ /dev/null @@ -1,3273 +0,0 @@ -openapi: 3.0.3 -info: - title: Sync Gateway Public REST API - description: |- - # Introduction - - Sync Gateway manages access and synchronization between Couchbase Lite and Couchbase Server. - The Sync Gateway Public REST API is used for client replication. - version: '3.3' - license: - name: Business Source License 1.1 (BSL) - url: https://github.com/couchbase/sync_gateway/blob/master/LICENSE -servers: - - url: '{protocol}://{hostname}:4984' - description: Public API - variables: - protocol: - description: The protocol to use (HTTP or HTTPS) - default: http - enum: - - http - - https - hostname: - description: The hostname to use - default: localhost -tags: - - name: Server - description: Manage server activities - - name: Database Management - description: Create and manage Sync Gateway databases - - name: Session - description: Manage user sessions - - name: Authentication - description: Manage OpenID Connect Authentication - - name: Document - description: Create and manage documents - - name: Document Attachment - description: Create and manage document attachments - - name: Replication - description: Create and manage inter-Sync Gateway replications - x-capella: false - - name: Unsupported - description: Endpoints that are not supported by Sync Gateway - x-capella: false -externalDocs: - description: ⬆️ Public REST API Overview - url: rest-api.html -paths: - /{db}/_session: - parameters: - - name: db - in: path - required: true - schema: &ref_3 - type: string - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get information about the current user - description: This will get the information about the current user. - responses: - '200': - description: Properties associated with a user session - content: &ref_74 - application/json: - schema: - type: object - properties: &ref_62 - authentication_handlers: - description: The ways authentication can be established to authenticate as the user. - type: array - items: - type: string - ok: - type: boolean - userCtx: - type: object - properties: - channels: - description: | - A map of the channels the user has access to and the sequence number each channel was created at. - - The key is the channel name and the value is the sequence number. - type: object - name: - description: The name of the user. - type: string - nullable: true - title: User Session Information - '404': - description: Resource could not be found - content: &ref_2 - application/json: - schema: - type: object - properties: &ref_0 - error: - description: The error name. - type: string - reason: - description: The error description. - type: string - required: &ref_1 - - error - - reason - title: HTTP-Error - example: - error: not_found - reason: no such database "invalid-db" - tags: - - Session - operationId: get_db-_session - post: - summary: Create a new user session - description: |- - Generates a login session for the user based on the credentials provided in the request body or if that fails (due to invalid credentials or none provided at all), generates the new session for the currently authenticated user instead. On a successful session creation, a session cookie is stored to keep the user authenticated for future API calls. - - If CORS is enabled, the origin must match an allowed login origin otherwise an error will be returned. - requestBody: - description: The body can depend on if using the Public or Admin APIs. - content: - application/json: - schema: - type: object - properties: - name: - description: User name to generate the session for. - type: string - password: - description: Password of the user to generate the session for. - type: string - responses: - '200': - description: Session created successfully. Returned body is dependant on if using Public or Admin APIs - content: - application/json: - schema: - type: object - properties: - authentication_handlers: - description: Used for CouchDB compatability. Always contains "default" and "cookie". - type: array - items: - type: string - enum: - - default - - cookie - ok: - description: Used for CouchDB compatability. Always true. - type: boolean - default: true - userCtx: - type: object - properties: - channels: - description: A map of the channels the user is in along with the sequence number the user was granted access. - type: object - additionalProperties: - type: number - minimum: 1 - description: The sequence number the user was granted access. - title: sequence number - example: - '!': 1 - channelA: 2 - name: - description: The name of the user. - type: string - minLength: 1 - required: - - channels - - name - required: - - authentication_handlers - - ok - - userCtx - '400': - description: Origin is not in the approved list of allowed origins - content: &ref_45 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Session - operationId: post_db-_session - delete: - summary: Log out - description: |- - Invalidates the session for the currently authenticated user and removes their session cookie. - - If CORS is enabled, the origin must match an allowed login origin otherwise an error will be returned. - responses: - '200': - description: Successfully removed session (logged out) - '400': - description: Bad Request - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Session - operationId: delete_db-_session - /{db}/: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Get database information - description: Retrieve information about the database. - responses: - '200': - description: Successfully returned database information - content: - application/json: - schema: - type: object - properties: - db_name: - description: Database name - type: string - example: db - update_seq: - description: |- - The last sequence number that was committed to the database. - - Will return 0 if the database is offline. - type: integer - example: 123456 - committed_update_seq: - description: |- - The last sequence number that was committed to the database. - - Will return 0 if the database is offline. - type: integer - example: 123456 - instance_start_time: - description: Timestamp of when the database opened, in microseconds since the Unix epoch. - type: integer - example: 1644600082279583 - compact_running: - description: Indicates whether database compaction is currently taking place or not. - type: boolean - purge_seq: - description: Unused field. - type: number - default: 0 - disk_format_version: - description: Unused field. - type: number - default: 0 - state: - allOf: - - description: The state of the database. - type: string - enum: &ref_63 - - Online - - Offline - - Starting - - Stopping - - Resyncing - x-enumDescriptions: &ref_64 - Online: The database is online and available for use. - Offline: The database is offline, resync and other offline only endpoints are allowed. - Starting: The database is in the process of going online. - Stopping: The database is no longer accepting connections and is being taken offline or deleted. - Resyncing: The database is offline and performing a resync operation. - server_uuid: - description: Unique server identifier. - type: string - example: 995618a6a6cc9ac79731bd13240e19b5 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Management - operationId: get_db- - head: - summary: Check if database exists - description: Check if a database exists by using the response status code. - responses: - '200': - description: Database exists - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Database Management - operationId: head_db- - /: - get: - summary: Get server information - description: Returns information about the Sync Gateway node. - responses: - '200': - description: Returned server information - content: - application/json: - schema: - type: object - properties: &ref_67 - ADMIN: - description: '`true` if the request is from the Admin API - otherwise omitted.' - type: boolean - example: true - couchdb: - description: CouchDB welcome - type: string - example: Welcome - vendor: - allOf: - - description: Product vendor - type: object - properties: &ref_65 - name: - description: Product name - type: string - example: Couchbase Sync Gateway - version: - description: |- - API version. - Omitted if `api.hide_product_version=true` - type: string - example: 3.1 - required: &ref_66 - - name - title: Vendor - version: - description: |- - Product version, including the build number and edition (i.e. `EE` or `CE`) - Omitted if `api.hide_product_version=true` - type: string - example: Couchbase Sync Gateway/3.1.0(1;a765231) EE - persistent_config: - description: |- - Indication for whether sync gateway is running in persistent config mode or legacy config mode. - `true` if the sync gateway node is running in persistent config mode. - type: boolean - example: true - required: &ref_68 - - couchdb - - vendor - tags: - - Server - operationId: get_- - head: - responses: - '200': - description: Server is online - tags: - - Server - summary: Check if server online - description: Check if the server is online by checking the status code of response. - operationId: head_- - /_ping: - get: - summary: Check if API is available - description: Returns OK status if API is available. - responses: - '200': - description: Returned status - content: - text/plain: - schema: - type: string - example: OK - tags: - - Server - operationId: get__ping - /{keyspace}/: - parameters: - - name: keyspace - in: path - required: true - schema: &ref_6 - type: string - examples: &ref_7 - default: - summary: Default scope and collection - value: db1 - description: Default scope and collection - namedInDefault: - summary: Named collection within the default scope - value: db1.collection1 - description: Named collection within the default scope - fullyQualified: - summary: Fully-qualified scope and collection - value: db1.scope1.collection1 - description: Fully-qualified scope and collection - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Create a new document - description: |- - Create a new document in the keyspace. - - This will generate a random document ID unless specified in the body. - - A document can have a maximum size of 20MB. - parameters: - - name: roundtrip - in: query - required: false - schema: &ref_8 - type: boolean - description: Block until document has been received by change cache - requestBody: - content: - application/json: - schema: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: &ref_11 - _id: - description: The ID of the document. - type: string - _rev: - description: The revision of the document. - type: string - _exp: - description: |- - Expiry time after which the document will be purged. The expiration time is set and managed on the Couchbase Server document. The value can be specified in two ways; in ISO-8601 format, for example the 6th of July 2022 at 17:00 in the BST timezone would be `2016-07-06T17:00:00+01:00`; it can also be specified as a numeric Couchbase Server expiry value. Couchbase Server expiry values are specified as Unix time, and if the desired TTL is below 30 days then it can also represent an interval in seconds from the current time (for example, a value of 5 will remove the document 5 seconds after it is written to Couchbase Server). The document expiration time is returned in the response of `GET /{db}/{doc} ` when `show_exp=true` is included in the query. - - As with the existing explicit purge mechanism, this applies only to the local database; it has nothing to do with replication. This expiration time is not propagated when the document is replicated. The purge of the document does not cause it to be deleted on any other database. - type: string - _deleted: - description: Whether the document is a tombstone or not. If true, it is a tombstone. - type: boolean - _revisions: - type: object - properties: - start: - description: Prefix number for the latest revision. - type: number - ids: - description: Array of valid revision IDs, in reverse order (latest first). - type: array - items: - type: string - _attachments: - type: object - additionalProperties: - x-additionalPropertiesName: attachmentname - description: The name of the attachment. - type: object - properties: - content_type: - description: Content type of the attachment. - type: string - data: - description: The data in the attachment in base64. - type: string - responses: - '200': - description: New document revision created successfully. - headers: - Etag: - schema: - type: string - description: The revision ID of the newly created document. - Location: - schema: - type: string - description: The document ID of the newly created document. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: &ref_12 - id: - description: The ID of the document. - type: string - ok: - description: Whether the request completed successfully. - type: boolean - rev: - description: The revision of the document. - type: string - required: &ref_13 - - id - - ok - - rev - title: New-revision - '400': - description: There was a problem with your request - content: &ref_14 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: &ref_15 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '415': - description: Invalid content type - content: &ref_16 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Document - operationId: post_keyspace- - /{db}/_design/{ddoc}: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: ddoc - in: path - required: true - schema: &ref_5 - type: string - description: The design document name. - get: - summary: Get views of a design document | Unsupported - description: |- - **This is unsupported** - - Query a design document. - responses: - '200': - description: Successfully returned design document. - content: - application/json: - schema: - description: Properties of a design document - type: object - properties: &ref_4 - language: - type: string - views: - type: object - additionalProperties: - x-additionalPropertiesName: viewname - description: The name of the view. - type: object - properties: - map: - type: string - reduce: - type: string - options: - type: object - properties: - local_seq: - type: string - include_design: - type: string - raw: - type: string - index_xattr_on_deleted_docs: - type: string - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_design-ddoc - put: - summary: Update views of a design document | Unsupported - description: |- - **This is unsupported** - - Update the views of a design document. - requestBody: - content: - application/json: - schema: - description: Properties of a design document - type: object - properties: *ref_4 - responses: - '200': - description: Design document changes successfully - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: put_db-_design-ddoc - delete: - summary: Delete a design document | Unsupported - description: |- - **This is unsupported** - - Delete a design document. - responses: - '200': - description: Design document deleted successfully - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: delete_db-_design-ddoc - head: - responses: - '200': - description: Design document exists - '403': - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - description: |- - **This is unsupported** - - Check if a design document can be queried. - summary: Check if view of design document exists | Unsupported - operationId: head_db-_design-ddoc - /{db}/_design/{ddoc}/_view/{view}: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - - name: ddoc - in: path - required: true - schema: *ref_5 - description: The design document name. - - name: view - in: path - required: true - schema: &ref_46 - type: string - description: The view to target. - get: - summary: Query a view on a design document | Unsupported - description: |- - **This is unsupported** - - Query a view on a design document. - parameters: - - name: inclusive_end - in: query - required: false - description: Indicates whether the specified end key should be included in the result. - schema: &ref_47 - type: boolean - - name: descending - in: query - required: false - description: Return documents in descending order. - schema: &ref_48 - type: boolean - - name: include_docs - in: query - required: false - description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: &ref_49 - type: boolean - - name: reduce - in: query - required: false - description: Whether to execute a reduce function on the response or not. - schema: &ref_50 - type: boolean - - name: group - in: query - required: false - description: Group the results using the reduce function to a group or single row. - schema: &ref_51 - type: boolean - - name: skip - in: query - required: false - description: Skip the specified number of documents before starting to return results. - schema: &ref_52 - type: integer - - name: limit - in: query - required: false - description: Return only the specified number of documents - schema: &ref_53 - type: integer - - name: group_level - in: query - required: false - description: Specify the group level to be used. - schema: &ref_54 - type: integer - - name: startkey_docid - in: query - required: false - description: Return documents starting with the specified document identifier. - schema: &ref_55 - type: string - - name: endkey_docid - in: query - required: false - description: Stop returning records when the specified document identifier is reached. - schema: &ref_56 - type: string - - name: stale - in: query - required: false - description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: &ref_57 - type: string - enum: - - ok - - update_after - - name: startkey - in: query - required: false - schema: &ref_29 - type: string - description: Return records starting with the specified key. - - name: endkey - in: query - required: false - schema: &ref_30 - type: string - description: Stop returning records when this key is reached. - - name: key - in: query - required: false - description: Return only the document that matches the specified key. - schema: &ref_58 - type: string - - name: keys - in: query - required: false - schema: &ref_28 - type: array - items: - type: string - description: An array of document ID strings to filter by. - responses: - '200': - description: Returned view successfully - content: - application/json: - schema: - type: object - properties: - total_rows: - type: integer - rows: - type: array - items: - type: object - properties: - id: - type: string - key: - type: object - value: - type: object - doc: - type: object - errors: - type: array - items: - type: object - properties: - From: - type: string - Reason: - type: string - required: - - total_rows - - rows - '403': - description: Forbidden - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_design-ddoc-_view-view - /{keyspace}/{docid}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - required: true - schema: &ref_25 - type: string - example: doc1 - description: The document ID to run the operation against. - get: - summary: Get a document - description: Retrieve a document from the database by its doc ID. - parameters: - - name: rev - in: query - required: false - schema: &ref_10 - type: string - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: open_revs - in: query - required: false - schema: &ref_19 - type: array - items: - type: string - description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' - - name: show_exp - in: query - required: false - schema: &ref_20 - type: boolean - description: Whether to show the expiry property (`_exp`) in the response. - - name: revs_from - in: query - required: false - schema: &ref_21 - type: array - items: - type: string - description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. - - name: atts_since - in: query - required: false - schema: &ref_22 - type: array - items: - type: string - description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. - - name: revs_limit - in: query - required: false - schema: &ref_23 - type: integer - description: Maximum amount of revisions to return for each document. - - name: attachments - in: query - required: false - schema: &ref_24 - type: boolean - description: Include attachment bodies in response. - - name: replicator2 - in: query - required: false - schema: &ref_9 - type: boolean - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - responses: - '200': - description: Document found and returned successfully - headers: - Etag: - schema: - type: string - description: The document revision ID if only returning 1 revision. - content: - application/json: - schema: - type: object - properties: - _id: - description: The ID of the document. - type: string - _rev: - description: The revision ID of the document. - type: string - additionalProperties: true - example: - FailedLoginAttempts: 5 - Friends: - - Bob - _id: AliceSettings - _rev: 1-64d4a1f179db5c1848fe52967b47c166 - '400': - description: |- - Document ID is not in an allowed format therefore is invalid. - - This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: &ref_18 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - '501': - description: Not Implemented. It is likely this error was caused due to trying to use an enterprise-only feature on the community edition. - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Document - operationId: get_keyspace-docid - put: - summary: Upsert a document - description: |- - This will upsert a document meaning if it does not exist, then it will be created. Otherwise a new revision will be made for the existing document. A revision ID must be provided if targetting an existing document. - - A document ID must be specified for this endpoint. To let Sync Gateway generate the ID, use the `POST /{db}/` endpoint. - - If a document does exist, then replace the document content with the request body. This means unspecified fields will be removed in the new revision. - - The maximum size for a document is 20MB. - parameters: - - name: roundtrip - in: query - required: false - schema: *ref_8 - description: Block until document has been received by change cache - - name: replicator2 - in: query - required: false - schema: *ref_9 - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - - name: new_edits - in: query - required: false - schema: &ref_59 - type: boolean - default: true - description: Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. This mode is used for replication. This option must be used in conjunction with the `_revisions` property in the request body. - - name: rev - in: query - required: false - schema: *ref_10 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: If-Match - in: header - required: false - schema: &ref_17 - type: string - description: The revision ID to target. - requestBody: - content: - application/json: - schema: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: *ref_11 - responses: - '201': - description: Created - headers: - Etag: - schema: - type: string - description: The revision of the written document. Not set if query option `new_edits` is true. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_12 - required: *ref_13 - title: New-revision - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_15 - '415': - description: Invalid content type - content: *ref_16 - tags: - - Document - operationId: put_keyspace-docid - delete: - summary: Delete a document - description: |- - Delete a document from the database. A new revision is created so the database can track the deletion in synchronized copies. - - A revision ID either in the header or on the query parameters is required. - parameters: - - name: rev - in: query - required: false - schema: *ref_10 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: If-Match - in: header - required: false - schema: *ref_17 - description: The revision ID to target. - responses: - '200': - description: New revision created successfully - content: &ref_75 - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_12 - required: *ref_13 - title: New-revision - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: delete_keyspace-docid - head: - responses: - '200': - description: Document exists - '400': - description: |- - Document ID is not in an allowed format therefore is invalid. - - This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: *ref_18 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - summary: Check if a document exists - parameters: - - name: rev - in: query - required: false - schema: *ref_10 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: open_revs - in: query - required: false - schema: *ref_19 - description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' - - name: show_exp - in: query - required: false - schema: *ref_20 - description: Whether to show the expiry property (`_exp`) in the response. - - name: revs_from - in: query - required: false - schema: *ref_21 - description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. - - name: atts_since - in: query - required: false - schema: *ref_22 - description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. - - name: revs_limit - in: query - required: false - schema: *ref_23 - description: Maximum amount of revisions to return for each document. - - name: attachments - in: query - required: false - schema: *ref_24 - description: Include attachment bodies in response. - - name: replicator2 - in: query - required: false - schema: *ref_9 - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - description: Return a status code based on if the document exists or not. - operationId: head_keyspace-docid - /{keyspace}/{docid}/{attach}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - required: true - schema: *ref_25 - example: doc1 - description: The document ID to run the operation against. - - name: attach - in: path - description: The attachment name. This value must be URL encoded. For example, if the attachment name is `blob_/avatar`, the path component passed to the URL should be `blob_%2Favatar` (tested with [URLEncoder](https://www.urlencoder.org/)). - required: true - schema: - type: string - get: - summary: Get an attachment from a document - description: |- - This request retrieves a file attachment associated with the document. - - The raw data of the associated attachment is returned (just as if you were accessing a static file). The `Content-Type` response header is the same content type set when the document attachment was added to the database. The `Content-Disposition` response header will be set if the content type is considered unsafe to display in a browser (unless overridden by by database config option `serve_insecure_attachment_types`) which will force the attachment to be downloaded. - - If the `meta` query parameter is set then the response will be in JSON with the additional metadata tags. - parameters: - - name: rev - in: query - required: false - schema: *ref_10 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - - name: content_encoding - in: query - description: Set to false to disable the `Content-Encoding` response header. - schema: - type: boolean - default: true - - name: Range - in: header - description: RFC-2616 bytes range header. - schema: - type: string - example: bytes=123-456 - - name: meta - in: query - description: Return only the metadata of the attachment in the response body. - schema: - type: boolean - default: false - responses: - '200': - description: Found attachment successfully. - headers: - Content-Length: - schema: - type: number - description: Length of the attachment in bytes - Etag: - schema: - type: string - description: 'The attachment digest. Does not get set when request `meta=true`. ' - '206': - description: Partial attachment content returned - '404': - description: Resource could not be found - content: *ref_2 - '416': - description: Requested range exceeds content length - tags: - - Document Attachment - operationId: get_keyspace-docid-attach - put: - summary: Create or update an attachment on a document - description: |- - This request adds or updates an attachment associated with the document. If the document does not exist, it will be created and the attachment will be added to it. - - If the attachment already exists, the data of the existing attachment will be replaced in the new revision. - - The maximum content size of an attachment is 20MB. The `Content-Type` header of the request specifies the content type of the attachment. - parameters: - - name: Content-Type - in: header - description: The content type of the attachment. - schema: - type: string - default: application/octet-stream - - name: rev - in: query - description: The existing document revision ID to modify. Required only when modifying an existing document. - schema: - type: string - - name: If-Match - in: header - description: An alternative way of specifying the document revision ID. - schema: - type: string - requestBody: - description: The attachment data - content: - Attachment content type: - schema: - description: The content to store in the body - type: string - responses: - '201': - description: Attachment added to new or existing document successfully - headers: - Etag: - schema: - type: string - description: The ID of the new revision. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_12 - required: *ref_13 - title: New-revision - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_15 - tags: - - Document Attachment - operationId: put_keyspace-docid-attach - head: - responses: - '200': - description: The document exists and the attachment exists on the document. - headers: - Content-Length: - schema: - description: Length of the attachment in bytes - type: number - Etag: - schema: - type: string - description: The attachment digest. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document Attachment - summary: Check if attachment exists - description: This request check if the attachment exists on the specified document. - parameters: - - name: rev - in: query - required: false - schema: *ref_10 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - operationId: head_keyspace-docid-attach - delete: - summary: Delete an attachment on a document - description: |- - This request deletes an attachment associated with the document. - - If the attachment exists, the attachment will be removed from the document. - parameters: - - name: rev - in: query - description: The existing document revision ID to modify. - schema: - type: string - - name: If-Match - in: header - description: An alternative way of specifying the document revision ID. - schema: - type: string - responses: - '200': - description: Attachment removed from the document successfully - headers: - Etag: - schema: - type: string - description: The ID of the new revision. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_12 - required: *ref_13 - title: New-revision - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: Resource already exists under that name - content: *ref_15 - tags: - - Document Attachment - operationId: delete_keyspace-docid-attach - /{keyspace}/_changes: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - get: - summary: Get changes list - description: |- - This request retrieves a sorted list of changes made to documents in the database, in time order of application. Each document appears at most once, ordered by its most recent change, regardless of how many times it has been changed. - - This request can be used to listen for update and modifications to the database for post processing or synchronization. A continuously connected changes feed is a reasonable approach for generating a real-time log for most applications. - parameters: - - name: limit - in: query - description: Maximum number of changes to return. - schema: - type: integer - - name: since - in: query - description: Starts the results from the change immediately after the given sequence ID. Sequence IDs should be considered opaque; they come from the last_seq property of a prior response. - schema: - type: string - - name: style - in: query - description: Controls whether to return the current winning revision (`main_only`) or all the leaf revision including conflicts and deleted former conflicts (`all_docs`). - schema: - type: string - default: main_only - enum: - - main_only - - all_docs - - name: active_only - in: query - description: Set true to exclude deleted documents and notifications for documents the user no longer has access to from the changes feed. - schema: - type: boolean - default: false - - name: include_docs - in: query - required: false - schema: &ref_27 - type: boolean - description: Include the body associated with each document. - - name: revocations - in: query - description: If true, revocation messages will be sent on the changes feed. - schema: - type: boolean - - name: filter - in: query - description: Set a filter to either filter by channels or document IDs. - schema: - type: string - enum: - - sync_gateway/bychannel - - _doc_ids - - name: channels - in: query - description: A comma-separated list of channel names to filter the response to only the channels specified. To use this option, the `filter` query option must be set to `sync_gateway/bychannels`. - schema: - type: string - - name: doc_ids - in: query - description: A valid JSON array of document IDs to filter the documents in the response to only the documents specified. To use this option, the `filter` query option must be set to `_doc_ids` and the `feed` parameter must be `normal`. Also accepts a comma separated list of document IDs instead. - schema: - type: array - items: - type: string - - name: heartbeat - in: query - description: The interval (in milliseconds) to send an empty line (CRLF) in the response. This is to help prevent gateways from deciding the socket is idle and therefore closing it. This is only applicable to `feed=longpoll` or `feed=continuous`. This will override any timeouts to keep the feed alive indefinitely. Setting to 0 results in no heartbeat. The maximum heartbeat can be set in the server replication configuration. If heartbeat is non zero, it must be at least 25000 milliseconds. - schema: - type: integer - default: 0 - - name: timeout - in: query - description: This is the maximum period (in milliseconds) to wait for a change before the response is sent, even if there are no results. This is only applicable for `feed=longpoll` or `feed=continuous` changes feeds. Setting to 0 results in no timeout. - schema: - type: integer - default: 300000 - maximum: 900000 - minimum: 0 - - name: feed - in: query - description: 'The type of changes feed to use. ' - schema: - type: string - default: normal - enum: - - normal - - longpoll - - continuous - - websocket - responses: - '200': - description: Successfully returned the changes feed - content: &ref_26 - application/json: - schema: - description: Properties of a changes feed - type: object - properties: &ref_69 - results: - type: array - items: - type: object - properties: - seq: - description: The change sequence number. - type: number - id: - description: The document ID the change happened on. - type: string - changes: - description: List of document leafs with each leaf containing only a `rev` field. - type: array - items: - type: object - properties: - rev: - description: The new revision that was caused by that change. - type: string - uniqueItems: true - uniqueItems: true - last_seq: - description: The last change sequence number. - type: string - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: get_keyspace-_changes - post: - summary: Get changes list - description: |- - This request retrieves a sorted list of changes made to documents in the database, in time order of application. Each document appears at most once, ordered by its most recent change, regardless of how many times it has been changed. - - This request can be used to listen for update and modifications to the database for post processing or synchronization. A continuously connected changes feed is a reasonable approach for generating a real-time log for most applications. - requestBody: - content: - application/json: - schema: - type: object - properties: - limit: - description: Maximum number of changes to return. - type: string - style: - description: Controls whether to return the current winning revision (`main_only`) or all the leaf revision including conflicts and deleted former conflicts (`all_docs`). - type: string - active_only: - description: Set true to exclude deleted documents and notifications for documents the user no longer has access to from the changes feed. - type: string - include_docs: - description: Include the body associated with each document. - type: boolean - revocations: - description: If true, revocation messages will be sent on the changes feed. - type: string - filter: - description: Set a filter to either filter by channels or document IDs. - type: string - channels: - description: A comma-separated list of channel names to filter the response to only the channels specified. To use this option, the `filter` query option must be set to `sync_gateway/bychannels`. - type: string - doc_ids: - description: A valid JSON array of document IDs to filter the documents in the response to only the documents specified. To use this option, the `filter` query option must be set to `_doc_ids` and the `feed` parameter must be `normal`. - type: string - heartbeat: - description: The interval (in milliseconds) to send an empty line (CRLF) in the response. This is to help prevent gateways from deciding the socket is idle and therefore closing it. This is only applicable to `feed=longpoll` or `feed=continuous`. This will override any timeouts to keep the feed alive indefinitely. Setting to 0 results in no heartbeat. The maximum heartbeat can be set in the server replication configuration. - type: string - timeout: - description: This is the maximum period (in milliseconds) to wait for a change before the response is sent, even if there are no results. This is only applicable for `feed=longpoll` or `feed=continuous` changes feeds. Setting to 0 results in no timeout. - type: string - feed: - description: 'The type of changes feed to use. ' - type: string - responses: - '200': - description: Successfully returned the changes feed - content: *ref_26 - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_changes - /{keyspace}/_all_docs: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - get: - summary: Gets all the documents in the database with the given parameters - description: |- - Returns all documents in the database based on the specified parameters. - - This endpoint is not recommended for larger datasets or production workloads. - [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more efficient implementations and should be used instead. - parameters: - - name: include_docs - in: query - required: false - schema: *ref_27 - description: Include the body associated with each document. - - name: channels - in: query - required: false - schema: &ref_31 - type: boolean - description: Include the channels each document is part of that the calling user also has access too. - - name: access - in: query - required: false - schema: &ref_32 - type: boolean - description: Include what user/roles that each document grants access too. - - name: revs - in: query - required: false - schema: &ref_33 - type: boolean - description: Include all the revisions for each document under the `_revisions` property. - - name: update_seq - in: query - required: false - schema: &ref_34 - type: boolean - description: Include the document sequence number `update_seq` property for each document. - - name: keys - in: query - required: false - schema: *ref_28 - description: An array of document ID strings to filter by. - - name: startkey - in: query - required: false - schema: *ref_29 - description: Return records starting with the specified key. - - name: endkey - in: query - required: false - schema: *ref_30 - description: Stop returning records when this key is reached. - - name: limit - in: query - required: false - schema: &ref_35 - type: number - description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. - responses: - '200': - description: Operation ran successfully - content: &ref_36 - application/json: - schema: - type: object - properties: - rows: - type: array - items: - type: object - properties: - key: - type: string - id: - type: string - value: - type: object - properties: - rev: - type: string - uniqueItems: true - total_rows: - type: number - update_seq: - type: number - required: - - rows - - total_rows - - update_seq - '400': - description: There was a problem with your request - content: *ref_14 - '403': - description: This API endpoint has been disabled by the administrator. - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: get_keyspace-_all_docs - post: - summary: Get all the documents in the database using a built-in view - description: |- - Returns all documents in the database based on the specified parameters. - - This endpoint is not recommended for larger datasets or production workloads. - [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more efficient implementations and should be used instead. - parameters: - - name: include_docs - in: query - required: false - schema: *ref_27 - description: Include the body associated with each document. - - name: channels - in: query - required: false - schema: *ref_31 - description: Include the channels each document is part of that the calling user also has access too. - - name: access - in: query - required: false - schema: *ref_32 - description: Include what user/roles that each document grants access too. - - name: revs - in: query - required: false - schema: *ref_33 - description: Include all the revisions for each document under the `_revisions` property. - - name: update_seq - in: query - required: false - schema: *ref_34 - description: Include the document sequence number `update_seq` property for each document. - - name: startkey - in: query - required: false - schema: *ref_29 - description: Return records starting with the specified key. - - name: endkey - in: query - required: false - schema: *ref_30 - description: Stop returning records when this key is reached. - - name: limit - in: query - required: false - schema: *ref_35 - description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. - requestBody: - content: - application/json: - schema: - type: object - properties: - keys: - description: List of the documents to retrieve. - type: array - items: - type: string - required: - - keys - responses: - '200': - description: Operation ran successfully - content: *ref_36 - '400': - description: There was a problem with your request - content: *ref_14 - '403': - description: This API endpoint has been disabled by the administrator. - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_all_docs - /{keyspace}/_bulk_docs: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Bulk document operations - description: |- - This will allow multiple documented to be created, updated or deleted in bulk. - - To create a new document, simply add the body in an object under `docs`. A doc ID will be generated by Sync Gateway unless `_id` is specified. - - To update an existing document, provide the document ID (`_id`) and revision ID (`_rev`) as well as the new body values. - - To delete an existing document, provide the document ID (`_id`), revision ID (`_rev`), and set the deletion flag (`_deleted`) to true. - requestBody: - content: - application/json: - schema: - type: object - properties: - new_edits: - description: This controls whether to assign new revision identifiers to new edits (`true`) or use the existing ones (`false`). - type: boolean - default: true - docs: - type: array - items: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: *ref_11 - required: - - docs - example: - new_edits: true - docs: - - _id: FooBar - foo: bar - - _id: AliceSettings - _rev: 5-832a6db48ed130adadede928aee54576 - FailedLoginAttempts: 7 - - _id: BobSettings - _rev: 1-fa76ba41ee5fdfee1b91fc478ed09e59 - _deleted: true - responses: - '201': - description: |- - Executed all operations. - - Each object in the returned array represents a document. Each document should be checked to make sure it was successfully added to the database. - content: - application/json: - schema: - type: array - items: - type: object - properties: - id: - description: The ID of the document that the operation was performed on. - type: string - rev: - description: The new revision of the document if the operation was a success. - type: string - error: - description: The error type if the operation of the document failed. - type: string - reason: - description: The reason the operation failed. - type: string - status: - description: The HTTP status code for why the operation failed. - type: integer - required: - - id - uniqueItems: true - examples: - Success: - value: - - id: FooBar - rev: 1-cd809becc169215072fd567eebd8b8de - - id: AliceSettings - rev: 6-b3e8dcf825b71ccee112f3572ec4323c - - id: BobSettings - rev: 2-5145e1086bb8d1d71a531e9f6b543c58 - PartialSuccess: - summary: Partial success - value: - - error: conflict - id: FooBar - reason: Document exists - status: 409 - - id: AliceSettings - rev: 6-b3e8dcf825b71ccee112f3572ec4323c - - error: conflict - id: BobSettings - reason: Document revision conflict - status: 409 - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_bulk_docs - /{keyspace}/_bulk_get: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Get multiple documents in a MIME multipart response - description: | - This request returns any number of documents, as individual bodies in a MIME multipart response. - - Each enclosed body contains one requested document. The bodies appear in the same order as in the request, but can also be identified by their `X-Doc-ID` and `X-Rev-ID` headers (if the `attachments` query is `true`). - - A body for a document with no attachments will have content type `application/json` and contain the document itself. - - A body for a document that has attachments will be written as a nested `multipart/related` body. - parameters: - - name: attachments - in: query - description: This is for whether to include attachments in each of the documents returned or not. - schema: - type: boolean - default: false - - name: revs - in: query - required: false - schema: *ref_33 - description: Include all the revisions for each document under the `_revisions` property. - - name: revs_limit - in: query - description: The number of revisions to include in the response from the document history. This parameter only makes a different if the `revs` query parameter is set to `true`. The full revision history will be returned if `revs` is set but this is not. - schema: - type: integer - - name: X-Accept-Part-Encoding - in: header - description: If this header includes `gzip` then the part HTTP compression encoding will be done. - schema: - type: string - - name: Accept-Encoding - in: header - description: If this header includes `gzip` then the the HTTP response will be compressed. This takes priority over `X-Accept-Part-Encoding`. Only part compression will be done if `X-Accept-Part-Encoding=gzip` and the `User-Agent` is below 1.2 due to clients not being able to handle full compression. - schema: - type: string - requestBody: - content: - application/json: - schema: - type: object - properties: - docs: - type: array - items: - type: object - properties: - id: - description: ID of the document to retrieve. - type: string - required: - - id - required: - - docs - example: - docs: - - id: FooBar - - id: attachment - - id: AliceSettings - responses: - '200': - description: Returned the requested docs as `multipart/mixed` response type - '400': - description: Bad Request - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_bulk_get - /{keyspace}/_local/{docid}: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - - name: docid - in: path - description: The name of the local document ID excluding the `_local/` prefix. - required: true - schema: - type: string - get: - summary: Get local document - description: |- - This request retrieves a local document. - - Local document IDs begin with `_local/`. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - responses: - '200': - description: Successfully found local document - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: get_keyspace-_local-docid - put: - summary: Upsert a local document - description: |- - This request creates or updates a local document. Updating a local document requires that the revision ID be put in the body under `_rev`. - - Local document IDs are given a `_local/` prefix. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by the client's replicator, as a place to store replication checkpoint data. - requestBody: - description: The body of the document - content: - application/json: - schema: - type: object - properties: - _rev: - description: Revision to replace. Required if updating existing local document. - type: string - responses: - '201': - description: Document successfully written. The document ID will be prefixed with `_local/`. - content: - application/json: - schema: - description: Properties returned when a new document revision is created - type: object - properties: *ref_12 - required: *ref_13 - title: New-revision - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: A revision ID conflict would result from updating this document revision. - tags: - - Document - operationId: put_keyspace-_local-docid - delete: - summary: Delete a local document - description: |- - This request deletes a local document. - - Local document IDs begin with `_local/`. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - parameters: - - name: rev - in: query - description: The revision ID of the revision to delete. - required: true - schema: - type: string - responses: - '200': - description: Successfully removed the local document. - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - '409': - description: A revision ID conflict would result from deleting this document revision. - tags: - - Document - operationId: delete_keyspace-_local-docid - head: - responses: - '200': - description: Document exists - '400': - description: There was a problem with your request - content: *ref_14 - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - summary: Check if local document exists - description: |- - This request checks if a local document exists. - - Local document IDs begin with `_local/`. Local documents are not replicated or indexed, don't support attachments, and don't save revision histories. In practice they are almost only used by Couchbase Lite's replicator, as a place to store replication checkpoint data. - operationId: head_keyspace-_local-docid - /{keyspace}/_revs_diff: - parameters: - - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - post: - summary: Compare revisions to what is in the database - description: Takes a set of document IDs, each with a set of revision IDs. For each document, an array of unknown revisions are returned with an array of known revisions that may be recent ancestors. - requestBody: - content: - application/json: - schema: - type: object - properties: - docid: - description: The document ID with an array of revisions to use for the comparison. - type: array - items: - type: string - responses: - '200': - description: Comparisons successful - content: - application/json: - schema: - type: object - properties: - docid: - description: The document ID. - type: object - properties: - missing: - description: The revisions that are not in the database (and therefore `missing`). - type: array - items: - type: string - possible_ancestors: - description: An array of known revisions that might be the recent ancestors. - type: array - items: - type: string - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Document - operationId: post_keyspace-_revs_diff - /{db}/_oidc: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect authentication initiation via Location header redirect - description: 'Called by clients to initiate the OpenID Connect Authorization Code Flow. Redirects to the OpenID Connect provider if successful. ' - parameters: - - name: provider - in: query - required: false - schema: &ref_37 - type: string - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - - name: offline - in: query - required: false - schema: &ref_38 - type: string - description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. - responses: - '302': - description: Successfully connected with the OpenID Connect provider so now redirecting to the requested OIDC provider for authentication. - headers: - Location: - schema: - type: string - description: The link to redirect to so the client can authenticate. - '400': - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Unable to connect and validate with the OpenID Connect provider requested - tags: - - Authentication - operationId: get_db-_oidc - /{db}/_oidc_challenge: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect authentication initiation via WWW-Authenticate header - description: Called by clients to initiate the OpenID Connect Authorization Code Flow. This will establish a connection with the provider, then put the redirect URL in the `WWW-Authenticate` header. - parameters: - - name: provider - in: query - required: false - schema: *ref_37 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - - name: offline - in: query - required: false - schema: *ref_38 - description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. - responses: - '400': - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - '401': - description: Successfully connected with the OpenID Connect provider so now the client can login. - headers: - WWW-Authenticate: - schema: - type: string - description: The OpenID Connect authentication URL. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Unable to connect and validate with the OpenID Connect provider requested - tags: - - Authentication - operationId: get_db-_oidc_challenge - /{db}/_oidc_callback: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect authentication callback - description: The callback URL that the client is redirected to after authenticating with the OpenID Connect provider. - parameters: - - name: error - in: query - description: The OpenID Connect error, if any occurred. - schema: - type: string - - name: code - in: query - required: true - schema: &ref_60 - type: string - description: The OpenID Connect authentication code. - - name: provider - in: query - required: false - schema: *ref_37 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - - name: state - in: query - required: false - schema: &ref_61 - type: string - description: The OpenID Connect state to verify against the state cookie. This is used to prevent cross-site request forgery (CSRF). This is not required if `disable_callback_state=true` for the provider config (NOT recommended). - responses: - '200': - description: Successfully authenticated with OpenID Connect. - content: &ref_39 - application/json: - schema: - type: object - properties: &ref_70 - id_token: - description: The OpenID Connect ID token - type: string - refresh_token: - description: The OpenID Connect ID refresh token - type: string - session_id: - description: The Sync Gateway session token - type: string - name: - description: The Sync Gateway user - type: string - access_token: - description: The OpenID Connect access token - type: string - token_type: - description: The OpenID Connect ID token type - type: string - expires_in: - description: The time until the id_token expires (TTL). - type: number - title: OpenID Connect callback properties - '400': - description: A problem occurred when reading the callback request body - '401': - description: An error was received from the OpenID Connect provider. This means the error query parameter was filled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: A problem occurred in regards to the token - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - tags: - - Authentication - operationId: get_db-_oidc_callback - /{db}/_oidc_refresh: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect token refresh - description: Refresh the OpenID Connect token based on the provided refresh token. - parameters: - - name: refresh_token - in: query - description: The OpenID Connect refresh token. - required: true - schema: - type: string - - name: provider - in: query - required: false - schema: *ref_37 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - responses: - '200': - description: Successfully authenticated with OpenID Connect. - content: *ref_39 - '400': - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: Unable to connect and validate with the OpenID Connect provider requested - tags: - - Authentication - operationId: get_db-_oidc_refresh - /{db}/_oidc_testing/.well-known/openid-configuration: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect mock provider - description: Mock an OpenID Connect provider response for testing purposes. This returns a response that is the same structure as what Sync Gateway expects from an OIDC provider after initiating OIDC authentication. - responses: - '200': - description: 'Successfully generated OpenID Connect provider mock response. ' - headers: - Expiry: - schema: - type: string - description: the time until the response expires. - content: - application/json: - schema: - type: object - properties: - issuer: - type: string - authorization_endpoint: - type: string - token_endpoint: - type: string - jwks_uri: - type: string - userinfo_endpoint: - type: string - id_token_signing_alg_values_supported: - type: string - response_types_supported: - type: string - subject_types_supported: - type: string - scopes_supported: - type: string - claims_supported: - type: string - token_endpoint_auth_methods_supported: - type: string - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_oidc_testing-.well-known-openid-configuration - /{db}/_oidc_testing/authorize: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect mock login page - description: Show a mock OpenID Connect login page for the client to log in to. - parameters: - - name: scope - in: query - required: true - schema: &ref_40 - type: string - description: The OpenID Connect authentication scope. - responses: - '200': - description: OK - '400': - description: A validation error occurred with the scope. - content: &ref_41 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: An error occurred. - content: &ref_42 - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - tags: - - Unsupported - operationId: get_db-_oidc_testing-authorize - post: - summary: OpenID Connect mock login page - description: Show a mock OpenID Connect login page for the client to log in to. - parameters: - - name: scope - in: query - required: true - schema: *ref_40 - description: The OpenID Connect authentication scope. - responses: - '200': - description: OK - '400': - description: A validation error occurred with the scope. - content: *ref_41 - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: An error occurred. - content: *ref_42 - tags: - - Unsupported - operationId: post_db-_oidc_testing-authorize - /{db}/_oidc_testing/token: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: OpenID Connect mock token - description: Return a mock OpenID Connect token for the OIDC authentication flow. - requestBody: - content: - application/json: - schema: - type: object - properties: - grant_type: - description: The grant type of the token to request. Can either be an `authorization_code` or `refresh_token`. - type: string - code: - description: '**`grant_type=authorization_code` only**: The OpenID Connect authentication token.' - type: string - refresh_token: - description: '**`grant_type=refresh_token` only**: The OpenID Connect refresh token.' - type: string - required: - - grant_type - responses: - '200': - description: Properties expected back from an OpenID Connect provider after successful authentication - content: &ref_76 - application/json: - schema: - description: Properties expected back from an OpenID Connect provider after successful authentication - type: object - properties: &ref_71 - access_token: - type: string - token_type: - type: string - refresh_token: - type: string - expires_in: - type: string - id_token: - type: string - title: OIDC-token - '400': - description: Invalid token provided - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: post_db-_oidc_testing-token - /{db}/_oidc_testing/certs: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect public certificates for signing keys - description: Return a mock OpenID Connect public key to be used as signing keys. - responses: - '200': - description: Returned public key successfully - content: - application/json: - schema: - type: object - properties: - keys: - type: array - items: - type: object - properties: - Key: - type: object - KeyID: - type: string - Use: - type: string - Certificates: - type: array - items: - type: object - Algorithm: - type: string - required: - - Key - - KeyID - - Use - required: - - keys - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - '500': - description: An error occurred while getting the private RSA key - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - tags: - - Unsupported - operationId: get_db-_oidc_testing-certs - /{db}/_oidc_testing/authenticate: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: OpenID Connect mock login page handler - description: Used to handle the login page displayed for the `GET /{db}/_oidc_testing/authorize` endpoint. - parameters: - - name: redirect_uri - in: query - required: false - schema: &ref_43 - type: string - description: The Sync Gateway OpenID Connect callback URL. - - name: scope - in: query - required: true - schema: *ref_40 - description: The OpenID Connect authentication scope. - - name: username - in: query - required: true - schema: - type: string - - name: tokenttl - in: query - required: true - schema: - type: integer - - name: identity-token-formats - in: query - required: true - schema: - type: string - - name: authenticated - in: query - required: true - schema: - type: string - responses: - '302': - description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: &ref_44 - Location: - schema: - type: string - description: The location to the Sync Gateway OpenID Connect callback URL. - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: get_db-_oidc_testing-authenticate - post: - summary: OpenID Connect mock login page handler - description: Used to handle the login page displayed for the `GET /{db}/_oidc_testing/authorize` endpoint. - parameters: - - name: redirect_uri - in: query - required: false - schema: *ref_43 - description: The Sync Gateway OpenID Connect callback URL. - - name: scope - in: query - required: true - schema: *ref_40 - description: The OpenID Connect authentication scope. - requestBody: - content: &ref_77 - application/json: - schema: - description: Properties passed from the OpenID Connect mock login page to the handler - type: object - properties: &ref_72 - username: - type: string - tokenttl: - type: string - identity-token-formats: - type: string - authenticated: - type: string - required: &ref_73 - - username - - tokenttl - - identity-token-formats - - authenticated - description: Properties passed from the OpenID Connect mock login page to the handler - responses: - '302': - description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: *ref_44 - '403': - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - '404': - description: Resource could not be found - content: *ref_2 - tags: - - Unsupported - operationId: post_db-_oidc_testing-authenticate - /{db}/_blipsync: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - get: - summary: Handle incoming BLIP Sync web socket request - description: This handles incoming BLIP Sync requests from either Couchbase Lite or another Sync Gateway node. The connection has to be upgradable to a websocket connection or else the request will fail. - parameters: - - name: client - in: query - description: This is the client type that is making the BLIP Sync request. Used to control client-type specific replication behaviour. - schema: - type: string - default: cbl2 - enum: - - cbl2 - - sgr2 - responses: - '101': - description: Upgraded to a web socket connection - '404': - description: Resource could not be found - content: *ref_2 - '426': - description: Cannot upgrade connection to a web socket connection - content: - application/json: - schema: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - example: - error: Upgrade Required - reason: Can't upgrade this request to websocket connection - tags: - - Replication - operationId: get_db-_blipsync - /{targetdb}/: - parameters: - - name: targetdb - in: path - description: The database name to target. - required: true - schema: - type: string - put: - summary: Create DB public API stub - description: A stub that always returns an error on the Public API, for createTarget/CouchDB compatibility. - responses: - '403': - description: Database does not exist and cannot be created over the public API - '412': - description: Database exists - tags: - - Database Management - operationId: put_targetdb- - /{db}/_facebook: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Create a new Facebook-based session - description: |- - Creates a new session based on a Facebook user. On a successful session creation, a session cookie is stored to keep the user authenticated for future API calls. - - If CORS is enabled, the origin must match an allowed login origin otherwise an error will be returned. - requestBody: - content: - application/json: - schema: - type: object - properties: - access_token: - description: Facebook access token to base the new session on. - type: string - required: - - access_token - responses: - '200': - description: Session created successfully - '400': - description: Origin is not in the approved list of allowed origins - content: *ref_45 - '401': - description: Received error from Facebook verifier - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '404': - description: Resource could not be found - content: *ref_2 - '502': - description: Received invalid response from the Facebook verifier - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '504': - description: Unable to send request to Facebook API - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - deprecated: true - tags: - - Authentication - operationId: post_db-_facebook - /{db}/_google: - x-capella: false - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Create a new Google-based session - description: |- - Creates a new session based on a Google user. On a successful session creation, a session cookie is stored to keep the user authenticated for future API calls. - - If CORS is enabled, the origin must match an allowed login origin otherwise an error will be returned. - requestBody: - content: - application/json: - schema: - type: object - properties: - id_token: - description: Google ID token to base the new session on. - type: string - required: - - id_token - responses: - '200': - description: Session created successfully - '400': - description: Origin is not in the approved list of allowed origins - content: *ref_45 - '401': - description: Received error from Google token verifier or invalid application ID in the config - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '404': - description: Resource could not be found - content: *ref_2 - '502': - description: Received invalid response from the Google token verifier - content: - application/json: - schema: - type: object - properties: - error: - type: string - reason: - type: string - '504': - description: Unable to send request to the Google token verifier - deprecated: true - tags: - - Authentication - operationId: post_db-_google - /{db}/_ensure_full_commit: - parameters: - - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - post: - summary: Ensure Full Commit - description: |- - This endpoint is non-functional but is present for CouchDB compatibility. This was deprecated in CouchDB 3.0. - - Required Sync Gateway RBAC roles: - - * Sync Gateway Application - * Sync Gateway Application Read Only - deprecated: true - responses: - '201': - description: OK - content: - application/json: - schema: - type: object - properties: - instance_start_time: - description: Timestamp of when the database opened, in microseconds since the Unix epoch. - type: integer - example: 1644600082279583 - ok: - type: boolean - example: true - default: true - tags: - - Database Management - operationId: post_db-_ensure_full_commit -components: - parameters: - db: - name: db - in: path - required: true - schema: *ref_3 - example: db1 - description: The name of the database to run the operation against. - keyspace: - name: keyspace - in: path - required: true - schema: *ref_6 - examples: *ref_7 - description: |- - The keyspace to run the operation against. - - A keyspace is a dot-separated string, comprised of a database name, and optionally a named scope and collection. - roundtrip: - name: roundtrip - in: query - required: false - schema: *ref_8 - description: Block until document has been received by change cache - ddoc: - name: ddoc - in: path - required: true - schema: *ref_5 - description: The design document name. - view: - name: view - in: path - required: true - schema: *ref_46 - description: The view to target. - inclusive_end: - name: inclusive_end - in: query - required: false - description: Indicates whether the specified end key should be included in the result. - schema: *ref_47 - descending: - name: descending - in: query - required: false - description: Return documents in descending order. - schema: *ref_48 - include_docs-cbs3: - name: include_docs - in: query - required: false - description: Only works when using Couchbase Server 3.0 and earlier. Indicates whether to include the full content of the documents in the response. - schema: *ref_49 - reduce: - name: reduce - in: query - required: false - description: Whether to execute a reduce function on the response or not. - schema: *ref_50 - group: - name: group - in: query - required: false - description: Group the results using the reduce function to a group or single row. - schema: *ref_51 - skip: - name: skip - in: query - required: false - description: Skip the specified number of documents before starting to return results. - schema: *ref_52 - limit: - name: limit - in: query - required: false - description: Return only the specified number of documents - schema: *ref_53 - group_level: - name: group_level - in: query - required: false - description: Specify the group level to be used. - schema: *ref_54 - startkey_docid: - name: startkey_docid - in: query - required: false - description: Return documents starting with the specified document identifier. - schema: *ref_55 - endkey_docid: - name: endkey_docid - in: query - required: false - description: Stop returning records when the specified document identifier is reached. - schema: *ref_56 - stale: - name: stale - in: query - required: false - description: Allow the results from a stale view to be used, without triggering a rebuild of all views within the encompassing design document. - schema: *ref_57 - startkey: - name: startkey - in: query - required: false - schema: *ref_29 - description: Return records starting with the specified key. - endkey: - name: endkey - in: query - required: false - schema: *ref_30 - description: Stop returning records when this key is reached. - key: - name: key - in: query - required: false - description: Return only the document that matches the specified key. - schema: *ref_58 - keys: - name: keys - in: query - required: false - schema: *ref_28 - description: An array of document ID strings to filter by. - docid: - name: docid - in: path - required: true - schema: *ref_25 - example: doc1 - description: The document ID to run the operation against. - rev: - name: rev - in: query - required: false - schema: *ref_10 - example: 2-5145e1086bb8d1d71a531e9f6b543c58 - description: The document revision to target. - open_revs: - name: open_revs - in: query - required: false - schema: *ref_19 - description: 'Option to fetch specified revisions of the document. The value can be all to fetch all leaf revisions or an array of revision numbers (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven''t been pruned are guaranteed to be returned. If this option is specified the response will be in multipart format. Use the `Accept: application/json` request header to get the result as a JSON object.' - show_exp: - name: show_exp - in: query - required: false - schema: *ref_20 - description: Whether to show the expiry property (`_exp`) in the response. - revs_from: - name: revs_from - in: query - required: false - schema: *ref_21 - description: Trim the revision history to stop at the first revision in the provided list. If no match is found, the revisions will be trimmed to the `revs_limit`. - atts_since: - name: atts_since - in: query - required: false - schema: *ref_22 - description: Include attachments only since specified revisions. Excludes the attachments for the specified revisions. Only gets used if `attachments=true`. - revs_limit: - name: revs_limit - in: query - required: false - schema: *ref_23 - description: Maximum amount of revisions to return for each document. - includeAttachments: - name: attachments - in: query - required: false - schema: *ref_24 - description: Include attachment bodies in response. - replicator2: - name: replicator2 - in: query - required: false - schema: *ref_9 - description: Returns the document with the required properties for replication. This is an enterprise-edition only feature. - new_edits: - name: new_edits - in: query - required: false - schema: *ref_59 - description: Setting this to false indicates that the request body is an already-existing revision that should be directly inserted into the database, instead of a modification to apply to the current document. This mode is used for replication. This option must be used in conjunction with the `_revisions` property in the request body. - If-Match: - name: If-Match - in: header - required: false - schema: *ref_17 - description: The revision ID to target. - include_docs: - name: include_docs - in: query - required: false - schema: *ref_27 - description: Include the body associated with each document. - Include-channels: - name: channels - in: query - required: false - schema: *ref_31 - description: Include the channels each document is part of that the calling user also has access too. - include-access: - name: access - in: query - required: false - schema: *ref_32 - description: Include what user/roles that each document grants access too. - include-revs: - name: revs - in: query - required: false - schema: *ref_33 - description: Include all the revisions for each document under the `_revisions` property. - include-seqs: - name: update_seq - in: query - required: false - schema: *ref_34 - description: Include the document sequence number `update_seq` property for each document. - limit-result-rows: - name: limit - in: query - required: false - schema: *ref_35 - description: This limits the number of result rows returned. Using a value of `0` has the same effect as the value `1`. - provider: - name: provider - in: query - required: false - schema: *ref_37 - description: The OpenID Connect provider to use for authentication. The list of providers are defined in the Sync Gateway config. If left empty, the default provider will be used. - offline: - name: offline - in: query - required: false - schema: *ref_38 - description: If true, the OpenID Connect provider is requested to confirm with the user the permissions requested and refresh the OIDC token. To do this, access_type=offline and prompt=consent is set on the redirection link. - oidc-code: - name: code - in: query - required: true - schema: *ref_60 - description: The OpenID Connect authentication code. - oidc-state: - name: state - in: query - required: false - schema: *ref_61 - description: The OpenID Connect state to verify against the state cookie. This is used to prevent cross-site request forgery (CSRF). This is not required if `disable_callback_state=true` for the provider config (NOT recommended). - oidc-scope: - name: scope - in: query - required: true - schema: *ref_40 - description: The OpenID Connect authentication scope. - oidc-redirect_uri: - name: redirect_uri - in: query - required: false - schema: *ref_43 - description: The Sync Gateway OpenID Connect callback URL. - schemas: - User-session-information: - type: object - properties: *ref_62 - title: User Session Information - HTTP-Error: - type: object - properties: *ref_0 - required: *ref_1 - title: HTTP-Error - DatabaseState: - description: The state of the database. - type: string - enum: *ref_63 - x-enumDescriptions: *ref_64 - Vendor: - description: Product vendor - type: object - properties: *ref_65 - required: *ref_66 - title: Vendor - NodeInfo: - type: object - properties: *ref_67 - required: *ref_68 - Document: - description: The configurable Sync Gateway properties of a document. - type: object - additionalProperties: true - properties: *ref_11 - New-revision: - description: Properties returned when a new document revision is created - type: object - properties: *ref_12 - required: *ref_13 - title: New-revision - Design-doc: - description: Properties of a design document - type: object - properties: *ref_4 - Changes-feed: - description: Properties of a changes feed - type: object - properties: *ref_69 - OIDC-callback: - type: object - properties: *ref_70 - title: OpenID Connect callback properties - OIDC-token: - description: Properties expected back from an OpenID Connect provider after successful authentication - type: object - properties: *ref_71 - title: OIDC-token - OIDC-login-page-handler: - description: Properties passed from the OpenID Connect mock login page to the handler - type: object - properties: *ref_72 - required: *ref_73 - responses: - User-session-information: - description: Properties associated with a user session - content: *ref_74 - Not-found: - description: Resource could not be found - content: *ref_2 - Invalid-CORS: - description: Origin is not in the approved list of allowed origins - content: *ref_45 - request-problem: - description: There was a problem with your request - content: *ref_14 - Conflict: - description: Resource already exists under that name - content: *ref_15 - Invalid-content-type: - description: Invalid content type - content: *ref_16 - ddoc-forbidden: - description: Forbidden access possibly due to not using the Admin API or the design document is a built-in Sync Gateway one. - invalid-doc-id: - description: |- - Document ID is not in an allowed format therefore is invalid. - - This could be because it is over 250 characters or is prefixed with an underscore ("_"). - content: *ref_18 - New-revision: - description: New revision created successfully - content: *ref_75 - changes-feed: - description: Successfully returned the changes feed - content: *ref_26 - all-docs: - description: Operation ran successfully - content: *ref_36 - OIDC-invalid-provider: - description: 'The provider provided is not defined in the Sync Gateway config. If no provided was specified then there is no default provider set. ' - OIDC-connection: - description: Unable to connect and validate with the OpenID Connect provider requested - OIDC-callback: - description: Successfully authenticated with OpenID Connect. - content: *ref_39 - OIDC-test-provider-disabled: - description: The OpenID Connect unsupported config option `oidc_test_provider` is not enabled. To use this endpoint, this option must be enabled. - OIDC-invalid-scope: - description: A validation error occurred with the scope. - content: *ref_41 - OIDC-testing-internal-error: - description: An error occurred. - content: *ref_42 - OIDC-token: - description: Properties expected back from an OpenID Connect provider after successful authentication - content: *ref_76 - OIDC-testing-redirect: - description: Redirecting to Sync Gateway OpenID Connect callback URL - headers: *ref_44 - requestBodies: - OIDC-login-page-handler: - content: *ref_77 - description: Properties passed from the OpenID Connect mock login page to the handler From 2d8376ca95067c059b55ff2741064cfddc99322d Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 17:48:11 +0100 Subject: [PATCH 05/20] Move overlaid specs to attachments --- .../rest-api/attachments/admin.overlaid.yaml | 36642 ++++++++++++++++ .../rest-api/attachments/metric.overlaid.yaml | 898 + .../rest-api/attachments/public.overlaid.yaml | 6163 +++ 3 files changed, 43703 insertions(+) create mode 100644 modules/rest-api/attachments/admin.overlaid.yaml create mode 100644 modules/rest-api/attachments/metric.overlaid.yaml create mode 100644 modules/rest-api/attachments/public.overlaid.yaml diff --git a/modules/rest-api/attachments/admin.overlaid.yaml b/modules/rest-api/attachments/admin.overlaid.yaml new file mode 100644 index 000000000..8103b64e8 --- /dev/null +++ b/modules/rest-api/attachments/admin.overlaid.yaml @@ -0,0 +1,36642 @@ +openapi: 3.0.3 +info: + title: Sync Gateway Admin REST API + description: >- + # Introduction + + + The Sync Gateway Admin REST API is used to administer user accounts and + roles, and to run administrative tasks in superuser mode. + version: '3.3' + license: + name: Business Source License 1.1 (BSL) + url: 'https://github.com/couchbase/sync_gateway/blob/master/LICENSE' +servers: + - url: '{protocol}://{hostname}:4985' + description: Admin API + variables: + protocol: + description: The protocol to use (HTTP or HTTPS) + default: http + enum: + - http + - https + hostname: + description: The hostname to use + default: localhost +tags: + - name: Authentication + description: Manage authentication + - name: Server + description: Manage server activities + - name: Database Management + description: Create and manage Sync Gateway databases + - name: Database Configuration + description: Configure Sync Gateway databases + - name: Database Security + description: Create and manage database users and roles + - name: Session + description: Manage user sessions + - name: Document + description: Create and manage documents and attachments + - name: Replication + description: Create and manage inter-Sync Gateway replications + - name: Metrics + description: Get Sync Gateway statistics + - name: Profiling + description: Generate information to help debug and fine-tune Sync Gateway + - name: Unsupported + description: Endpoints that are not supported by Sync Gateway +externalDocs: + description: ⬆️ Admin REST API Overview + url: rest-api-admin.html +paths: + '/{db}/_session': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get information about the current user + operationId: get_db-_session + tags: + - Session + description: This will get the information about the current user. + responses: + '200': + description: Properties associated with a user session + content: + application/json: + schema: + type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to authenticate + as a user. Used for CouchDB compatibility. Always contains + "default" and "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection that + the user is in along with the sequence number the user + was granted access. This does not include inherited + channels through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Create a new user session + description: >- + Generates a login session for a user and returns the session ID and + cookie name for that session. If no TTL is provided, then the default of + 24 hours will be used. + + + A session cannot be generated for an non-existent user or the `GUEST` + user. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application + requestBody: + description: The body can depend on if using the Public or Admin APIs. + content: + application/json: + schema: + type: object + properties: + name: + description: User name to generate the session for. + type: string + ttl: + description: >- + Time until the session expires. Uses default value of 24 + hours if left blank. This value must be greater or equal to + 1. + type: integer + operationId: post_db-_session + tags: + - Session + responses: + '200': + description: >- + Session created successfully. Returned body is dependant on if using + Public or Admin APIs. + content: + application/json: + schema: + type: object + properties: + session_id: + description: >- + The ID of the session. This is the value that would be put + in to the cookie to keep the user authenticated. + type: string + expires: + description: The date and time the cookie expires. + type: string + cookie_name: + description: >- + The name of the cookie that would be used to store the + users session. + type: string + examples: + Example: + value: + session_id: c5af80a039db4ed9d2b6865576b6999935282689 + expires: '2022-01-21T15:24:44Z' + cookie_name: SyncGatewaySession + '401': + description: 'User does not have access to resource, or resource does not exist' + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Return if database does not exist + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_session/{sessionid}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: sessionid + in: path + required: true + schema: + type: string + description: The ID of the session to target. + get: + summary: Get session information + operationId: get_db-_session-sessionid + tags: + - Session + description: >- + Retrieve session information such as the user the session belongs too + and what channels that user can access. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application + + * Sync Gateway Application Read Only + responses: + '200': + description: Properties associated with a user session + content: + application/json: + schema: + type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to authenticate + as a user. Used for CouchDB compatibility. Always contains + "default" and "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection that + the user is in along with the sequence number the user + was granted access. This does not include inherited + channels through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Remove session + operationId: delete_db-_session-sessionid + tags: + - Session + description: >- + Invalidates the session provided so that anyone using it is logged out + and is prevented from future use. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application + responses: + '200': + description: Successfully removed the user session + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_raw/{docid}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + get: + summary: Get a document with the corresponding metadata + operationId: get_keyspace-_raw-docid + tags: + - Document + description: >- + Returns a document's latest revision with its metadata. + + + Note: The direct use of this endpoint is unsupported. The sync metadata + is maintained internally by Sync Gateway and its structure can change. + It should not be used to drive business logic of applications since the + response to the `/{db}/_raw/{id}` endpoint can change at any time. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + parameters: + - name: include_doc + in: query + required: false + schema: + type: string + description: Include the body associated with the document. + - name: redact + in: query + description: >- + This redacts sensitive parts of the response. Cannot be used when + `include_doc=true` + schema: + type: boolean + responses: + '200': + description: Document found successfully + content: + application/json: + schema: + type: object + properties: + _sync: + type: object + properties: + rev: + description: The current document revision ID. + type: string + sequence: + description: The most recent sequence number of the document. + type: number + recent_sequences: + description: The previous sequence numbers of the document. + type: array + items: + type: number + history: + type: object + properties: + revs: + description: The past revision IDs. + type: array + items: + type: string + parents: + type: array + items: + type: number + channels: + description: >- + The past channel history. Can contain string + arrays, strings, or be null depending on if and + how the channels where set. + type: array + items: + type: array + items: + type: string + nullable: true + cas: + description: >- + The document CAS (Concurrent Document Mutations) + number used for document locking. + type: string + value_crc32c: + description: The document's CRC32 number. + type: string + channel_set: + description: The channels the document has been in. + type: array + items: + type: object + properties: + name: + description: The name of the channel. + type: string + start: + description: >- + The sequence number that document was added to + the channel. + type: string + end: + description: >- + The sequence number the document was removed + from the channel. Omitted if not removed. + type: string + nullable: true + channel_set_history: + type: array + items: + type: object + properties: + name: + type: string + start: + type: string + end: + type: string + nullable: true + time_saved: + description: >- + The time and date the document was most recently + changed. + type: string + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_revtree/{docid}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + get: + summary: Revision tree structure in Graphviz Dot format | Unsupported + operationId: get_keyspace-_revtree-docid + tags: + - Unsupported + description: >- + This returns the Dot syntax of the revision tree for the document so + that it can be rendered in to a PNG image using the [Graphviz CLI + tool](https://www.graphviz.org/). + + + To use: + + 1. Install the Graphviz tool. Using Brew, this can be done by calling + `brew install graphviz`. + + 2. Save the response text from this endpoint to a file (for example, + `revtree.dot`). + + 3. Render the PNG by calling `dot -Tpng revtree.dot > revtree.png`. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + + + **Note: This endpoint is useful for debugging purposes only. It is not + officially supported.** + responses: + '200': + description: Found document + content: + application/json: + schema: + type: string + example: >- + digraph graphname{"1-d4d949b7feafc8c31215684baa45b6cd" -> + "2-4f3f24143ea43d85a9a340ac016fdfc4"; } + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get database information + operationId: get_db- + tags: + - Database Management + description: |- + Retrieve information about the database. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + responses: + '200': + description: Successfully returned database information + content: + application/json: + schema: + type: object + properties: + db_name: + description: Database name + type: string + example: db + update_seq: + description: >- + The last sequence number that was committed to the + database. + + + Will return 0 if the database is offline. + type: integer + example: 123456 + committed_update_seq: + description: >- + The last sequence number that was committed to the + database. + + + Will return 0 if the database is offline. + type: integer + example: 123456 + instance_start_time: + description: >- + Timestamp of when the database opened, in microseconds + since the Unix epoch. + type: integer + example: 1644600082279583 + compact_running: + description: >- + Indicates whether database compaction is currently taking + place or not. + type: boolean + purge_seq: + description: Unused field. + type: number + default: 0 + disk_format_version: + description: Unused field. + type: number + default: 0 + state: + allOf: + - description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other offline + only endpoints are allowed. + Starting: The database is in the process of going online. + Stopping: >- + The database is no longer accepting connections and + is being taken offline or deleted. + Resyncing: >- + The database is offline and performing a resync + operation. + server_uuid: + description: Unique server identifier. + type: string + example: 995618a6a6cc9ac79731bd13240e19b5 + require_resync: + description: >- + Indicates whether the database requires resync before it + can be brought online. + type: boolean + init_in_progress: + description: Indicates whether database initialization is in progress. + type: boolean + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Remove a database + operationId: delete_db- + tags: + - Database Management + description: >- + Removes a database from the Sync Gateway cluster + + + **Note:** If running in legacy mode, this will only delete the database + from the current node. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + responses: + '200': + description: Successfully removed the database + content: + application/json: + schema: + type: object + properties: {} + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: Cannot remove database from bucket + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + head: + summary: Check if database exists + operationId: head_db- + tags: + - Database Management + description: |- + Check if a database exists by using the response status code. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + responses: + '200': + description: Database exists + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Create a new Sync Gateway database + operationId: put_db- + tags: + - Database Management + description: >- + This is to create a new database for Sync Gateway. + + + The new database name will be the name specified in the URL, not what is + specified in the request body database configuration. + + + If the bucket is not provided in the database configuration, Sync + Gateway will attempt to find and use the database name as the bucket. + + + By default, the new database will be brought online immediately. This + can be avoided by including `"offline": true` in the configuration in + the request body. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: disable_oidc_validation + in: query + required: false + description: >- + If set, will not attempt to validate the configured OpenID Connect + providers are reachable. + schema: + type: boolean + default: false + requestBody: + description: The configuration to use for the new database + content: + application/json: + schema: + description: The properties of a database configuration. + type: object + properties: + server: + description: >- + This is the Couchbase Server address or addresses that the + database connect to. + type: string + pool: + description: This field is unsupported and ignored. + type: string + default: default + deprecated: true + bucket: + description: The Couchbase Server backing bucket for the database. + type: string + default: The database name + username: + description: The username for authenticating to the server. + type: string + password: + description: The password for authenticating to the server. + type: string + certpath: + description: The cert path (public key) for X.509 bucket auth. + type: string + keypath: + description: The key path (private key) for X.509 bucket auth + type: string + cacertpath: + description: The root CA cert path for X.509 bucket authentication. + type: string + kv_tls_port: + description: The Memcached TLS port. + type: integer + default: 11207 + max_concurrent_query_ops: + description: >- + The maximum amount of query operations that can be running + at any one point. + type: integer + default: 1000 + scopes: + description: >- + An object keyed by scope name containing config for the + specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: Scope-specific configuration. + type: object + properties: + collections: + description: >- + An object keyed by collection name containing config + for the specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + description: Collection-specific configuration. + type: object + properties: + sync: + description: >- + The Javascript function that newly created + documents in this collection are ran through. + type: string + example: 'function(doc){channel("collection name");}' + import_filter: + description: >- + This is the function that all imported documents + in this collection are ran through in order to + filter out what to import and what not to + import. This allows you to control what is made + available to Couchbase Mobile clients. If it is + not set, then no documents are filtered when + imported. + + + `import_docs` in the database config must be + true to make this field applicable. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { + return false; } return true; } + title: Collection config + title: Scopes + maxProperties: 1 + example: + scopename: + collections: + collectionname1: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + collectionname2: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + name: + description: The name of the database. + type: string + sync: + description: >- + The Javascript function that newly created documents are ran + through for the default scope and collection. + + If `scopes` parameter is set, this is ignored. + type: string + default: 'function(doc){channel(doc.channels);}' + users: + additionalProperties: + x-additionalPropertiesName: username + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters + and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in + the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access + to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user under + the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user + last used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: User + roles: + additionalProperties: + x-additionalPropertiesName: rolename + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters + and underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access + to for the default collection. + + + These channels could have been assigned by the Sync + function or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + revs_limit: + description: >- + The maximum depth a document's revision tree can grow too. + + + The minimum is `20` if conflicts are allowed and 0 if not. + It is not recommended to go below `100` when conflicts are + allowed. The default is `100` if conflicts are allowed and + `50` if not. + type: number + default: 50 + minimum: 0 + import_docs: + description: >- + If true, documents will be imported in to Sync Gateway from + the bucket in the background. Documents will be ran through + the set `import_filter` if any is set. + + + The default value depends on the edition of Sync Gateway + being used. If the edition is the Community Edition, then + this will default to `false` or else in the Enterprise + Edition, it will default to `true`. This value requires + `enable_shared_bucket_access=true`. + + + This can also be set to the string `continuous` which maps + to true. + type: boolean + import_partitions: + description: >- + ** This is an Enterprise Edition feature only** + + + This is how many import partitions should be used for import + sharding. + + + Partitions are distributed among all Sync Gateway nodes + participating in import processing (`import_docs=true`), and + each process a subset of the server's vbuckets. + + + Each partition is processed by an independent function that + runs simultaneously to others, so `import_partitions` can be + used to tune concurrency based on the number of Sync Gateway + nodes, and the number of cores per node. + type: number + default: 16 + minimum: 1 + maximum: 1024 + import_filter: + description: >- + This is the function that all imported documents in the + default scope and collection are ran through in order to + filter out what to import and what not to import. This + allows you to control what is made available to Couchbase + Mobile clients. If it is not set, then no documents are + filtered when imported. + + + `import_docs` must be true to make this field applicable. + + + If `scopes` parameter is set, this is ignored. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return false; } + return true; } + import_backup_old_rev: + description: >- + This controls whether import should attempt to create a + temporary backup of the previous revision body (if + available) when the document is modified in the bucket. + type: boolean + default: false + event_handlers: + description: These are the settings for webhooks. + type: object + properties: + max_processes: + description: >- + The maximum amount of concurrent event handling + independent functions that can be running at the same + time. + type: string + wait_for_process: + description: >- + The maximum amount of time (in milliseconds) to wait + when the even queue is full. + type: string + document_changed: + allOf: + - type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the + webhook events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt + connect to the webhook before giving up. + type: number + title: Event-config + - type: object + properties: + options: + description: Options for the document changed event. + type: object + properties: + winning_rev_only: + description: >- + If true, only the winning revision of the + document will be sent to the webhook. + type: boolean + default: false + db_state_changed: + type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the webhook + events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt connect + to the webhook before giving up. + type: number + title: Event-config + feed_type: + description: >- + The type of feed to use to communicate with Couchbase + Server. This will use DCP regardless of specification. + type: string + default: DCP + enum: + - DCP + deprecated: true + allow_empty_password: + description: >- + This controls whether users that are created can have an + empty password or not. + type: boolean + default: false + cache: + type: object + properties: + rev_cache: + description: The revision cache config settings. + type: object + properties: + size: + description: >- + The maximum number of revisions that can be stored + in the revision cache. + + Note when running with greater than 1 shard count we + add 10% capacity overall to avoid early eviction + when some shards fill up before others, so + + you may find that the capacity stat + (revision_cache_num_items) will climb to the defined + rev cache size + 10%. + type: integer + default: 5000 + max_memory_count_mb: + description: >- + The maximum amount of memory the revision cache + should take up in MB, setting to 0 will disable any + eviction based on memory at rev cache. + + There is a minimum value of 50 (50MB) for this + config option. + + When set this memory limit will work in in hand with + revision cache size parameter. So you will + potentially get eviction at revision cache both + based off memory footprint and number of items in + the cache. + + **This is an Enterprise Edition feature only** + type: integer + default: 0 + shard_count: + description: >- + The number of shards the revision cache should be + split into. + type: integer + default: 16 + channel_cache: + description: The channel cache config settings. + type: object + properties: + max_number: + description: >- + The maximum number of channel caches which can exist + at any one point. + type: integer + default: 50000 + compact_high_watermark_pct: + description: >- + The trigger value for starting the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number`, + reaches the high watermark, the eviction process + iterates through the cache, removing inactive + channels. + type: integer + default: 80 + compact_low_watermark_pct: + description: >- + The trigger value for stopping the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number` + returns to a value lower than the percentage of it + set here, the cache eviction process is stopped. + type: integer + default: 60 + max_wait_pending: + description: >- + The maximum time (in milliseconds) for waiting for a + pending sequence before skipping it. + type: number + default: 5000 + max_num_pending: + description: >- + The maximum number of pending sequences before + skipping sequences. + type: integer + default: 10000 + max_wait_skipped: + description: >- + The maximum amount of time (in milliseconds) to wait + for a skipped sequence before abandoning it. + type: number + default: 3600000 + enable_star_channel: + description: >- + Used to control whether Sync Gateway should use the + all documents (*) channel. + type: boolean + default: true + max_length: + description: >- + The maximum number of entries to maintain in the + cache per channel. + type: integer + default: 500 + min_length: + description: >- + The minimum number of entries to maintain in the + cache per channel. + type: integer + default: 50 + expiry_seconds: + description: >- + The amount of time (in seconds) to keep entries in + the cache beyond the minimum retained. + type: integer + default: 60 + query_limit: + description: >- + **Deprecated in favour of the database setting + `query_pagination_limit`** + + + The limit used for channel queries. + type: integer + default: 5000 + deprecated: true + max_wait_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_pending` instead** + + + The maximum time (in milliseconds) for waiting for a + pending sequence before skipping it. + type: number + deprecated: true + max_wait_skipped: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_skipped` instead** + + + The maximum time (in milliseconds) for waiting for + pending sequences before skipping. + type: number + deprecated: true + enable_star_channel: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.enable_star_channel` instead** + + + Used to control whether Sync Gateway should use the all + documents (*) channel. + type: boolean + deprecated: true + channel_cache_max_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_length` instead** + + + The maximum number of entries maintained in cache per + channel. + type: number + deprecated: true + channel_cache_min_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.min_length` instead** + + + The minimum number of entries maintained in cache per + channel. + type: integer + deprecated: true + channel_cache_expiry: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.expiry_seconds` instead** + + + The time (seconds) to keep entries in cache beyond the + minimum retained. + type: integer + deprecated: true + max_num_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_num_pending` instead** + + + The max number of pending sequences before skipping. + type: integer + deprecated: true + rev_cache_size: + description: >- + **Deprecated, please use the database setting + `cache.rev_cache.size` instead** + + + The maximum number of revisions to store in the revision + cache. + type: number + deprecated: true + offline: + description: Start the database in an offline state. + type: boolean + default: false + unsupported: + description: >- + These are unsupported options and therefore it is not + recommended to use them. + type: object + properties: + user_views: + type: object + properties: + enabled: + description: >- + Whether pass-through view query is supported through + public API. + type: boolean + oidc_test_provider: + type: object + properties: + enabled: + description: >- + Whether the `oidc_test_provider` endpoints should be + exposed on the public API. + type: boolean + api_endpoints: + type: object + properties: + enable_couchbase_bucket_flush: + description: >- + **Setting for test purposes only** + + + Whether Couchbase buckets can be flushed via Admin + REST API. + type: boolean + warning_thresholds: + type: object + properties: + xattr_size_bytes: + description: >- + The number of bytes to be used as a threshold for + xattr size limit warnings. + type: number + channels_per_doc: + description: >- + The number of channels per document to be used as a + threshold for the channel count warnings. + type: number + access_and_role_grants_per_doc: + description: >- + The number of access and role grants per document to + be used as a threshold for grant count warnings. + type: number + channels_per_user: + description: >- + The number of channels per user to be used as a + threshold for channel count warnings. + type: number + channel_name_size: + description: >- + The number of channel name characters to be used as + a threshold for channel name warnings. + type: number + oidc_tls_skip_verify: + description: Enable self-signed certificates for OIDC testing. + type: boolean + same_site_cookie: + description: >- + Override the session cookie SameSite behavior. By + default, a session cookie will have SameSite:None if + CORS is enabled, and will have no SameSite attribute if + CORS is not enabled. Setting this property to`Default` + will omit the SameSite attribute from the cookie. + type: string + enum: + - Default + - Lax + - None + - Strict + sgr_tls_skip_verify: + description: >- + Enable self-signed certificates for SG-replicate + testing. + type: boolean + remote_config_tls_skip_verify: + description: >- + Enable self-signed certificates for external JavaScript + load. + type: boolean + guest_read_only: + description: Restrict GUEST document access to read-only. + type: boolean + force_api_forbidden_errors: + description: Force REST API errors to return forbidden + type: boolean + dcp_read_buffer: + description: Set the dcp feed to use a different read buffer size. + type: number + kv_buffer: + description: Set the kv pool to use a different buffer size. + type: number + local_jwt: + description: Configuration for Local JWT authentication. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + required: + - issuer + - client_id + - algorithms + - keys + properties: + issuer: + description: The value to match against the "iss" claim of JWTs. + type: string + register: + description: >- + If to register a new Sync Gateway user account when a + user logs in with a JWT. + type: boolean + client_id: + description: >- + The value to match against the "aud" claim of JWTs. + Set to an empty string to disable audience validation. + type: string + algorithms: + description: >- + The JWT signing algorithms to accept for + authentication. + type: array + items: + type: string + keys: + description: The JSON Web Keys to use to validate JWTs. + type: array + items: + type: object + properties: + kty: + type: string + description: >- + The cryptographic algorithm family used with the + key, such as "RSA" or "EC" + enum: + - RSA + - EC + use: + type: string + description: >- + The intended use of the public key. Only 'sig' + is accepted. + enum: + - sig + alg: + type: string + description: The algorithm intended for use with the key. + kid: + type: string + description: 'The Key ID, used to identify the key to use.' + crv: + type: string + description: >- + For Elliptic Curve keys, the name of the curve + to use. + enum: + - P-256 + - P-384 + - P-521 + x: + type: string + description: >- + For Elliptic Curve keys, the X coordinate of the + point, as a base64url string. + 'y': + type: string + description: >- + For Elliptic Curve keys, the Y coordinate of the + point, as a base64url string. + 'n': + type: string + description: >- + For RSA keys, the modulus value of the key, as a + Base64urlUInt-encoded value. + e: + type: string + description: >- + For RSA keys, the exponent of the public key, as + a Base64urlUInt-encoded value. + disable_session: + description: >- + Disable Sync Gateway session creation on successful + JWT authentication. + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created + through this provider. + type: string + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim + will be added to the user's roles. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an + error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim + will be added to the user's channels. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an + error. + type: string + oidc: + description: Configuration for OpenID Connect authentication. + type: object + properties: + providers: + description: List of OpenID Connect issuers. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + properties: + issuer: + description: The URL for the OpenID Connect issuer. + type: string + register: + description: >- + If to register a new Sync Gateway user account + when a user logs in with OpenID Connect. + type: boolean + client_id: + description: The OpenID Connect provider client ID. + type: string + validation_key: + description: The OpenID Connect provider client secret. + type: string + callback_url: + description: >- + The URL that the OpenID Connect will redirect to + after authentication. + + + If not provided, a callback URL will be generated. + type: string + disable_session: + description: >- + Disable Sync Gateway session creation on + successful OpenID Connect authentication. + type: boolean + scope: + description: The scope sent for the OpenID Connect request. + type: array + items: + type: string + include_access: + description: >- + This is whether the `_oidc_callback` response + should include the OpenID Connect access token and + associated fields (such as `token_type`, and + `expires_in`). + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created + through this provider. + type: string + discovery_url: + description: The non-standard discovery endpoint. + type: string + disable_cfg_validation: + description: >- + This bypasses the configuration validation based + on the OpenID Connect specifications. This may be + required for some OpenID providers that don't + strictly adhere to the specifications. + type: boolean + default: false + disable_callback_state: + description: >- + Controls whether to maintain state between the + auth request and callback endpoints (`/_oidc` and + `/_oidc_callback`). + + + **This is not recommended as it would cause OpenID + Connect authentication to be vulnerable to + Cross-Site Request Forgery (CSRF, XSRF).** + type: boolean + default: false + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's roles. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's channels. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + allow_unsigned_provider_tokens: + description: >- + Allows users accept unsigned tokens from + providers. + type: boolean + IsDefault: + description: >- + Indicates if this is the default OpenID Connect + provider. + type: boolean + Name: + description: The name of the OpenID Connect Provider. + type: string + InsecureSkipVerify: + description: >- + Determines whether the TLS certificate + verification should be disabled for this + provider. + type: boolean + default: false + default_provider: + description: >- + The default provider to use when the provider is not + specified in the client. + type: string + old_rev_expiry_seconds: + description: >- + The number of seconds before old revisions are removed from + the Couchbase Server bucket. + type: number + default: 300 + view_query_timeout_secs: + description: The number of seconds before a view query should timeout. + type: integer + default: 75 + local_doc_expiry_secs: + description: >- + The number of seconds before a `_local` document should + expire. + type: integer + default: 7776000 + enable_shared_bucket_access: + description: >- + Whether to use extended attributes to store Sync Gateway + document (`_sync`) metadata. + type: boolean + default: true + deprecated: true + session_cookie_secure: + description: >- + Override the session cookie `secure` flag. If set, the + cookie will have the `secure` flag. + + + This will default to `true` if startup config + `api.https.tls_cert_path` is set otherwise it will default + to `false`. + type: boolean + session_cookie_name: + description: >- + This can be used to define a custom per-database session + cookie name. + type: string + session_cookie_http_only: + description: >- + Make all session cookies for the database set the `HttpOnly` + flag so they are inaccessible to JavaScript. + type: boolean + default: false + allow_conflicts: + description: >- + This controls whether to allow conflicting document + revisions. This option is going to be removed from sync + gateway, and conflicts will not be allowed. + type: boolean + default: false + deprecated: true + num_index_replicas: + description: >- + **Deprecated, please use the database setting + `index.num_replicas` instead** + deprecated: true + type: number + default: 1 + index: + description: Global Secondary Index Settings + properties: + num_partitions: + description: >- + The number of partitions to use for the large indexes + created by Sync Gateway. It is not recommended to set + this unless you require additional horizontal + scalability for individual indexes and have + appropriately scaled your Query nodes to handle the + increased query parallelism. If set, the recommended + number is 8 and does not need to be directly related to + the number of your Query nodes. Ensure documentation is + read to understand the performance tradeoffs and + instructions for migration if you have previously run + with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) for + more information. + + + If not specified or 1, all indexes will be non + partitioned. + type: number + default: 1 + title: Number of Index Partitions + num_replicas: + description: >- + This is the number of Global Secondary Indexes (GSI) to + use for core indexes. + type: number + default: 1 + use_views: + description: Force the use of views instead of GSI. + type: boolean + default: false + send_www_authenticate_header: + description: >- + Controls whether to send a `WWW-Authenticate` header in `401 + Unauthorized` HTTP responses. + type: boolean + default: true + disable_password_auth: + description: >- + Whether to disable username/password authentication and only + allow OIDC and guest access. + type: boolean + default: false + bucket_op_timeout_ms: + description: >- + This is the amount of milliseconds should pass before a + bucket operation times out. An error will be returned if the + bucket operation times out saying: `operation timed out`. + type: number + slow_query_warning_threshold: + description: >- + The amount of milliseconds a N1QL query should run before + logging a warning. + type: number + default: 500 + delta_sync: + description: |- + Delta sync configuration settings. + + **This is an Enterprise Edition feature only** + type: object + properties: + enabled: + description: |- + Whether delta sync is enabled. + + **This is an Enterprise Edition feature only** + type: boolean + default: false + rev_max_age_seconds: + description: >- + The number of seconds deltas for old revisions are + available for. + + + This defaults to 24 hours (in seconds). + type: number + default: 86400 + compact_interval_days: + description: >- + The interval between scheduled tombstone compaction runs (in + days). This can be a floating point number. + + + If set to 0, compaction will not run automatically. + type: number + default: 1 + sgreplicate_enabled: + description: >- + Whether the node should accept assign replications (`true`) + or not (`false`). + type: boolean + default: true + sgreplicate_websocket_heartbeat_secs: + description: >- + Use a custom heartbeat interval (in seconds) for websocket + ping frames. + type: integer + default: 300 + replications: + type: object + properties: + replication_id: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if not + explicitly set. + + + When the replication ID is specified in the URL, + this must be set to the same replication ID if + specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this + replication's `push`, `pull`, or `pushAndPull` + action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will + be replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving + conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being + the winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your + own custom conflict resolver. You must provide + this logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property + will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, + `return conflict.LocalDocument`), a new body, or + `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions + can noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not + be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must + also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do + an exponential backoff up to this specified value. + When this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in + the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when + they happen. This is known as a continuous + replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot + replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is + changed to `stopped` and then it will be removed + automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run + the replication as. This means that the replication + will only be able to replicate what the user access + to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, + and will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with the + remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + serve_insecure_attachment_types: + description: > + If set, always serve attachments with the `Content-Type` + header set to the type of the attachment. + + + When serving an attachment, usually the `Content-Type` + header is set to the type of the attachment but the + `Content-Disposition` response header will be set instead if + the content type is vulnerable to a phishing attack, causing + the browser to download the file instead of display it. This + option will override that behaviour and always set the + `Content-Type` header. + type: boolean + default: false + query_pagination_limit: + description: >- + The query limit to be used during pagination of large + queries. + type: integer + default: 5000 + user_xattr_key: + description: >- + The key to use for the user xattr that will be accessible + from the sync function. If empty, the feature will be + disabled. + + + This is an Enterprise Edition feature only. + type: string + maximum: 15 + client_partition_window_secs: + description: >- + How long (in seconds) clients can remain offline for without + losing replication metadata. + + + Defaults to 30 days (in seconds) + type: integer + default: 2592000 + guest: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters + and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in + the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user under + the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last + used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under + the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + javascript_timeout_secs: + description: >- + The maximum number of seconds the sync, import filter, and + custom conflict resolver JavaScript functions are allowed to + run for before timing out. Set to 0 to allow the JS + functions to run uncapped. + type: number + default: 60 + suspendable: + description: >- + Set to true to allow the database to be suspended. + + + Defaults to true when running in serverless mode otherwise + defaults to false. + type: boolean + default: false + changes_request_plus: + type: boolean + default: false + description: >- + Sets the default value of `request_plus` for + one-shot/non-continuous changes feeds, which when true, + ensures all valid documents written prior to the request + being issued are included in the response. Setting this + option at the database level is required to ensure Couchbase + Lite utilizes this changes feed mode. + + + This also sets the default value of query param + `request_plus` for [GET + /{keyspace}/_changes](#operation/get_keyspace-_changes) or + `request_plus` for [POST + /{keyspace}/_changes](#operation/post_keyspace-_changes). + cors: + allOf: + - type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be added + the `Access-Control-Allow-Headers` response to a + valid CORS request. + + + A recommended minimum set of values should be + `["Accept-Encoding", "Authorization", + "Content-Type", "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public + `/{db}/_session` API. + + + To use cors on `/{db}/_session`, the domain must be + present in both `login_origin` and `origin`. + + + If configured, `Authorization` must be included in + headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: >- + Value for `Access-Control-Maximum-Age`. Uses 0 by + default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. The + request `Origin` header is checked against these + values. If successful the `Origin` header is + returned in the HTTP response header as + `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + - type: object + description: >- + CORS configuration for this database; if present, + overrides server's config. + logging: + description: Per-database logging configuration. + type: object + properties: + console: + description: Console logging configuration. + type: object + properties: + log_level: + description: Log Level for the console output + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + example: debug + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + example: + - CRUD + - HTTP + - Query + audit: + description: Audit logging configuration. + type: object + properties: + enabled: + description: Whether audit logging is enabled. + type: boolean + default: false + enabled_events: + description: List of enabled audit events for this database. + type: array + items: + type: number + example: + - 1234 + - 5678 + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the user for which audit logging + is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + type: string + enum: + - cbs + - sgw + name: + description: >- + The name of the user for which audit logging + is disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging + is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging + is disabled. + type: string + disable_public_all_docs: + description: >- + This controls whether the [GET + /{keyspace}/_all_docs](#operation/get_keyspace-_all_docs) + REST API endpoint is publicly accessible or not. + + Disabling this endpoint is recommended for larger datasets + or production workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) + or [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) + have more efficient implementations and should be used + instead. + + + If set to `true`, the endpoint will not be publicly + accessible, and will only be available on the Admin API. + + Setting this to `false`, or leaving it as the default value + is deprecated, and may default to `true` in a future + release. + type: boolean + default: false + title: Database-config + responses: + '201': + description: Database created successfully + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '403': + description: An authentication failure occurred + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '409': + description: A database already exists for this bucket + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '412': + description: A database under that name already exists + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '500': + description: A server error occurred + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + /_all_dbs: + get: + summary: Get a list of all the databases + operationId: get__all_dbs + tags: + - Database Management + description: >- + This retrieves all the databases that are in the current Sync Gateway + node. If verbose, returns bucket and state information for each + database, otherwise returns names only. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + parameters: + - name: verbose + in: query + schema: + type: boolean + responses: + '200': + description: Successfully retrieved all database names + content: + application/json: + schema: + oneOf: + - title: Simple + description: The names of all databases. + type: array + items: + type: string + example: + - db1 + - db2 + - title: Verbose + description: Description of all databases. + type: array + example: + - db_name: db1 + bucket: bucket1 + state: Online + require_resync: false + init_in_progress: false + - db_name: db2 + bucket: bucket2 + state: Starting + require_resync: true + init_in_progress: true + items: + type: object + properties: + db_name: + type: string + description: The name of the database. + bucket: + type: string + description: >- + The Couchbase Server backing bucket for the + database. + state: + allOf: + - description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other + offline only endpoints are allowed. + Starting: >- + The database is in the process of going + online. + Stopping: >- + The database is no longer accepting + connections and is being taken offline or + deleted. + Resyncing: >- + The database is offline and performing a + resync operation. + require_resync: + description: >- + Indicates whether the database requires resync + before it can be brought online. + type: boolean + example: true + init_in_progress: + description: >- + Indicates whether database initialization is in + progress. + type: boolean + example: true + '/{db}/_user/': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get all the names of the users + operationId: get_db-_user- + tags: + - Database Security + description: |- + Retrieves all the names of the users that are in the database. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + * Sync Gateway Application Read Only + parameters: + - name: name_only + in: query + required: false + schema: + type: boolean + default: true + description: >- + Whether to return user names only, or more detailed information for + each user. + - name: limit + in: query + required: false + schema: + type: integer + description: >- + How many results to return. Using a value of `0` results in no + limit. + responses: + '200': + description: Users retrieved successfully + content: + application/json: + schema: + description: List of users + type: array + items: + type: string + example: + - Alice + - Bob + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Create a new user + description: >- + Create a new user using the request body to specify the properties on + the user. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application + requestBody: + content: + application/json: + schema: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the + database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to + for the default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the `admin_channels` + property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account + as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the + `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last + used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user + in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access + to through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + description: Properties associated with a user + operationId: post_db-_user- + tags: + - Database Security + responses: + '201': + description: New user created successfully + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_user/{name}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: name + in: path + required: true + schema: + type: string + description: The name of the user. + get: + summary: Get a user + operationId: get_db-_user-name + tags: + - Database Security + description: |- + Retrieve a single users information. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + * Sync Gateway Application Read Only + responses: + '200': + description: Properties associated with a user + content: + application/json: + schema: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the + database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to + for the default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account + as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the + `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last + used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user + in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under + the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access + to through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Upsert a user + description: >- + If the user does not exist, create a new user otherwise update the + existing user. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application + requestBody: + content: + application/json: + schema: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the + database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to + for the default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the `admin_channels` + property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account + as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the + `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last + used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user + in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access + to through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + description: Properties associated with a user + operationId: put_db-_user-name + tags: + - Database Security + responses: + '200': + description: Existing user modified successfully + '201': + description: New user created + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Delete a user + operationId: delete_db-_user-name + tags: + - Database Security + description: |- + Delete a user from the database. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + responses: + '200': + description: User deleted successfully + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if user exists + operationId: head_db-_user-name + tags: + - Database Security + description: |- + Check if the user exists by checking the status code. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + * Sync Gateway Application Read Only + responses: + '200': + description: User exists + '404': + description: Not Found + '/{db}/_user/{name}/_session': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: name + in: path + required: true + schema: + type: string + description: The name of the user. + delete: + summary: Remove all of a users sessions + operationId: delete_db-_user-name-_session + tags: + - Session + description: |- + Invalidates all the sessions that a user has. + + Will still return a `200` status code if the user has no sessions. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + responses: + '200': + description: User now has no sessions + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_user/{name}/_session/{sessionid}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: name + in: path + required: true + schema: + type: string + description: The name of the user. + - name: sessionid + in: path + required: true + schema: + type: string + description: The ID of the session to target. + delete: + summary: Remove session with user validation + operationId: delete_db-_user-name-_session-sessionid + tags: + - Session + description: |- + Invalidates the session only if it belongs to the user. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + responses: + '200': + description: >- + Session has been successfully removed as the user was associated + with the session + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_role/': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get all names of the roles + operationId: get_db-_role- + tags: + - Database Security + description: |- + Retrieves all the roles that are in the database. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + * Sync Gateway Application Read Only + parameters: + - name: deleted + in: query + description: >- + Indicates that roles marked as deleted should be included in the + result. + schema: + type: boolean + default: false + enum: + - true + - false + responses: + '200': + description: Roles retrieved successfully + content: + application/json: + schema: + description: List of all role names + type: array + items: + type: string + minItems: 0 + uniqueItems: true + example: + - Administrator + - Moderator + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Create a new role + description: >- + Create a new role using the request body to specify the properties on + the role. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application + requestBody: + content: + application/json: + schema: + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters and + underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access to + for the default collection. + + + These channels could have been assigned by the Sync function + or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user + in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access + to through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + description: Properties associated with a role + operationId: post_db-_role- + tags: + - Database Security + responses: + '201': + description: New role created successfully + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_role/{name}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: name + in: path + required: true + schema: + type: string + description: The name of the role. + get: + summary: Get a role + operationId: get_db-_role-name + tags: + - Database Security + description: |- + Retrieve a single roles properties. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + * Sync Gateway Application Read Only + responses: + '200': + description: Properties associated with a role + content: + application/json: + schema: + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters and + underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access to + for the default collection. + + + These channels could have been assigned by the Sync + function or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user + in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under + the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access + to through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Upsert a role + description: >- + If the role does not exist, create a new role otherwise update the + existing role. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application + requestBody: + content: + application/json: + schema: + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters and + underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access to + for the default collection. + + + These channels could have been assigned by the Sync function + or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user + in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access + to through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + description: Properties associated with a role + operationId: put_db-_role-name + tags: + - Database Security + responses: + '200': + description: OK + '201': + description: Created + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Delete a role + operationId: delete_db-_role-name + tags: + - Database Security + description: |- + Delete a role from the database. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + responses: + '200': + description: OK + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if role exists + operationId: head_db-_role-name + tags: + - Database Security + description: |- + Check if the role exists by checking the status code. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + * Sync Gateway Application + * Sync Gateway Application Read Only + responses: + '200': + description: Role exists + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_replication/': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get all replication configurations + operationId: get_db-_replication- + tags: + - Replication + description: |- + This will retrieve all database replication definitions. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Replicator + responses: + '200': + description: >- + Retrieved replication configurations successfully. + + The `assigned_node` fields will end with `(local)` or `(non-local)` + depending on if the replication is running on this Sync Gateway + node. + content: + application/json: + schema: + description: >- + Contains all the replication IDs with their corresponding + replication configurations + type: object + properties: + replication_id: + description: Properties of a replication + allOf: + - type: object + properties: + replication_id: + description: This is the ID of the replication. + type: string + - description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if not + explicitly set. + + + When the replication ID is specified in the URL, + this must be set to the same replication ID if + specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the + remote Sync Gateway that is the subject of this + replication's `push`, `pull`, or `pushAndPull` + action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: >- + The username to use to authenticate with the + remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + direction: + description: >- + This specifies which direction the replication + will be replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving + conflicting revisions. + + + Changing this is an Enterprise Edition only + feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being + the winner in any conflict. + remoteWins: >- + This will result in remote revisions always + being the winner in any conflict. + custom: >- + This will result in conflicts going through your + own custom conflict resolver. You must provide + this logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property + will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). + The function takes 1 parameter which is a struct + that represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's + body. This can be the winning revision (for + example, `return conflict.LocalDocument`), a new + body, or `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions + can noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the + remote user loses access to all of the channels on + the document when attempting to pull it from the + remote. + + + If false, documents will not be replicated and not + be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. + In order to enable delta-sync for a replication, + the database level setting `delta_sync.enabled` + must also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) + that Sync Gateway will attempt to reconnect to a + lost or unreachable remote. + + + When a disconnection happens, Sync Gateway will do + an exponential backoff up to this specified value. + When this value is met, it will attempt to + reconnect indefinitely every `max_backoff_time` + minutes. + + + If this is set to 0, Sync Gateway will do the + normal exponential backoff after the disconnect + happens but then attempting 10 minutes and stop + the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in + when creating a new replication. + + + This allows you to control if the replication + starts in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in + the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created + but the replication will not start running until + the user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when + they happen. This is known as a continuous + replication. + + + If false, all changes will be synced until they + have been processed. The replication will then + cease and not process any future changes (unless + started again by the user). This is known as a + one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can + be used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to + a string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is + changed to `stopped` and then it will be removed + automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise + Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run + the replication as. This means that the + replication will only be able to replicate what + the user access to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, + and will replicate all collections, unless + otherwise limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined + on the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with the + remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` + to preserve the local collection name. + + + The same index is used for both + `collections_remote` and `collections_local`, and + both arrays must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with + the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with + the remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + - type: object + properties: + assigned_node: + description: >- + The unique ID of the node assigned to the + replication. + type: string + target_state: + description: >- + This is the state that the replicator is in or + that trying to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: >- + The replication is reconnecting to the remote + database. + title: Replication Status + cluster_uuid: + description: The cluster unique identifier. + type: string + title: Replication + title: All replications + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Upsert a replication + description: >- + Create or update a replication in the database. + + + If an existing replication is being updated, that replication must be + stopped first. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Replicator + requestBody: + content: + application/json: + schema: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this + will be set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must + be set to the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync + Gateway that is the subject of this replication's `push`, + `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and database + name. For example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the remote + database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway + should use to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the + winner in any conflict. + remoteWins: >- + This will result in remote revisions always being the + winner in any conflict. + custom: >- + This will result in conflicts going through your own + custom conflict resolver. You must provide this logic as a + Javascript function in the `custom_conflict_resolver` + parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve + conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property will be + ignored when `conflict_resolution_type` is not `custom`. + + + The Javascript function to provide this property should be + in backticks (like the sync function). The function takes 1 + parameter which is a struct that represents the conflict. + This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can + be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to resolve as + a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in resolver + whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user + loses access to all of the channels on the document when + attempting to pull it from the remote. + + + If false, documents will not be replicated and not be purged + when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order + to enable delta-sync for a replication, the database level + setting `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync + Gateway will attempt to reconnect to a lost or unreachable + remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When this + value is met, it will attempt to reconnect indefinitely + every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but then + attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications created + prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating + a new replication. + + + This allows you to control if the replication starts in a + `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the + default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the + replication will not start running until the user + explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they + happen. This is known as a continuous replication. + + + If false, all changes will be synced until they have been + processed. The replication will then cease and not process + any future changes (unless started again by the user). This + is known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific + set of channels specified by the `query_param.channels` + property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of + the replication. + + + If `filters=sync_gateway/bychannel` then this can be used to + set the channels to filter by in a pull replication. To do + this, set the `channels` key to a string array of the + channels to filter by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication + instead of a persistent one. + + + This means that the replication will only last the period of + the replication until the status is changed to `stopped` and + then it will be removed automatically. It will also be + removed if Sync Gateway restarts or if removed due to user + action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition only + feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will only be + able to replicate what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default + collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in + this array. + + + The replication will use all collections defined on the + database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in + this array when replicating with the remote. + + + If only a subset of collections need remapping, elements in + this array can be specified as `null` to preserve the local + collection name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same + length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. + This password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + description: >- + If the `replication_id` matches an existing replication then the + existing configuration will be updated. Only the specified fields in + the request will be used to update the existing configuration. + Unspecified fields will remain untouched. + operationId: post_db-_replication- + tags: + - Replication + responses: + '200': + description: Updated existing configuration successfully + '201': + description: Created new replication successfully + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_replication/{replicationid}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: replicationid + in: path + required: true + schema: + type: string + minimum: 1 + maximum: 160 + description: What replication to target based on its replication ID. + get: + summary: Get a replication configuration + operationId: get_db-_replication-replicationid + tags: + - Replication + description: |- + Retrieve a replication configuration from the database. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Replicator + responses: + '200': + description: Successfully retrieved the replication configuration + content: + application/json: + schema: + description: Properties of a replication + allOf: + - type: object + properties: + replication_id: + description: This is the ID of the replication. + type: string + - description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, + this will be set to a random UUID if not explicitly + set. + + + When the replication ID is specified in the URL, this + must be set to the same replication ID if specifying + it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this replication's + `push`, `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the remote + database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving conflicting + revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the + winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your own + custom conflict resolver. You must provide this + logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property will + be ignored when `conflict_resolution_type` is not + `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to + resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not be + purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must also + be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When + this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the + default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they + happen. This is known as a continuous replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is changed + to `stopped` and then it will be removed + automatically. It will also be removed if Sync Gateway + restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will + only be able to replicate what the user access to + what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and + will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified + in this array when replicating with the remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + - type: object + properties: + assigned_node: + description: The unique ID of the node assigned to the replication. + type: string + target_state: + description: >- + This is the state that the replicator is in or that + trying to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: >- + The replication is reconnecting to the remote + database. + title: Replication Status + cluster_uuid: + description: The cluster unique identifier. + type: string + title: Replication + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Upsert a replication + description: >- + Create or update a replication in the database. + + + The replication ID does **not** need to be set in the request body. + + + If an existing replication is being updated, that replication must be + stopped first and, if the `replication_id` is specified in the request + body, it must match the replication ID in the URI. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Replicator + requestBody: + content: + application/json: + schema: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this + will be set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must + be set to the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync + Gateway that is the subject of this replication's `push`, + `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and database + name. For example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the remote + database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway + should use to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the + winner in any conflict. + remoteWins: >- + This will result in remote revisions always being the + winner in any conflict. + custom: >- + This will result in conflicts going through your own + custom conflict resolver. You must provide this logic as a + Javascript function in the `custom_conflict_resolver` + parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve + conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property will be + ignored when `conflict_resolution_type` is not `custom`. + + + The Javascript function to provide this property should be + in backticks (like the sync function). The function takes 1 + parameter which is a struct that represents the conflict. + This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can + be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to resolve as + a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in resolver + whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user + loses access to all of the channels on the document when + attempting to pull it from the remote. + + + If false, documents will not be replicated and not be purged + when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order + to enable delta-sync for a replication, the database level + setting `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync + Gateway will attempt to reconnect to a lost or unreachable + remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When this + value is met, it will attempt to reconnect indefinitely + every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but then + attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications created + prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating + a new replication. + + + This allows you to control if the replication starts in a + `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the + default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the + replication will not start running until the user + explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they + happen. This is known as a continuous replication. + + + If false, all changes will be synced until they have been + processed. The replication will then cease and not process + any future changes (unless started again by the user). This + is known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific + set of channels specified by the `query_param.channels` + property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of + the replication. + + + If `filters=sync_gateway/bychannel` then this can be used to + set the channels to filter by in a pull replication. To do + this, set the `channels` key to a string array of the + channels to filter by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication + instead of a persistent one. + + + This means that the replication will only last the period of + the replication until the status is changed to `stopped` and + then it will be removed automatically. It will also be + removed if Sync Gateway restarts or if removed due to user + action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition only + feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will only be + able to replicate what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default + collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in + this array. + + + The replication will use all collections defined on the + database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in + this array when replicating with the remote. + + + If only a subset of collections need remapping, elements in + this array can be specified as `null` to preserve the local + collection name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same + length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. + This password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + description: >- + If the `replication_id` matches an existing replication then the + existing configuration will be updated. Only the specified fields in + the request will be used to update the existing configuration. + Unspecified fields will remain untouched. + operationId: put_db-_replication-replicationid + tags: + - Replication + responses: + '200': + description: Updated existing configuration successfully + '201': + description: Created new replication successfully + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Stop and delete a replication + operationId: delete_db-_replication-replicationid + tags: + - Replication + description: |- + This will delete a replication causing it to stop and no longer exist. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Replicator + responses: + '200': + description: Replication successfully deleted + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if a replication exists + operationId: head_db-_replication-replicationid + tags: + - Replication + description: |- + Check if a replication exists. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Replicator + responses: + '200': + description: Replication exists + '404': + description: Replication does not exist + '/{db}/_replicationStatus/': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get all replication statuses + operationId: get_db-_replicationStatus- + tags: + - Replication + description: |- + Retrieve all the replication statuses in the Sync Gateway node. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Replicator + parameters: + - name: activeOnly + in: query + required: false + schema: + type: boolean + default: false + description: >- + Only return replications that are actively running + (`state=running`). + - name: localOnly + in: query + required: false + schema: + type: boolean + default: false + description: >- + Only return replications that were started on the current Sync + Gateway node. + - name: includeError + in: query + required: false + schema: + type: boolean + default: true + description: >- + Include replications that have stopped due to an error + (`state=error`). + - name: includeConfig + in: query + required: false + schema: + type: boolean + default: false + description: >- + Include the replication configuration with each replicator status in + the response. + responses: + '200': + description: Successfully retrieved all replication statuses. + content: + application/json: + schema: + type: array + items: + type: object + properties: + replication_id: + description: The ID of the replication. + type: string + config: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if not + explicitly set. + + + When the replication ID is specified in the URL, + this must be set to the same replication ID if + specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this + replication's `push`, `pull`, or `pushAndPull` + action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will + be replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving + conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being + the winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your + own custom conflict resolver. You must provide + this logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property + will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, + `return conflict.LocalDocument`), a new body, or + `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions + can noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not + be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must + also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do + an exponential backoff up to this specified value. + When this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in + the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when + they happen. This is known as a continuous + replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot + replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is + changed to `stopped` and then it will be removed + automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run + the replication as. This means that the replication + will only be able to replicate what the user access + to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, + and will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with the + remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + status: + description: >- + This is the state that the replicator is in or that + trying to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: >- + The replication is reconnecting to the remote + database. + title: Replication Status + error_message: + description: >- + The error message of the replication if an error has + occurred. + type: string + docs_read: + description: >- + The number of documents that have been read (fetched) + from the source database. + type: integer + docs_checked_pull: + type: integer + docs_purged: + description: The number of documents that have been purged. + type: integer + rejected_by_local: + description: >- + The number of documents that were received by the local + but did not get replicated due to getting rejected by + the sync function on the local. + type: integer + last_seq_pull: + description: >- + The last changes sequence number that was pulled from + the remote. + type: string + deltas_recv: + description: >- + The number of deltas that have been received from the + remote. + type: integer + deltas_requested: + type: integer + docs_written: + description: >- + The number of documents that have been wrote (pushed) to + the target database. + type: integer + docs_checked_push: + type: integer + doc_write_failures: + description: >- + The number of documents that have failed to be wrote + (pushed) to the target database. There will be no + attempt to try to push these docs again. + type: integer + doc_write_conflicts: + description: The number of documents that had a conflict. + type: integer + rejected_by_remote: + description: >- + The number of documents that were received by the remote + but did not get replicated due to getting rejected by + the sync function on the remote. + type: integer + last_seq_push: + description: >- + The last changes sequence number that was pushed to the + remote. + type: string + deltas_sent: + description: 'The number of deltas that have been sent to the remote. ' + type: integer + required: + - replication_id + title: Replication-status + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_replicationStatus/{replicationid}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: replicationid + in: path + required: true + schema: + type: string + minimum: 1 + maximum: 160 + description: What replication to target based on its replication ID. + get: + summary: Get replication status + operationId: get_db-_replicationStatus-replicationid + tags: + - Replication + description: |- + Retrieve the status of a replication. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Replicator + parameters: + - name: activeOnly + in: query + required: false + schema: + type: boolean + default: false + description: >- + Only return replications that are actively running + (`state=running`). + - name: localOnly + in: query + required: false + schema: + type: boolean + default: false + description: >- + Only return replications that were started on the current Sync + Gateway node. + - name: includeError + in: query + required: false + schema: + type: boolean + default: true + description: >- + Include replications that have stopped due to an error + (`state=error`). + - name: includeConfig + in: query + required: false + schema: + type: boolean + default: false + description: >- + Include the replication configuration with each replicator status in + the response. + responses: + '200': + description: Successfully retrieved replication status + content: + application/json: + schema: + type: object + properties: + replication_id: + description: The ID of the replication. + type: string + config: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, + this will be set to a random UUID if not explicitly + set. + + + When the replication ID is specified in the URL, this + must be set to the same replication ID if specifying + it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this replication's + `push`, `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the remote + database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving conflicting + revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the + winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your own + custom conflict resolver. You must provide this + logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property will + be ignored when `conflict_resolution_type` is not + `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to + resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not be + purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must also + be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When + this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the + default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they + happen. This is known as a continuous replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is changed + to `stopped` and then it will be removed + automatically. It will also be removed if Sync Gateway + restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will + only be able to replicate what the user access to + what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and + will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified + in this array when replicating with the remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + status: + description: >- + This is the state that the replicator is in or that trying + to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: The replication is reconnecting to the remote database. + title: Replication Status + error_message: + description: >- + The error message of the replication if an error has + occurred. + type: string + docs_read: + description: >- + The number of documents that have been read (fetched) from + the source database. + type: integer + docs_checked_pull: + type: integer + docs_purged: + description: The number of documents that have been purged. + type: integer + rejected_by_local: + description: >- + The number of documents that were received by the local + but did not get replicated due to getting rejected by the + sync function on the local. + type: integer + last_seq_pull: + description: >- + The last changes sequence number that was pulled from the + remote. + type: string + deltas_recv: + description: >- + The number of deltas that have been received from the + remote. + type: integer + deltas_requested: + type: integer + docs_written: + description: >- + The number of documents that have been wrote (pushed) to + the target database. + type: integer + docs_checked_push: + type: integer + doc_write_failures: + description: >- + The number of documents that have failed to be wrote + (pushed) to the target database. There will be no attempt + to try to push these docs again. + type: integer + doc_write_conflicts: + description: The number of documents that had a conflict. + type: integer + rejected_by_remote: + description: >- + The number of documents that were received by the remote + but did not get replicated due to getting rejected by the + sync function on the remote. + type: integer + last_seq_push: + description: >- + The last changes sequence number that was pushed to the + remote. + type: string + deltas_sent: + description: 'The number of deltas that have been sent to the remote. ' + type: integer + required: + - replication_id + title: Replication-status + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Could not find replication + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + put: + summary: Control a replication state + operationId: put_db-_replicationStatus-replicationid + tags: + - Replication + description: >- + Control the replication by changing its state. + + + This is done through the action query parameter, which has 3 valid + values: + + * `start` - starts a stopped replication + + * `stop` - stops an active replication + + * `reset` - resets the replication checkpoint to 0. For bidirectional + replication, both push and pull checkpoints are reset to 0. The + replication must be stopped to use this. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Replicator + parameters: + - name: action + in: query + description: The target state to put the replicator into. + required: true + schema: + type: string + enum: + - start + - stop + - reset + responses: + '200': + description: Successfully changed target state of replicator + content: + application/json: + schema: + type: object + properties: + replication_id: + description: The ID of the replication. + type: string + config: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, + this will be set to a random UUID if not explicitly + set. + + + When the replication ID is specified in the URL, this + must be set to the same replication ID if specifying + it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this replication's + `push`, `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the remote + database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving conflicting + revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the + winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your own + custom conflict resolver. You must provide this + logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property will + be ignored when `conflict_resolution_type` is not + `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to + resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not be + purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must also + be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When + this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the + default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they + happen. This is known as a continuous replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is changed + to `stopped` and then it will be removed + automatically. It will also be removed if Sync Gateway + restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will + only be able to replicate what the user access to + what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and + will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified + in this array when replicating with the remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + status: + description: >- + This is the state that the replicator is in or that trying + to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: The replication is reconnecting to the remote database. + title: Replication Status + error_message: + description: >- + The error message of the replication if an error has + occurred. + type: string + docs_read: + description: >- + The number of documents that have been read (fetched) from + the source database. + type: integer + docs_checked_pull: + type: integer + docs_purged: + description: The number of documents that have been purged. + type: integer + rejected_by_local: + description: >- + The number of documents that were received by the local + but did not get replicated due to getting rejected by the + sync function on the local. + type: integer + last_seq_pull: + description: >- + The last changes sequence number that was pulled from the + remote. + type: string + deltas_recv: + description: >- + The number of deltas that have been received from the + remote. + type: integer + deltas_requested: + type: integer + docs_written: + description: >- + The number of documents that have been wrote (pushed) to + the target database. + type: integer + docs_checked_push: + type: integer + doc_write_failures: + description: >- + The number of documents that have failed to be wrote + (pushed) to the target database. There will be no attempt + to try to push these docs again. + type: integer + doc_write_conflicts: + description: The number of documents that had a conflict. + type: integer + rejected_by_remote: + description: >- + The number of documents that were received by the remote + but did not get replicated due to getting rejected by the + sync function on the remote. + type: integer + last_seq_push: + description: >- + The last changes sequence number that was pushed to the + remote. + type: string + deltas_sent: + description: 'The number of deltas that have been sent to the remote. ' + type: integer + required: + - replication_id + title: Replication-status + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if replication exists + operationId: head_db-_replicationStatus-replicationid + tags: + - Replication + description: |- + Check if a replication exists. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Replicator + parameters: + - name: activeOnly + in: query + required: false + schema: + type: boolean + default: false + description: >- + Only return replications that are actively running + (`state=running`). + - name: localOnly + in: query + required: false + schema: + type: boolean + default: false + description: >- + Only return replications that were started on the current Sync + Gateway node. + - name: includeError + in: query + required: false + schema: + type: boolean + default: true + description: >- + Include replications that have stopped due to an error + (`state=error`). + - name: includeConfig + in: query + required: false + schema: + type: boolean + default: false + description: >- + Include the replication configuration with each replicator status in + the response. + responses: + '200': + description: Replication exists + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/_profile/{profilename}': + parameters: + - name: profilename + in: path + description: The handler to use for profiling. + required: true + schema: + type: string + enum: + - heap + - block + - threadcreate + - mutex + - goroutine + post: + summary: Create point-in-time profile + description: |- + This endpoint allows you to create a pprof snapshot of the given type. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + requestBody: + content: + application/json: + schema: + type: object + properties: + file: + description: This is the file to output the pprof profile at. + type: string + operationId: post__profile-profilename + tags: + - Profiling + responses: + '200': + description: Successfully created profile + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + /_profile: + post: + summary: Start or Stop continuous CPU profiling + description: >- + This endpoint allows you to start and stop continuous CPU profiling. + + + To start profiling the CPU, call this endpoint and supply a file to + output the pprof file to. + + + To stop profiling, call this endpoint but don't supply the `file` in the + body. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + requestBody: + content: + application/json: + schema: + type: object + properties: + file: + description: This is the file to output the pprof profile at. + type: string + operationId: post__profile + tags: + - Profiling + responses: + '200': + description: Successfully started or stopped CPU profiling + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + /_heap: + post: + summary: Dump heap profile + description: |- + This endpoint will dump a pprof heap profile. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + requestBody: + content: + application/json: + schema: + type: object + properties: + file: + description: This is the file to output the pprof profile at. + type: string + operationId: post__heap + tags: + - Profiling + responses: + '200': + description: Successfully dumped heap profile + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + /_stats: + get: + summary: Get memory statistics + operationId: get__stats + tags: + - Metrics + description: >- + This will return the current Sync Gateway nodes memory statistics such + as current memory usage. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Dev Ops + + * External Stats Reader + responses: + '200': + description: Returned memory usage statistics + content: + application/json: + schema: + type: object + properties: + memstats: + description: A set of Go runtime memory statistics. + additionalProperties: true + /_config: + get: + summary: Get server configuration + operationId: get__config + tags: + - Server + description: >- + This will return the configuration that the Sync Gateway node was + initially started up with, or the currently config if `include_runtime` + is set. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + parameters: + - name: redact + in: query + deprecated: true + required: false + schema: + type: boolean + default: true + description: No longer supported field. + - name: include_runtime + in: query + description: >- + Whether to include the values set after starting (at runtime), + default values, and all loaded databases. + schema: + type: boolean + default: false + responses: + '200': + description: Successfully returned server configuration + content: + application/json: + schema: + type: object + properties: + bootstrap: + description: >- + Configuration settings for interacting with Couchbase + Server. + type: object + properties: + group_id: + description: >- + The config group ID to use when discovering databases. + Allows for non-homogenous configuration. + type: string + default: default + config_update_frequency: + description: >- + How often to poll Couchbase Server for new config + changes. + + + This is a duration and therefore can be provided with + units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: 10s + server: + description: Couchbase Server connection string/URL. + type: string + username: + description: Username for authenticating to server. + type: string + password: + description: Password for authenticating to server + type: string + ca_cert_path: + description: Root CA cert path for TLS connection + type: string + server_tls_skip_verify: + description: >- + Allow empty server CA Cert Path without attempting to + use system root pool + type: boolean + default: false + x509_cert_path: + description: Cert path (public key) for X.509 bucket auth + type: string + x509_key_path: + description: Key path (private key) for X.509 bucket auth + type: string + use_tls_server: + description: Enforces a secure or non-secure server scheme + type: boolean + default: true + readOnly: true + required: + - server + - username + - password + api: + description: >- + Configuration settings for modifying how the REST API is + interacted with. + type: object + properties: + public_interface: + description: Network interface to bind public API to + type: string + default: ':4984' + admin_interface: + description: >- + Network interface to bind admin API to. + + + By default, this will only be accessible to the + localhost. + type: string + default: '127.0.0.1:4985' + metrics_interface: + description: >- + Network interface to bind metrics API to. + + + By default, this will only be accessible to the + localhost. + type: string + default: '127.0.0.1:4986' + profile_interface: + description: Network interface to bind profiling API to + type: string + admin_interface_authentication: + description: Whether the admin API requires authentication + type: boolean + default: true + metrics_interface_authentication: + description: Whether the metrics API requires authentication + type: boolean + default: true + enable_advanced_auth_dp: + description: >- + Whether to enable the DP permissions check feature of + admin auth. + + + Defaults to `true` if using Enterprise Edition or + `false` if using Community Edition. + type: boolean + server_read_timeout: + description: >- + Maximum duration before timing out read of the HTTP(S) + request. + + + This is a duration and therefore can be provided with + units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would be + `5h20m30s`. + type: string + server_write_timeout: + description: >- + Maximum duration before timing out write of the + HTTP(S) response. + + + This is a duration and therefore can be provided with + units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would be + `5h20m30s`. + type: string + read_header_timeout: + description: >- + The amount of time allowed to read request headers. + + + This is a duration and therefore can be provided with + units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: 5s + idle_timeout: + description: >- + The maximum amount of time to wait for the next + request when keep-alives are enabled. + + + This is a duration and therefore can be provided with + units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: 90s + pretty: + description: >- + Pretty-print JSON responses. This property is + deprecated. + type: boolean + deprecated: true + max_connections: + description: Max of incoming HTTP connections to accept + type: number + default: 0 + compress_responses: + description: 'If false, disables compression of HTTP responses' + type: boolean + default: true + hide_product_version: + description: >- + Whether product versions removed from Server headers + and REST API responses + type: boolean + https: + type: object + properties: + tls_minimum_version: + description: >- + The minimum allowable TLS version for the REST + APIs + type: string + default: tlsv1.2 + tls_cert_path: + description: The TLS cert file to use for the REST APIs + type: string + tls_key_path: + description: The TLS key file to use for the REST APIs + type: string + cors: + allOf: + - type: object + description: CORS configuration for all databases + - type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be + added the `Access-Control-Allow-Headers` + response to a valid CORS request. + + + A recommended minimum set of values should be + `["Accept-Encoding", "Authorization", + "Content-Type", "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public + `/{db}/_session` API. + + + To use cors on `/{db}/_session`, the domain + must be present in both `login_origin` and + `origin`. + + + If configured, `Authorization` must be + included in headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: >- + Value for `Access-Control-Maximum-Age`. Uses 0 + by default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. + The request `Origin` header is checked against + these values. If successful the `Origin` + header is returned in the HTTP response header + as `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + readOnly: true + logging: + description: >- + The configuration settings for modifying Sync Gateway + logging. + type: object + allOf: + - type: object + properties: + log_file_path: + description: >- + Absolute or relative path on the filesystem to the + log file directory. A relative path is from the + directory that contains the Sync Gateway + executable file. + type: string + readOnly: true + redaction_level: + description: Redaction level to apply to log output. + type: string + default: partial + enum: + - none + - partial + - full + - unset + readOnly: true + console: + allOf: + - title: Configuration for console logging. + allOf: + - type: object + properties: + log_level: + description: Log Level for the console output + type: string + default: info + enum: + - none + - error + - warn + - info + - debug + - trace + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + enum: + - '*' + - Admin + - Access + - Auth + - Bucket + - Cache + - Changes + - SGCluster + - Config + - CRUD + - DCP + - Diagnostic + - Events + - gocb + - HTTP + - HTTP+ + - Import + - Javascript + - Migrate + - Query + - Replicate + - Sync + - SyncMsg + - WS + - WSFrame + x-enumDescriptions: + '*': >- + This wildcard log key, enables all log + keys. + Access: >- + Anytime an access() call is made in the + sync function. + Admin: Admin processes in Sync Gateway. + Auth: Authentication. + Bucket: >- + Sync Gateway interactions with the + bucket. + CRUD: CRUD operations. + Cache: >- + Interactions with Sync Gateway’s + in-memory channel cache. + Changes: >- + Processing of /{keyspace}/_changes + requests and pull replications + Config: Server or database configuration. + DCP: >- + Updates made by Sync Gateway to + documents. + Diagnostic: Operations used by dry run endpoints. + Events: Event processing (webhooks). + HTTP: >- + All requests made to the Sync Gateway + REST APIs. + HTTP+: >- + Additional information about HTTP + requests (response times, status codes). + Import: >- + This log key can be useful to + troubleshoot why a given document was + not successfully imported. + Javascript: >- + All logging from Javascript. This + includes: sync function, import filters, + webhook filter function, and custom + inter-Sync Gateway replication conflict + resolvers. + Migrate: >- + Logs messages that show when old inline + document metadata is upgraded to xattrs. + Query: >- + Query is used for Sync Gateway code + related to N1QL queries + Replicate: >- + Log messages related to Inter-Sync + Gateway replications. This is not used + for replications initiated by Couchbase + Lite. + SGCluster: >- + Log messages related to coordination of + Sync Gateways for sharded import and + Inter-Sync Gateway Replication. + Sync: >- + Activity which relates to + synchronization between Couchbase Lite + and Sync Gateway + SyncMsg: Additional logging on top of `Sync` key. + WS: Websocket replication log messages. + WSFrame: Additional logging on top of `WS` key. + gocb: All logging emitted by the gocb SDK + example: + - CRUD + - HTTP + - Query + - type: object + properties: + color_enabled: + description: Log with color for the console output + type: boolean + default: false + readOnly: true + file_output: + description: >- + Override the default stderr output, and + write to the file specified instead + type: string + readOnly: true + enabled: + description: Toggle for this log output + type: boolean + default: false + readOnly: true + rotation: + type: object + readOnly: true + title: Log-rotation-config + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local + time to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. By default, there is no + rotation, max_age=0. + default: 0 + type: integer + collation_buffer_size: + description: >- + The size of the log collation buffer. + The default is 10 if the output is + stderr, or 1000 if to a file. + type: integer + default: 10 + readOnly: true + error: + type: object + description: Error logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. + default: 360 + type: integer + collation_buffer_size: + description: The size of the log collation buffer. + default: 0 + type: integer + readOnly: true + warn: + type: object + description: Warning logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. + default: 180 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + info: + type: object + description: Info logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + debug: + type: object + description: Debug logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + trace: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + stats: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + audit: + type: object + title: Audit logging config + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. + default: 6 + type: integer + audit_log_file_path: + description: The path to write audit log files to + type: string + readOnly: true + enabled_events: + description: List of enabled global audit events. + type: array + items: + type: number + example: + - 1234 + - 5678 + readOnly: true + auth: + type: object + properties: + bcrypt_cost: + description: Cost to use for bcrypt password hashes + type: integer + default: 10 + maximum: 31 + minimum: 10 + readOnly: true + replicator: + type: object + properties: + max_heartbeat: + description: >- + Max heartbeat value for `_changes` request. + + + This is a duration and therefore can be provided with + units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would be + `5h20m30s`. + type: string + blip_compression: + description: BLIP data compression level (0-9) + type: integer + maximum: 9 + minimum: 0 + max_concurrent_replications: + description: >- + Maximum number of concurrent replication connections + allowed. If set to 0 this limit will be ignored. + type: integer + max_concurrent_changes_batches: + description: >- + Maximum number of changes batches to process + concurrently per replication (1-5)" + type: integer + default: 2 + minimum: 1 + maximum: 5 + max_concurrent_revs: + description: >- + Maximum number of revs to process concurrently per + replication (5-200) + type: integer + default: 5 + minimum: 5 + maximum: 200 + readOnly: true + unsupported: + description: >- + Settings that are not officially supported. It is highly + recommended these are **not** used. + type: object + properties: + serverless: + description: >- + Configuration for when SG is running in serverless + mode + type: object + properties: + enabled: + description: Run SG in to serverless mode + type: boolean + readOnly: true + min_config_fetch_interval: + description: >- + How long database configs should be kept for in + Sync Gateway before refreshing. Set to 0 to fetch + configs everytime. This is used for requested + databases that SG does not know about. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". + For example, 5 hours, 20 minutes, and 30 seconds + would be `5h20m30s`. + type: string + default: 1s + use_xattr_config: + description: Store database configurations in system xattrs + type: boolean + default: false + stats_log_frequency: + description: >- + How often should stats be written to stats logs. + + + This is a duration and therefore can be provided with + units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: 1m + use_stdlib_json: + description: >- + Bypass the jsoniter package and use Go's stdlib + instead + type: boolean + default: false + http2: + type: object + properties: + enabled: + description: Whether HTTP2 support is enabled + type: boolean + default: false + allow_dbconfig_env_vars: + description: >- + Can be set to false to skip environment variable + expansion in database configs + type: boolean + default: true + diagnostic_interface: + description: >- + Network interface to bind diagnotic API to. + + + By default, this API will not be run unless this + string is specified. + type: string + default: '' + readOnly: true + database_credentials: + description: >- + A map of database name to credentials, that can be used + instead of the bootstrap ones. + type: object + additionalProperties: + x-additionalPropertiesName: databasename + description: The configuration for the credentials set. + type: object + properties: + username: + description: Username for authenticating to the bucket + type: string + password: + description: >- + Password for authenticating to the bucket. This + value is always redacted. + type: string + x509_cert_path: + description: Cert path (public key) for X.509 bucket auth + type: string + x509_key_path: + description: Key path (private key) for X.509 bucket auth + type: string + title: Credentials config + readOnly: true + bucket_credentials: + description: >- + A map of bucket names to credentials, that can be used + instead of the bootstrap ones. + type: object + additionalProperties: + x-additionalPropertiesName: bucketname + description: The configuration for the credentials set. + type: object + properties: + username: + description: Username for authenticating to the bucket + type: string + password: + description: >- + Password for authenticating to the bucket. This + value is always redacted. + type: string + x509_cert_path: + description: Cert path (public key) for X.509 bucket auth + type: string + x509_key_path: + description: Key path (private key) for X.509 bucket auth + type: string + title: Credentials config + readOnly: true + max_file_descriptors: + description: Max of open file descriptors (RLIMIT_NOFILE) + type: number + default: 5000 + minimum: 0 + readOnly: true + couchbase_keepalive_interval: + description: >- + TCP keep-alive interval between SG and Couchbase server. + This is unused. + type: integer + deprecated: true + readOnly: true + heap_profile_collection_threshold: + description: >- + Threshold in bytes for automatic collection of heap + profiles. If not specified, defaults to 85% of the lesser + of cgroup or system memory. + readOnly: true + type: integer + heap_profile_disable_collection: + description: Disables automatic heap profile collection. + default: false + type: boolean + readOnly: true + title: Startup-config + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + put: + summary: Set runtime configuration + description: >- + This endpoint is used to dynamically set runtime options, like logging + without needing a restart. + + + These options are not persisted, and will not survive a restart of Sync + Gateway. + + + The endpoint only accepts a limited number of options that can be + changed at runtime. See request body schema for allowable options. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + requestBody: + content: + application/json: + schema: + type: object + properties: + logging: + allOf: + - type: object + properties: + log_file_path: + description: >- + Absolute or relative path on the filesystem to the + log file directory. A relative path is from the + directory that contains the Sync Gateway executable + file. + type: string + readOnly: true + redaction_level: + description: Redaction level to apply to log output. + type: string + default: partial + enum: + - none + - partial + - full + - unset + readOnly: true + console: + allOf: + - title: Configuration for console logging. + allOf: + - type: object + properties: + log_level: + description: Log Level for the console output + type: string + default: info + enum: + - none + - error + - warn + - info + - debug + - trace + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + enum: + - '*' + - Admin + - Access + - Auth + - Bucket + - Cache + - Changes + - SGCluster + - Config + - CRUD + - DCP + - Diagnostic + - Events + - gocb + - HTTP + - HTTP+ + - Import + - Javascript + - Migrate + - Query + - Replicate + - Sync + - SyncMsg + - WS + - WSFrame + x-enumDescriptions: + '*': >- + This wildcard log key, enables all log + keys. + Access: >- + Anytime an access() call is made in the + sync function. + Admin: Admin processes in Sync Gateway. + Auth: Authentication. + Bucket: >- + Sync Gateway interactions with the + bucket. + CRUD: CRUD operations. + Cache: >- + Interactions with Sync Gateway’s + in-memory channel cache. + Changes: >- + Processing of /{keyspace}/_changes + requests and pull replications + Config: Server or database configuration. + DCP: >- + Updates made by Sync Gateway to + documents. + Diagnostic: Operations used by dry run endpoints. + Events: Event processing (webhooks). + HTTP: >- + All requests made to the Sync Gateway + REST APIs. + HTTP+: >- + Additional information about HTTP + requests (response times, status codes). + Import: >- + This log key can be useful to + troubleshoot why a given document was + not successfully imported. + Javascript: >- + All logging from Javascript. This + includes: sync function, import filters, + webhook filter function, and custom + inter-Sync Gateway replication conflict + resolvers. + Migrate: >- + Logs messages that show when old inline + document metadata is upgraded to xattrs. + Query: >- + Query is used for Sync Gateway code + related to N1QL queries + Replicate: >- + Log messages related to Inter-Sync + Gateway replications. This is not used + for replications initiated by Couchbase + Lite. + SGCluster: >- + Log messages related to coordination of + Sync Gateways for sharded import and + Inter-Sync Gateway Replication. + Sync: >- + Activity which relates to + synchronization between Couchbase Lite + and Sync Gateway + SyncMsg: Additional logging on top of `Sync` key. + WS: Websocket replication log messages. + WSFrame: Additional logging on top of `WS` key. + gocb: All logging emitted by the gocb SDK + example: + - CRUD + - HTTP + - Query + - type: object + properties: + color_enabled: + description: Log with color for the console output + type: boolean + default: false + readOnly: true + file_output: + description: >- + Override the default stderr output, and + write to the file specified instead + type: string + readOnly: true + enabled: + description: Toggle for this log output + type: boolean + default: false + readOnly: true + rotation: + type: object + readOnly: true + title: Log-rotation-config + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local + time to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files + are rotated, even if max_size is not + reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be + `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old + log files. By default, there is no + rotation, max_age=0. + default: 0 + type: integer + collation_buffer_size: + description: >- + The size of the log collation buffer. + The default is 10 if the output is + stderr, or 1000 if to a file. + type: integer + default: 10 + readOnly: true + error: + type: object + description: Error logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. + default: 360 + type: integer + collation_buffer_size: + description: The size of the log collation buffer. + default: 0 + type: integer + readOnly: true + warn: + type: object + description: Warning logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. + default: 180 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + info: + type: object + description: Info logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + debug: + type: object + description: Debug logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + trace: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + stats: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + audit: + type: object + title: Audit logging config + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. + default: 6 + type: integer + audit_log_file_path: + description: The path to write audit log files to + type: string + readOnly: true + enabled_events: + description: List of enabled global audit events. + type: array + items: + type: number + example: + - 1234 + - 5678 + readOnly: true + max_concurrent_replications: + description: >- + Maximum number of concurrent replication connections + allowed. If set to 0 this limit will be ignored. + type: integer + default: 0 + title: Runtime-config + operationId: put__config + tags: + - Server + responses: + '200': + description: Successfully set runtime options + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + /_status: + get: + summary: Get the server status + operationId: get__status + tags: + - Server + description: >- + This will retrieve the status of each database and the overall server + status. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + responses: + '200': + description: Returned the status successfully + content: + application/json: + schema: + type: object + properties: + databases: + description: >- + Contains a map of all the databases in the node along with + their status. + type: object + additionalProperties: + x-additionalPropertiesName: dbname + description: The name of the database. + type: object + properties: + seq: + description: The latest sequence number in the database. + type: number + minimum: 0 + server_uuid: + description: The server unique identifier. + type: string + require_resync: + description: >- + Indicates whether the database requires resync + before it can be brought online. + type: boolean + state: + allOf: + - description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other + offline only endpoints are allowed. + Starting: >- + The database is in the process of going + online. + Stopping: >- + The database is no longer accepting + connections and is being taken offline or + deleted. + Resyncing: >- + The database is offline and performing a + resync operation. + replication_status: + type: array + items: + type: object + properties: + replication_id: + description: The ID of the replication. + type: string + config: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a + POST request, this will be set to a random + UUID if not explicitly set. + + + When the replication ID is specified in + the URL, this must be set to the same + replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for + the remote Sync Gateway that is the + subject of this replication's `push`, + `pull`, or `pushAndPull` action. + + + Typically this would include the URI, + port, and database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: >- + The username to use to authenticate with + the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with + the remote. This password will be redacted + in the replication config. + type: string + direction: + description: >- + This specifies which direction the + replication will be replicating with the + `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: >- + changes are pulled from the remote + database + push: >- + changes are pushed to the remote + database + pushAndPull: >- + changes are both push-to and pulled-from + the remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution + policy Sync Gateway should use to apply + when resolving conflicting revisions. + + + Changing this is an Enterprise Edition + only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions + always being the winner in any conflict. + remoteWins: >- + This will result in remote revisions + always being the winner in any conflict. + custom: >- + This will result in conflicts going + through your own custom conflict + resolver. You must provide this logic as + a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to + use to resolve conflicts between + conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This + property will be ignored when + `conflict_resolution_type` is not + `custom`. + + + The Javascript function to provide this + property should be in backticks (like the + sync function). The function takes 1 + parameter which is a struct that + represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new + document's body. This can be the winning + revision (for example, `return + conflict.LocalDocument`), a new body, or + `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` + functions can noticeably degrade + performance. Use a built-in resolver + whenever possible. + + + This is an Enterprise Edition only + feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if + the remote user loses access to all of the + channels on the document when attempting + to pull it from the remote. + + + If false, documents will not be replicated + and not be purged when the user loses + access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the + replication. In order to enable delta-sync + for a replication, the database level + setting `delta_sync.enabled` must also be + set to true. + + + Using delta-sync is an Enterprise Edition + only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in + minutes) that Sync Gateway will attempt to + reconnect to a lost or unreachable remote. + + + When a disconnection happens, Sync Gateway + will do an exponential backoff up to this + specified value. When this value is met, + it will attempt to reconnect indefinitely + every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do + the normal exponential backoff after the + disconnect happens but then attempting 10 + minutes and stop the replication. + + + Note: this defaults to 5 minutes for + replications created prior to Sync Gateway + 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the + replication in when creating a new + replication. + + + This allows you to control if the + replication starts in a `stopped` start or + `running` state. + + + Replications prior to Sync Gateway 2.8 + will run in the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: >- + The replication will immediately start + running. + stopped: >- + The replication configuration will be + created but the replication will not + start running until the user explicitly + starts it. + continuous: + description: >- + If true, changes will be immediately + synced when they happen. This is known as + a continuous replication. + + + If false, all changes will be synced until + they have been processed. The replication + will then cease and not process any future + changes (unless started again by the + user). This is known as a one-shot + replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be + limited to a specific set of channels + specified by the `query_param.channels` + property. + query_params: + description: >- + This is a set of key/value pairs used in + the query string of the replication. + + + If `filters=sync_gateway/bychannel` then + this can be used to set the channels to + filter by in a pull replication. To do + this, set the `channels` key to a string + array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an + adhoc replication instead of a persistent + one. + + + This means that the replication will only + last the period of the replication until + the status is changed to `stopped` and + then it will be removed automatically. It + will also be removed if Sync Gateway + restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one + batch of replications. Changing this is an + Enterprise Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user + to run the replication as. This means that + the replication will only be able to + replicate what the user access to what + the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with + collections, and will replicate all + collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only + replicate the default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated + to those listed in this array. + + + The replication will use all collections + defined on the database if this list is + empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the + one specified in this array when + replicating with the remote. + + + If only a subset of collections need + remapping, elements in this array can be + specified as `null` to preserve the local + collection name. + + + The same index is used for both + `collections_remote` and + `collections_local`, and both arrays must + be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to + authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to + authenticate with the remote. This + password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + status: + description: >- + This is the state that the replicator is in or + that trying to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: >- + The replication is reconnecting to the + remote database. + title: Replication Status + error_message: + description: >- + The error message of the replication if an + error has occurred. + type: string + docs_read: + description: >- + The number of documents that have been read + (fetched) from the source database. + type: integer + docs_checked_pull: + type: integer + docs_purged: + description: The number of documents that have been purged. + type: integer + rejected_by_local: + description: >- + The number of documents that were received by + the local but did not get replicated due to + getting rejected by the sync function on the + local. + type: integer + last_seq_pull: + description: >- + The last changes sequence number that was + pulled from the remote. + type: string + deltas_recv: + description: >- + The number of deltas that have been received + from the remote. + type: integer + deltas_requested: + type: integer + docs_written: + description: >- + The number of documents that have been wrote + (pushed) to the target database. + type: integer + docs_checked_push: + type: integer + doc_write_failures: + description: >- + The number of documents that have failed to be + wrote (pushed) to the target database. There + will be no attempt to try to push these docs + again. + type: integer + doc_write_conflicts: + description: The number of documents that had a conflict. + type: integer + rejected_by_remote: + description: >- + The number of documents that were received by + the remote but did not get replicated due to + getting rejected by the sync function on the + remote. + type: integer + last_seq_push: + description: >- + The last changes sequence number that was + pushed to the remote. + type: string + deltas_sent: + description: >- + The number of deltas that have been sent to + the remote. + type: integer + required: + - replication_id + title: Replication-status + cluster: + type: object + properties: + cluster_uuid: + description: The cluster unique identifier. + type: string + replication: + description: >- + Map of replication configs defined for the + cluster. + type: object + properties: + replication_id: + description: Properties of a replication + allOf: + - type: object + properties: + replication_id: + description: This is the ID of the replication. + type: string + - description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a + POST request, this will be set to a + random UUID if not explicitly set. + + + When the replication ID is specified in + the URL, this must be set to the same + replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for + the remote Sync Gateway that is the + subject of this replication's `push`, + `pull`, or `pushAndPull` action. + + + Typically this would include the URI, + port, and database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: >- + The username to use to authenticate with + the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with + the remote. This password will be + redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the + replication will be replicating with the + `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: >- + changes are pulled from the remote + database + push: >- + changes are pushed to the remote + database + pushAndPull: >- + changes are both push-to and pulled-from + the remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution + policy Sync Gateway should use to apply + when resolving conflicting revisions. + + + Changing this is an Enterprise Edition + only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions + always being the winner in any conflict. + remoteWins: >- + This will result in remote revisions + always being the winner in any conflict. + custom: >- + This will result in conflicts going + through your own custom conflict + resolver. You must provide this logic as + a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function + to use to resolve conflicts between + conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This + property will be ignored when + `conflict_resolution_type` is not + `custom`. + + + The Javascript function to provide this + property should be in backticks (like + the sync function). The function takes 1 + parameter which is a struct that + represents the conflict. This struct has + 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new + document's body. This can be the winning + revision (for example, `return + conflict.LocalDocument`), a new body, or + `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` + functions can noticeably degrade + performance. Use a built-in resolver + whenever possible. + + + This is an Enterprise Edition only + feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if + the remote user loses access to all of + the channels on the document when + attempting to pull it from the remote. + + + If false, documents will not be + replicated and not be purged when the + user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the + replication. In order to enable + delta-sync for a replication, the + database level setting + `delta_sync.enabled` must also be set to + true. + + + Using delta-sync is an Enterprise + Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in + minutes) that Sync Gateway will attempt + to reconnect to a lost or unreachable + remote. + + + When a disconnection happens, Sync + Gateway will do an exponential backoff + up to this specified value. When this + value is met, it will attempt to + reconnect indefinitely every + `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will + do the normal exponential backoff after + the disconnect happens but then + attempting 10 minutes and stop the + replication. + + + Note: this defaults to 5 minutes for + replications created prior to Sync + Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the + replication in when creating a new + replication. + + + This allows you to control if the + replication starts in a `stopped` start + or `running` state. + + + Replications prior to Sync Gateway 2.8 + will run in the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: >- + The replication will immediately start + running. + stopped: >- + The replication configuration will be + created but the replication will not + start running until the user explicitly + starts it. + continuous: + description: >- + If true, changes will be immediately + synced when they happen. This is known + as a continuous replication. + + + If false, all changes will be synced + until they have been processed. The + replication will then cease and not + process any future changes (unless + started again by the user). This is + known as a one-shot replication. + type: boolean + default: false + filter: + description: >- + This defines whether to filter + documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be + limited to a specific set of channels + specified by the `query_param.channels` + property. + query_params: + description: >- + This is a set of key/value pairs used in + the query string of the replication. + + + If `filters=sync_gateway/bychannel` then + this can be used to set the channels to + filter by in a pull replication. To do + this, set the `channels` key to a string + array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an + adhoc replication instead of a + persistent one. + + + This means that the replication will + only last the period of the replication + until the status is changed to `stopped` + and then it will be removed + automatically. It will also be removed + if Sync Gateway restarts or if removed + due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one + batch of replications. Changing this is + an Enterprise Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a + user to run the replication as. This + means that the replication will only be + able to replicate what the user access + to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with + collections, and will replicate all + collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only + replicate the default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated + to those listed in this array. + + + The replication will use all collections + defined on the database if this list is + empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the + one specified in this array when + replicating with the remote. + + + If only a subset of collections need + remapping, elements in this array can be + specified as `null` to preserve the + local collection name. + + + The same index is used for both + `collections_remote` and + `collections_local`, and both arrays + must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to + authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to + authenticate with the remote. This + password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + - type: object + properties: + assigned_node: + description: >- + The unique ID of the node assigned to + the replication. + type: string + target_state: + description: >- + This is the state that the replicator is + in or that trying to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: >- + The replication is stopped due to an + error. + starting: The replication is starting up. + reconnecting: >- + The replication is reconnecting to the + remote database. + title: Replication Status + cluster_uuid: + description: The cluster unique identifier. + type: string + title: Replication + nodes: + description: Map of all Sync Gateway nodes in the cluster. + type: object + properties: + node_uuid: + description: The nodes unique identifier. + type: object + properties: + uuid: + description: The nodes unique identifier. + type: string + host: + description: The nodes host name. + type: string + version: + description: >- + The product version including the build number and edition + (ie. `EE` or `CE`). + + + Blank if `api.hide_product_version=true` in the startup + configuration. + type: string + vendor: + allOf: + - description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + title: Status + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + /_sgcollect_info: + get: + summary: Get the status of the Sync Gateway Collect Info + operationId: get__sgcollect_info + tags: + - Server + description: >- + This will return the status of whether Sync Gateway Collect Info + (sgcollect_info) is currently running or not. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + responses: + '200': + description: Returned sgcollect_info status + content: + application/json: + schema: + type: object + properties: + status: + description: The status of sgcollect_info. + type: string + enum: + - stopped + - running + required: + - status + post: + summary: Start Sync Gateway Collect Info + description: >- + This endpoint is used to start a Sync Gateway Collect Info + (sgcollect_info) job so that Sync Gateway diagnostic data can be + outputted to a file. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + requestBody: + description: sgcollect_info options + content: + application/json: + schema: + type: object + properties: + redact_level: + description: The redaction level to use for redacting the collected logs. + type: string + default: partial + enum: + - partial + - none + redact_salt: + description: The salt to use for the log redactions. + type: string + output_dir: + description: >- + The directory to output the collected logs zip file at. + + + This overrides the configured default output directory + configured in the startup config `logging.log_file_path`. + type: string + default: >- + The configured path set in the startup config + `logging.log_file_path` + upload: + description: |- + If set, upload the logs to Couchbase Support. + + A customer name must be set if this is set. + type: boolean + upload_host: + description: The host to send the logs too. + type: string + default: 'https://uploads.couchbase.com' + upload_proxy: + description: The proxy to use while uploading the logs. + type: string + customer: + description: The customer name to use when uploading the logs. + type: string + ticket: + description: The Zendesk ticket number to use when uploading logs. + type: string + maxLength: 7 + minLength: 1 + operationId: post__sgcollect_info + tags: + - Server + responses: + '200': + description: Successfully started sgcollect_info + content: + application/json: + schema: + type: object + properties: + status: + description: The new sgcollect_info status. + type: string + default: started + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '500': + description: An error occurred while trying to run sgcollect_info + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + delete: + summary: Cancel the Sync Gateway Collect Info job + operationId: delete__sgcollect_info + tags: + - Server + description: >- + This endpoint is used to cancel a current Sync Gateway Collect Info + (sgcollect_info) job that is running. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + responses: + '200': + description: Job cancelled successfully + content: + application/json: + schema: + type: object + properties: + status: + description: The new status of sgcollect_info. + type: string + default: cancelled + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + /_debug/pprof/goroutine: + get: + summary: Get goroutine profile + operationId: get__debug-pprof-goroutine + tags: + - Profiling + description: |- + Stack traces of all current goroutines. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + description: >- + If set, collect a delta profile for the given duration, instead of a + snapshot. + schema: + type: integer + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + post: + summary: Get goroutine profile + operationId: post__debug-pprof-goroutine + tags: + - Profiling + description: |- + Stack traces of all current goroutines. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + description: >- + If set, collect a delta profile for the given duration, instead of a + snapshot. + schema: + type: integer + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + /_debug/pprof/cmdline: + get: + summary: Get passed in command line parameters + operationId: get__debug-pprof-cmdline + tags: + - Profiling + description: >- + Gets the command line parameters that was passed in to Sync Gateway + which will include the binary, flags (if any) and startup configuration. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + responses: + '200': + description: OK + content: + text/plain: + schema: + type: string + post: + summary: Get passed in command line parameters + operationId: post__debug-pprof-cmdline + tags: + - Profiling + description: >- + Gets the command line parameters that was passed in to Sync Gateway + which will include the binary, flags (if any) and startup configuration. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + responses: + '200': + description: OK + content: + text/plain: + schema: + type: string + /_debug/pprof/symbol: + get: + summary: Get symbol pprof debug information + operationId: get__debug-pprof-symbol + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + responses: + '200': + description: OK + content: + text/plain: + schema: + type: string + post: + summary: Get symbol pprof debug information + operationId: post__debug-pprof-symbol + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + responses: + '200': + description: OK + content: + text/plain: + schema: + type: string + /_debug/pprof/heap: + get: + summary: Get the heap pprof debug file + operationId: get__debug-pprof-heap + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + description: >- + If set, collect a delta profile for the given duration, instead of a + snapshot. + schema: + type: integer + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + post: + summary: Get the heap pprof debug file + operationId: post__debug-pprof-heap + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + description: >- + If set, collect a delta profile for the given duration, instead of a + snapshot. + schema: + type: integer + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + /_debug/pprof/profile: + get: + summary: Get the profile pprof debug file + operationId: get__debug-pprof-profile + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + description: >- + If set, collect a delta profile for the given duration, instead of a + snapshot. + schema: + type: integer + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + post: + summary: Get the profile pprof debug file + operationId: post__debug-pprof-profile + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + description: >- + If set, collect a delta profile for the given duration, instead of a + snapshot. + schema: + type: integer + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + /_debug/pprof/block: + get: + summary: Get block profile + operationId: get__debug-pprof-block + tags: + - Profiling + description: |- + Returns stack traces that led to blocking on synchronization primitives. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + required: false + schema: + type: integer + default: 30 + minimum: 0 + description: The amount of seconds to run the profiler for. + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + '403': + description: Forbidden + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: forbidden + reason: Can only run one mutex profile at a time + post: + summary: Get block profile + operationId: post__debug-pprof-block + tags: + - Profiling + description: |- + Returns stack traces that led to blocking on synchronization primitives. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + required: false + schema: + type: integer + default: 30 + minimum: 0 + description: The amount of seconds to run the profiler for. + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + '403': + description: Forbidden + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: forbidden + reason: Can only run one mutex profile at a time + /_debug/pprof/threadcreate: + get: + summary: Get the threadcreate pprof debug file + operationId: get__debug-pprof-threadcreate + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + post: + summary: Get the threadcreate pprof debug file + operationId: post__debug-pprof-threadcreate + tags: + - Profiling + description: |- + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + /_debug/pprof/mutex: + get: + summary: Get mutex profile + operationId: get__debug-pprof-mutex + tags: + - Profiling + description: |- + Returns stack traces of holders of contended mutexes. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + required: false + schema: + type: integer + default: 30 + minimum: 0 + description: The amount of seconds to run the profiler for. + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + '403': + description: Forbidden + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: forbidden + reason: Can only run one mutex profile at a time + post: + summary: Get mutex profile + operationId: post__debug-pprof-mutex + tags: + - Profiling + description: |- + Returns stack traces of holders of contended mutexes. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + required: false + schema: + type: integer + default: 30 + minimum: 0 + description: The amount of seconds to run the profiler for. + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + '403': + description: Forbidden + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: forbidden + reason: Can only run one mutex profile at a time + /_debug/pprof/trace: + get: + summary: Get trace profile + operationId: get__debug-pprof-trace + tags: + - Profiling + description: |- + Responds with the execution trace in binary form. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + schema: + type: integer + default: 1 + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + post: + summary: Get trace profile + operationId: post__debug-pprof-trace + tags: + - Profiling + description: |- + Responds with the execution trace in binary form. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + schema: + type: integer + default: 1 + responses: + '200': + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + /_debug/fgprof: + get: + summary: Get fgprof profile + operationId: get__debug-fgprof + tags: + - Profiling + description: >- + A sampling Go profiler that allows you to analyze On-CPU as well as + [Off-CPU](https://www.brendangregg.com/offcpuanalysis.html) (e.g. I/O) + time together. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + required: false + schema: + type: integer + default: 30 + minimum: 0 + description: The amount of seconds to run the profiler for. + responses: + '200': + description: OK + content: + application/x-gzip: + schema: + type: string + post: + summary: Get fgprof profile + operationId: post__debug-fgprof + tags: + - Profiling + description: >- + A sampling Go profiler that allows you to analyze On-CPU as well as + [Off-CPU](https://www.brendangregg.com/offcpuanalysis.html) (e.g. I/O) + time together. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + parameters: + - name: seconds + in: query + required: false + schema: + type: integer + default: 30 + minimum: 0 + description: The amount of seconds to run the profiler for. + responses: + '200': + description: OK + content: + application/x-gzip: + schema: + type: string + /_post_upgrade: + post: + summary: Run the post upgrade process on all databases + operationId: post__post_upgrade + tags: + - Server + description: >- + The post upgrade process involves removing obsolete design documents and + indexes when they are no longer needed. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + parameters: + - name: preview + in: query + description: 'If set, a dry-run will be done to return what would be removed.' + schema: + type: boolean + default: false + responses: + '200': + description: Returned results + content: + application/json: + schema: + type: object + properties: + post_upgrade_results: + description: A map of databases. + type: object + additionalProperties: + x-additionalPropertiesName: db + description: The name of the database that was targetted. + type: object + properties: + removed_design_docs: + description: The design documents that have or will be removed. + type: array + items: + type: string + removed_indexes: + description: The indexes that have or will be removed. + type: array + items: + type: string + example: + - '`_default`.`_default`.syncDocs_x1`' + - '`scope`.`collection1`.sg_allDocs_1' + required: + - removed_design_docs + - removed_indexes + preview: + description: >- + If set, nothing in the database was changed as this was a + dry-run. This can be controlled by the `preview` query + parameter in the request. + type: boolean + required: + - post_upgrade_results + '/{db}/_config': + get: + summary: Get database configuration + operationId: get_db-_config + tags: + - Database Configuration + description: |- + Retrieve the full configuration for the database specified. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + parameters: + - name: redact + in: query + deprecated: true + required: false + schema: + type: boolean + default: true + description: No longer supported field. + - name: include_javascript + in: query + description: >- + Include the fields that have Javascript functions in the response. + E.g. sync function, import filter, and event handlers. + schema: + type: boolean + default: true + - name: include_runtime + in: query + required: false + schema: + type: boolean + default: false + description: 'Whether to include the values set at runtime, and default values.' + - name: refresh_config + in: query + description: Forces the configuration to be reloaded on the Sync Gateway node. + schema: + type: boolean + default: false + responses: + '200': + description: Successfully retrieved database configuration + headers: + Etag: + schema: + type: string + description: >- + The database configuration version. Use with If-Match for + optimistic concurrency control. + content: + application/json: + schema: + description: The properties of a database configuration. + type: object + properties: + server: + description: >- + This is the Couchbase Server address or addresses that the + database connect to. + type: string + pool: + description: This field is unsupported and ignored. + type: string + default: default + deprecated: true + bucket: + description: The Couchbase Server backing bucket for the database. + type: string + default: The database name + username: + description: The username for authenticating to the server. + type: string + password: + description: The password for authenticating to the server. + type: string + certpath: + description: The cert path (public key) for X.509 bucket auth. + type: string + keypath: + description: The key path (private key) for X.509 bucket auth + type: string + cacertpath: + description: The root CA cert path for X.509 bucket authentication. + type: string + kv_tls_port: + description: The Memcached TLS port. + type: integer + default: 11207 + max_concurrent_query_ops: + description: >- + The maximum amount of query operations that can be running + at any one point. + type: integer + default: 1000 + scopes: + description: >- + An object keyed by scope name containing config for the + specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: Scope-specific configuration. + type: object + properties: + collections: + description: >- + An object keyed by collection name containing config + for the specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + description: Collection-specific configuration. + type: object + properties: + sync: + description: >- + The Javascript function that newly created + documents in this collection are ran through. + type: string + example: 'function(doc){channel("collection name");}' + import_filter: + description: >- + This is the function that all imported + documents in this collection are ran through + in order to filter out what to import and what + not to import. This allows you to control what + is made available to Couchbase Mobile clients. + If it is not set, then no documents are + filtered when imported. + + + `import_docs` in the database config must be + true to make this field applicable. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { + return false; } return true; } + title: Collection config + title: Scopes + maxProperties: 1 + example: + scopename: + collections: + collectionname1: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + collectionname2: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + name: + description: The name of the database. + type: string + sync: + description: >- + The Javascript function that newly created documents are + ran through for the default scope and collection. + + If `scopes` parameter is set, this is ignored. + type: string + default: 'function(doc){channel(doc.channels);}' + users: + additionalProperties: + x-additionalPropertiesName: username + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII + characters and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` + in the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user + for the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access + to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user + under the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access + to through channels_claim for the default + collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user + last used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels + were updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines + access collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to + the user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: User + roles: + additionalProperties: + x-additionalPropertiesName: rolename + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII + characters and underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role + for the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted + access to for the default collection. + + + These channels could have been assigned by the Sync + function or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines + access collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to + the user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + revs_limit: + description: >- + The maximum depth a document's revision tree can grow too. + + + The minimum is `20` if conflicts are allowed and 0 if not. + It is not recommended to go below `100` when conflicts are + allowed. The default is `100` if conflicts are allowed and + `50` if not. + type: number + default: 50 + minimum: 0 + import_docs: + description: >- + If true, documents will be imported in to Sync Gateway + from the bucket in the background. Documents will be ran + through the set `import_filter` if any is set. + + + The default value depends on the edition of Sync Gateway + being used. If the edition is the Community Edition, then + this will default to `false` or else in the Enterprise + Edition, it will default to `true`. This value requires + `enable_shared_bucket_access=true`. + + + This can also be set to the string `continuous` which maps + to true. + type: boolean + import_partitions: + description: >- + ** This is an Enterprise Edition feature only** + + + This is how many import partitions should be used for + import sharding. + + + Partitions are distributed among all Sync Gateway nodes + participating in import processing (`import_docs=true`), + and each process a subset of the server's vbuckets. + + + Each partition is processed by an independent function + that runs simultaneously to others, so `import_partitions` + can be used to tune concurrency based on the number of + Sync Gateway nodes, and the number of cores per node. + type: number + default: 16 + minimum: 1 + maximum: 1024 + import_filter: + description: >- + This is the function that all imported documents in the + default scope and collection are ran through in order to + filter out what to import and what not to import. This + allows you to control what is made available to Couchbase + Mobile clients. If it is not set, then no documents are + filtered when imported. + + + `import_docs` must be true to make this field applicable. + + + If `scopes` parameter is set, this is ignored. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return false; + } return true; } + import_backup_old_rev: + description: >- + This controls whether import should attempt to create a + temporary backup of the previous revision body (if + available) when the document is modified in the bucket. + type: boolean + default: false + event_handlers: + description: These are the settings for webhooks. + type: object + properties: + max_processes: + description: >- + The maximum amount of concurrent event handling + independent functions that can be running at the same + time. + type: string + wait_for_process: + description: >- + The maximum amount of time (in milliseconds) to wait + when the even queue is full. + type: string + document_changed: + allOf: + - type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the + webhook events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt + connect to the webhook before giving up. + type: number + title: Event-config + - type: object + properties: + options: + description: Options for the document changed event. + type: object + properties: + winning_rev_only: + description: >- + If true, only the winning revision of the + document will be sent to the webhook. + type: boolean + default: false + db_state_changed: + type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the + webhook events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt connect + to the webhook before giving up. + type: number + title: Event-config + feed_type: + description: >- + The type of feed to use to communicate with Couchbase + Server. This will use DCP regardless of specification. + type: string + default: DCP + enum: + - DCP + deprecated: true + allow_empty_password: + description: >- + This controls whether users that are created can have an + empty password or not. + type: boolean + default: false + cache: + type: object + properties: + rev_cache: + description: The revision cache config settings. + type: object + properties: + size: + description: >- + The maximum number of revisions that can be stored + in the revision cache. + + Note when running with greater than 1 shard count + we add 10% capacity overall to avoid early + eviction when some shards fill up before others, + so + + you may find that the capacity stat + (revision_cache_num_items) will climb to the + defined rev cache size + 10%. + type: integer + default: 5000 + max_memory_count_mb: + description: >- + The maximum amount of memory the revision cache + should take up in MB, setting to 0 will disable + any eviction based on memory at rev cache. + + There is a minimum value of 50 (50MB) for this + config option. + + When set this memory limit will work in in hand + with revision cache size parameter. So you will + potentially get eviction at revision cache both + based off memory footprint and number of items in + the cache. + + **This is an Enterprise Edition feature only** + type: integer + default: 0 + shard_count: + description: >- + The number of shards the revision cache should be + split into. + type: integer + default: 16 + channel_cache: + description: The channel cache config settings. + type: object + properties: + max_number: + description: >- + The maximum number of channel caches which can + exist at any one point. + type: integer + default: 50000 + compact_high_watermark_pct: + description: >- + The trigger value for starting the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number`, + reaches the high watermark, the eviction process + iterates through the cache, removing inactive + channels. + type: integer + default: 80 + compact_low_watermark_pct: + description: >- + The trigger value for stopping the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number` + returns to a value lower than the percentage of it + set here, the cache eviction process is stopped. + type: integer + default: 60 + max_wait_pending: + description: >- + The maximum time (in milliseconds) for waiting for + a pending sequence before skipping it. + type: number + default: 5000 + max_num_pending: + description: >- + The maximum number of pending sequences before + skipping sequences. + type: integer + default: 10000 + max_wait_skipped: + description: >- + The maximum amount of time (in milliseconds) to + wait for a skipped sequence before abandoning it. + type: number + default: 3600000 + enable_star_channel: + description: >- + Used to control whether Sync Gateway should use + the all documents (*) channel. + type: boolean + default: true + max_length: + description: >- + The maximum number of entries to maintain in the + cache per channel. + type: integer + default: 500 + min_length: + description: >- + The minimum number of entries to maintain in the + cache per channel. + type: integer + default: 50 + expiry_seconds: + description: >- + The amount of time (in seconds) to keep entries in + the cache beyond the minimum retained. + type: integer + default: 60 + query_limit: + description: >- + **Deprecated in favour of the database setting + `query_pagination_limit`** + + + The limit used for channel queries. + type: integer + default: 5000 + deprecated: true + max_wait_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_pending` instead** + + + The maximum time (in milliseconds) for waiting for a + pending sequence before skipping it. + type: number + deprecated: true + max_wait_skipped: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_skipped` instead** + + + The maximum time (in milliseconds) for waiting for + pending sequences before skipping. + type: number + deprecated: true + enable_star_channel: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.enable_star_channel` instead** + + + Used to control whether Sync Gateway should use the + all documents (*) channel. + type: boolean + deprecated: true + channel_cache_max_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_length` instead** + + + The maximum number of entries maintained in cache per + channel. + type: number + deprecated: true + channel_cache_min_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.min_length` instead** + + + The minimum number of entries maintained in cache per + channel. + type: integer + deprecated: true + channel_cache_expiry: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.expiry_seconds` instead** + + + The time (seconds) to keep entries in cache beyond the + minimum retained. + type: integer + deprecated: true + max_num_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_num_pending` instead** + + + The max number of pending sequences before skipping. + type: integer + deprecated: true + rev_cache_size: + description: >- + **Deprecated, please use the database setting + `cache.rev_cache.size` instead** + + + The maximum number of revisions to store in the revision + cache. + type: number + deprecated: true + offline: + description: Start the database in an offline state. + type: boolean + default: false + unsupported: + description: >- + These are unsupported options and therefore it is not + recommended to use them. + type: object + properties: + user_views: + type: object + properties: + enabled: + description: >- + Whether pass-through view query is supported + through public API. + type: boolean + oidc_test_provider: + type: object + properties: + enabled: + description: >- + Whether the `oidc_test_provider` endpoints should + be exposed on the public API. + type: boolean + api_endpoints: + type: object + properties: + enable_couchbase_bucket_flush: + description: >- + **Setting for test purposes only** + + + Whether Couchbase buckets can be flushed via Admin + REST API. + type: boolean + warning_thresholds: + type: object + properties: + xattr_size_bytes: + description: >- + The number of bytes to be used as a threshold for + xattr size limit warnings. + type: number + channels_per_doc: + description: >- + The number of channels per document to be used as + a threshold for the channel count warnings. + type: number + access_and_role_grants_per_doc: + description: >- + The number of access and role grants per document + to be used as a threshold for grant count + warnings. + type: number + channels_per_user: + description: >- + The number of channels per user to be used as a + threshold for channel count warnings. + type: number + channel_name_size: + description: >- + The number of channel name characters to be used + as a threshold for channel name warnings. + type: number + oidc_tls_skip_verify: + description: Enable self-signed certificates for OIDC testing. + type: boolean + same_site_cookie: + description: >- + Override the session cookie SameSite behavior. By + default, a session cookie will have SameSite:None if + CORS is enabled, and will have no SameSite attribute + if CORS is not enabled. Setting this property + to`Default` will omit the SameSite attribute from the + cookie. + type: string + enum: + - Default + - Lax + - None + - Strict + sgr_tls_skip_verify: + description: >- + Enable self-signed certificates for SG-replicate + testing. + type: boolean + remote_config_tls_skip_verify: + description: >- + Enable self-signed certificates for external + JavaScript load. + type: boolean + guest_read_only: + description: Restrict GUEST document access to read-only. + type: boolean + force_api_forbidden_errors: + description: Force REST API errors to return forbidden + type: boolean + dcp_read_buffer: + description: Set the dcp feed to use a different read buffer size. + type: number + kv_buffer: + description: Set the kv pool to use a different buffer size. + type: number + local_jwt: + description: Configuration for Local JWT authentication. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + required: + - issuer + - client_id + - algorithms + - keys + properties: + issuer: + description: The value to match against the "iss" claim of JWTs. + type: string + register: + description: >- + If to register a new Sync Gateway user account when + a user logs in with a JWT. + type: boolean + client_id: + description: >- + The value to match against the "aud" claim of JWTs. + Set to an empty string to disable audience + validation. + type: string + algorithms: + description: >- + The JWT signing algorithms to accept for + authentication. + type: array + items: + type: string + keys: + description: The JSON Web Keys to use to validate JWTs. + type: array + items: + type: object + properties: + kty: + type: string + description: >- + The cryptographic algorithm family used with + the key, such as "RSA" or "EC" + enum: + - RSA + - EC + use: + type: string + description: >- + The intended use of the public key. Only 'sig' + is accepted. + enum: + - sig + alg: + type: string + description: The algorithm intended for use with the key. + kid: + type: string + description: 'The Key ID, used to identify the key to use.' + crv: + type: string + description: >- + For Elliptic Curve keys, the name of the curve + to use. + enum: + - P-256 + - P-384 + - P-521 + x: + type: string + description: >- + For Elliptic Curve keys, the X coordinate of + the point, as a base64url string. + 'y': + type: string + description: >- + For Elliptic Curve keys, the Y coordinate of + the point, as a base64url string. + 'n': + type: string + description: >- + For RSA keys, the modulus value of the key, as + a Base64urlUInt-encoded value. + e: + type: string + description: >- + For RSA keys, the exponent of the public key, + as a Base64urlUInt-encoded value. + disable_session: + description: >- + Disable Sync Gateway session creation on successful + JWT authentication. + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created + through this provider. + type: string + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given JSON Web Token + claim will be added to the user's roles. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given JSON Web Token + claim will be added to the user's channels. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + oidc: + description: Configuration for OpenID Connect authentication. + type: object + properties: + providers: + description: List of OpenID Connect issuers. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + properties: + issuer: + description: The URL for the OpenID Connect issuer. + type: string + register: + description: >- + If to register a new Sync Gateway user account + when a user logs in with OpenID Connect. + type: boolean + client_id: + description: The OpenID Connect provider client ID. + type: string + validation_key: + description: The OpenID Connect provider client secret. + type: string + callback_url: + description: >- + The URL that the OpenID Connect will redirect to + after authentication. + + + If not provided, a callback URL will be + generated. + type: string + disable_session: + description: >- + Disable Sync Gateway session creation on + successful OpenID Connect authentication. + type: boolean + scope: + description: The scope sent for the OpenID Connect request. + type: array + items: + type: string + include_access: + description: >- + This is whether the `_oidc_callback` response + should include the OpenID Connect access token + and associated fields (such as `token_type`, and + `expires_in`). + type: boolean + user_prefix: + description: >- + This is the username prefix for all users + created through this provider. + type: string + discovery_url: + description: The non-standard discovery endpoint. + type: string + disable_cfg_validation: + description: >- + This bypasses the configuration validation based + on the OpenID Connect specifications. This may + be required for some OpenID providers that don't + strictly adhere to the specifications. + type: boolean + default: false + disable_callback_state: + description: >- + Controls whether to maintain state between the + auth request and callback endpoints (`/_oidc` + and `/_oidc_callback`). + + + **This is not recommended as it would cause + OpenID Connect authentication to be vulnerable + to Cross-Site Request Forgery (CSRF, XSRF).** + type: boolean + default: false + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's roles. + + + The value of this claim must be either a string + or an array of strings, any other type will + result in an error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's channels. + + + The value of this claim must be either a string + or an array of strings, any other type will + result in an error. + type: string + allow_unsigned_provider_tokens: + description: >- + Allows users accept unsigned tokens from + providers. + type: boolean + IsDefault: + description: >- + Indicates if this is the default OpenID Connect + provider. + type: boolean + Name: + description: The name of the OpenID Connect Provider. + type: string + InsecureSkipVerify: + description: >- + Determines whether the TLS certificate + verification should be disabled for this + provider. + type: boolean + default: false + default_provider: + description: >- + The default provider to use when the provider is not + specified in the client. + type: string + old_rev_expiry_seconds: + description: >- + The number of seconds before old revisions are removed + from the Couchbase Server bucket. + type: number + default: 300 + view_query_timeout_secs: + description: The number of seconds before a view query should timeout. + type: integer + default: 75 + local_doc_expiry_secs: + description: >- + The number of seconds before a `_local` document should + expire. + type: integer + default: 7776000 + enable_shared_bucket_access: + description: >- + Whether to use extended attributes to store Sync Gateway + document (`_sync`) metadata. + type: boolean + default: true + deprecated: true + session_cookie_secure: + description: >- + Override the session cookie `secure` flag. If set, the + cookie will have the `secure` flag. + + + This will default to `true` if startup config + `api.https.tls_cert_path` is set otherwise it will default + to `false`. + type: boolean + session_cookie_name: + description: >- + This can be used to define a custom per-database session + cookie name. + type: string + session_cookie_http_only: + description: >- + Make all session cookies for the database set the + `HttpOnly` flag so they are inaccessible to JavaScript. + type: boolean + default: false + allow_conflicts: + description: >- + This controls whether to allow conflicting document + revisions. This option is going to be removed from sync + gateway, and conflicts will not be allowed. + type: boolean + default: false + deprecated: true + num_index_replicas: + description: >- + **Deprecated, please use the database setting + `index.num_replicas` instead** + deprecated: true + type: number + default: 1 + index: + description: Global Secondary Index Settings + properties: + num_partitions: + description: >- + The number of partitions to use for the large indexes + created by Sync Gateway. It is not recommended to set + this unless you require additional horizontal + scalability for individual indexes and have + appropriately scaled your Query nodes to handle the + increased query parallelism. If set, the recommended + number is 8 and does not need to be directly related + to the number of your Query nodes. Ensure + documentation is read to understand the performance + tradeoffs and instructions for migration if you have + previously run with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) + for more information. + + + If not specified or 1, all indexes will be non + partitioned. + type: number + default: 1 + title: Number of Index Partitions + num_replicas: + description: >- + This is the number of Global Secondary Indexes (GSI) + to use for core indexes. + type: number + default: 1 + use_views: + description: Force the use of views instead of GSI. + type: boolean + default: false + send_www_authenticate_header: + description: >- + Controls whether to send a `WWW-Authenticate` header in + `401 Unauthorized` HTTP responses. + type: boolean + default: true + disable_password_auth: + description: >- + Whether to disable username/password authentication and + only allow OIDC and guest access. + type: boolean + default: false + bucket_op_timeout_ms: + description: >- + This is the amount of milliseconds should pass before a + bucket operation times out. An error will be returned if + the bucket operation times out saying: `operation timed + out`. + type: number + slow_query_warning_threshold: + description: >- + The amount of milliseconds a N1QL query should run before + logging a warning. + type: number + default: 500 + delta_sync: + description: |- + Delta sync configuration settings. + + **This is an Enterprise Edition feature only** + type: object + properties: + enabled: + description: |- + Whether delta sync is enabled. + + **This is an Enterprise Edition feature only** + type: boolean + default: false + rev_max_age_seconds: + description: >- + The number of seconds deltas for old revisions are + available for. + + + This defaults to 24 hours (in seconds). + type: number + default: 86400 + compact_interval_days: + description: >- + The interval between scheduled tombstone compaction runs + (in days). This can be a floating point number. + + + If set to 0, compaction will not run automatically. + type: number + default: 1 + sgreplicate_enabled: + description: >- + Whether the node should accept assign replications + (`true`) or not (`false`). + type: boolean + default: true + sgreplicate_websocket_heartbeat_secs: + description: >- + Use a custom heartbeat interval (in seconds) for websocket + ping frames. + type: integer + default: 300 + replications: + type: object + properties: + replication_id: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if not + explicitly set. + + + When the replication ID is specified in the URL, + this must be set to the same replication ID if + specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the + remote Sync Gateway that is the subject of this + replication's `push`, `pull`, or `pushAndPull` + action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: >- + The username to use to authenticate with the + remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + direction: + description: >- + This specifies which direction the replication + will be replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving + conflicting revisions. + + + Changing this is an Enterprise Edition only + feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being + the winner in any conflict. + remoteWins: >- + This will result in remote revisions always + being the winner in any conflict. + custom: >- + This will result in conflicts going through your + own custom conflict resolver. You must provide + this logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property + will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). + The function takes 1 parameter which is a struct + that represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's + body. This can be the winning revision (for + example, `return conflict.LocalDocument`), a new + body, or `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions + can noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the + remote user loses access to all of the channels on + the document when attempting to pull it from the + remote. + + + If false, documents will not be replicated and not + be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. + In order to enable delta-sync for a replication, + the database level setting `delta_sync.enabled` + must also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) + that Sync Gateway will attempt to reconnect to a + lost or unreachable remote. + + + When a disconnection happens, Sync Gateway will do + an exponential backoff up to this specified value. + When this value is met, it will attempt to + reconnect indefinitely every `max_backoff_time` + minutes. + + + If this is set to 0, Sync Gateway will do the + normal exponential backoff after the disconnect + happens but then attempting 10 minutes and stop + the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in + when creating a new replication. + + + This allows you to control if the replication + starts in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in + the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created + but the replication will not start running until + the user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when + they happen. This is known as a continuous + replication. + + + If false, all changes will be synced until they + have been processed. The replication will then + cease and not process any future changes (unless + started again by the user). This is known as a + one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can + be used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to + a string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is + changed to `stopped` and then it will be removed + automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise + Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run + the replication as. This means that the + replication will only be able to replicate what + the user access to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, + and will replicate all collections, unless + otherwise limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined + on the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with the + remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` + to preserve the local collection name. + + + The same index is used for both + `collections_remote` and `collections_local`, and + both arrays must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with + the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with + the remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + serve_insecure_attachment_types: + description: > + If set, always serve attachments with the `Content-Type` + header set to the type of the attachment. + + + When serving an attachment, usually the `Content-Type` + header is set to the type of the attachment but the + `Content-Disposition` response header will be set instead + if the content type is vulnerable to a phishing attack, + causing the browser to download the file instead of + display it. This option will override that behaviour and + always set the `Content-Type` header. + type: boolean + default: false + query_pagination_limit: + description: >- + The query limit to be used during pagination of large + queries. + type: integer + default: 5000 + user_xattr_key: + description: >- + The key to use for the user xattr that will be accessible + from the sync function. If empty, the feature will be + disabled. + + + This is an Enterprise Edition feature only. + type: string + maximum: 15 + client_partition_window_secs: + description: >- + How long (in seconds) clients can remain offline for + without losing replication metadata. + + + Defaults to 30 days (in seconds) + type: integer + default: 2592000 + guest: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters + and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in + the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access + to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user under + the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user + last used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: User + javascript_timeout_secs: + description: >- + The maximum number of seconds the sync, import filter, and + custom conflict resolver JavaScript functions are allowed + to run for before timing out. Set to 0 to allow the JS + functions to run uncapped. + type: number + default: 60 + suspendable: + description: >- + Set to true to allow the database to be suspended. + + + Defaults to true when running in serverless mode otherwise + defaults to false. + type: boolean + default: false + changes_request_plus: + type: boolean + default: false + description: >- + Sets the default value of `request_plus` for + one-shot/non-continuous changes feeds, which when true, + ensures all valid documents written prior to the request + being issued are included in the response. Setting this + option at the database level is required to ensure + Couchbase Lite utilizes this changes feed mode. + + + This also sets the default value of query param + `request_plus` for [GET + /{keyspace}/_changes](#operation/get_keyspace-_changes) or + `request_plus` for [POST + /{keyspace}/_changes](#operation/post_keyspace-_changes). + cors: + allOf: + - type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be + added the `Access-Control-Allow-Headers` response + to a valid CORS request. + + + A recommended minimum set of values should be + `["Accept-Encoding", "Authorization", + "Content-Type", "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public + `/{db}/_session` API. + + + To use cors on `/{db}/_session`, the domain must + be present in both `login_origin` and `origin`. + + + If configured, `Authorization` must be included in + headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: >- + Value for `Access-Control-Maximum-Age`. Uses 0 by + default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. The + request `Origin` header is checked against these + values. If successful the `Origin` header is + returned in the HTTP response header as + `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + - type: object + description: >- + CORS configuration for this database; if present, + overrides server's config. + logging: + description: Per-database logging configuration. + type: object + properties: + console: + description: Console logging configuration. + type: object + properties: + log_level: + description: Log Level for the console output + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + example: debug + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + example: + - CRUD + - HTTP + - Query + audit: + description: Audit logging configuration. + type: object + properties: + enabled: + description: Whether audit logging is enabled. + type: boolean + default: false + enabled_events: + description: List of enabled audit events for this database. + type: array + items: + type: number + example: + - 1234 + - 5678 + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the user for which audit + logging is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + type: string + enum: + - cbs + - sgw + name: + description: >- + The name of the user for which audit logging + is disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit + logging is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging + is disabled. + type: string + disable_public_all_docs: + description: >- + This controls whether the [GET + /{keyspace}/_all_docs](#operation/get_keyspace-_all_docs) + REST API endpoint is publicly accessible or not. + + Disabling this endpoint is recommended for larger datasets + or production workloads. + + [GET + /{keyspace}/_changes](#operation/get_keyspace-_changes) or + [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) + have more efficient implementations and should be used + instead. + + + If set to `true`, the endpoint will not be publicly + accessible, and will only be available on the Admin API. + + Setting this to `false`, or leaving it as the default + value is deprecated, and may default to `true` in a future + release. + type: boolean + default: false + title: Database-config + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Replace database configuration + operationId: put_db-_config + tags: + - Database Configuration + description: >- + Replaces the database configuration with the one sent in the request. + + + The bucket and database name cannot be changed. If these need to be + changed, the database will need to be deleted then recreated with the + new settings. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application (sync function only) + parameters: + - name: If-Match + in: header + required: false + schema: + type: string + description: >- + If set to a configuration's Etag value, enables optimistic + concurrency control for the request. Returns HTTP 412 if another + update happened underneath this one. + - name: disable_oidc_validation + in: query + required: false + description: >- + If set, will not attempt to validate the configured OpenID Connect + providers are reachable. + schema: + type: boolean + default: false + requestBody: + description: The new database configuration to use + content: + application/json: + schema: + description: The properties of a database configuration. + type: object + properties: + server: + description: >- + This is the Couchbase Server address or addresses that the + database connect to. + type: string + pool: + description: This field is unsupported and ignored. + type: string + default: default + deprecated: true + bucket: + description: The Couchbase Server backing bucket for the database. + type: string + default: The database name + username: + description: The username for authenticating to the server. + type: string + password: + description: The password for authenticating to the server. + type: string + certpath: + description: The cert path (public key) for X.509 bucket auth. + type: string + keypath: + description: The key path (private key) for X.509 bucket auth + type: string + cacertpath: + description: The root CA cert path for X.509 bucket authentication. + type: string + kv_tls_port: + description: The Memcached TLS port. + type: integer + default: 11207 + max_concurrent_query_ops: + description: >- + The maximum amount of query operations that can be running + at any one point. + type: integer + default: 1000 + scopes: + description: >- + An object keyed by scope name containing config for the + specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: Scope-specific configuration. + type: object + properties: + collections: + description: >- + An object keyed by collection name containing config + for the specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + description: Collection-specific configuration. + type: object + properties: + sync: + description: >- + The Javascript function that newly created + documents in this collection are ran through. + type: string + example: 'function(doc){channel("collection name");}' + import_filter: + description: >- + This is the function that all imported documents + in this collection are ran through in order to + filter out what to import and what not to + import. This allows you to control what is made + available to Couchbase Mobile clients. If it is + not set, then no documents are filtered when + imported. + + + `import_docs` in the database config must be + true to make this field applicable. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { + return false; } return true; } + title: Collection config + title: Scopes + maxProperties: 1 + example: + scopename: + collections: + collectionname1: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + collectionname2: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + name: + description: The name of the database. + type: string + sync: + description: >- + The Javascript function that newly created documents are ran + through for the default scope and collection. + + If `scopes` parameter is set, this is ignored. + type: string + default: 'function(doc){channel(doc.channels);}' + users: + additionalProperties: + x-additionalPropertiesName: username + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters + and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in + the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access + to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user under + the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user + last used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: User + roles: + additionalProperties: + x-additionalPropertiesName: rolename + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters + and underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access + to for the default collection. + + + These channels could have been assigned by the Sync + function or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + revs_limit: + description: >- + The maximum depth a document's revision tree can grow too. + + + The minimum is `20` if conflicts are allowed and 0 if not. + It is not recommended to go below `100` when conflicts are + allowed. The default is `100` if conflicts are allowed and + `50` if not. + type: number + default: 50 + minimum: 0 + import_docs: + description: >- + If true, documents will be imported in to Sync Gateway from + the bucket in the background. Documents will be ran through + the set `import_filter` if any is set. + + + The default value depends on the edition of Sync Gateway + being used. If the edition is the Community Edition, then + this will default to `false` or else in the Enterprise + Edition, it will default to `true`. This value requires + `enable_shared_bucket_access=true`. + + + This can also be set to the string `continuous` which maps + to true. + type: boolean + import_partitions: + description: >- + ** This is an Enterprise Edition feature only** + + + This is how many import partitions should be used for import + sharding. + + + Partitions are distributed among all Sync Gateway nodes + participating in import processing (`import_docs=true`), and + each process a subset of the server's vbuckets. + + + Each partition is processed by an independent function that + runs simultaneously to others, so `import_partitions` can be + used to tune concurrency based on the number of Sync Gateway + nodes, and the number of cores per node. + type: number + default: 16 + minimum: 1 + maximum: 1024 + import_filter: + description: >- + This is the function that all imported documents in the + default scope and collection are ran through in order to + filter out what to import and what not to import. This + allows you to control what is made available to Couchbase + Mobile clients. If it is not set, then no documents are + filtered when imported. + + + `import_docs` must be true to make this field applicable. + + + If `scopes` parameter is set, this is ignored. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return false; } + return true; } + import_backup_old_rev: + description: >- + This controls whether import should attempt to create a + temporary backup of the previous revision body (if + available) when the document is modified in the bucket. + type: boolean + default: false + event_handlers: + description: These are the settings for webhooks. + type: object + properties: + max_processes: + description: >- + The maximum amount of concurrent event handling + independent functions that can be running at the same + time. + type: string + wait_for_process: + description: >- + The maximum amount of time (in milliseconds) to wait + when the even queue is full. + type: string + document_changed: + allOf: + - type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the + webhook events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt + connect to the webhook before giving up. + type: number + title: Event-config + - type: object + properties: + options: + description: Options for the document changed event. + type: object + properties: + winning_rev_only: + description: >- + If true, only the winning revision of the + document will be sent to the webhook. + type: boolean + default: false + db_state_changed: + type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the webhook + events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt connect + to the webhook before giving up. + type: number + title: Event-config + feed_type: + description: >- + The type of feed to use to communicate with Couchbase + Server. This will use DCP regardless of specification. + type: string + default: DCP + enum: + - DCP + deprecated: true + allow_empty_password: + description: >- + This controls whether users that are created can have an + empty password or not. + type: boolean + default: false + cache: + type: object + properties: + rev_cache: + description: The revision cache config settings. + type: object + properties: + size: + description: >- + The maximum number of revisions that can be stored + in the revision cache. + + Note when running with greater than 1 shard count we + add 10% capacity overall to avoid early eviction + when some shards fill up before others, so + + you may find that the capacity stat + (revision_cache_num_items) will climb to the defined + rev cache size + 10%. + type: integer + default: 5000 + max_memory_count_mb: + description: >- + The maximum amount of memory the revision cache + should take up in MB, setting to 0 will disable any + eviction based on memory at rev cache. + + There is a minimum value of 50 (50MB) for this + config option. + + When set this memory limit will work in in hand with + revision cache size parameter. So you will + potentially get eviction at revision cache both + based off memory footprint and number of items in + the cache. + + **This is an Enterprise Edition feature only** + type: integer + default: 0 + shard_count: + description: >- + The number of shards the revision cache should be + split into. + type: integer + default: 16 + channel_cache: + description: The channel cache config settings. + type: object + properties: + max_number: + description: >- + The maximum number of channel caches which can exist + at any one point. + type: integer + default: 50000 + compact_high_watermark_pct: + description: >- + The trigger value for starting the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number`, + reaches the high watermark, the eviction process + iterates through the cache, removing inactive + channels. + type: integer + default: 80 + compact_low_watermark_pct: + description: >- + The trigger value for stopping the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number` + returns to a value lower than the percentage of it + set here, the cache eviction process is stopped. + type: integer + default: 60 + max_wait_pending: + description: >- + The maximum time (in milliseconds) for waiting for a + pending sequence before skipping it. + type: number + default: 5000 + max_num_pending: + description: >- + The maximum number of pending sequences before + skipping sequences. + type: integer + default: 10000 + max_wait_skipped: + description: >- + The maximum amount of time (in milliseconds) to wait + for a skipped sequence before abandoning it. + type: number + default: 3600000 + enable_star_channel: + description: >- + Used to control whether Sync Gateway should use the + all documents (*) channel. + type: boolean + default: true + max_length: + description: >- + The maximum number of entries to maintain in the + cache per channel. + type: integer + default: 500 + min_length: + description: >- + The minimum number of entries to maintain in the + cache per channel. + type: integer + default: 50 + expiry_seconds: + description: >- + The amount of time (in seconds) to keep entries in + the cache beyond the minimum retained. + type: integer + default: 60 + query_limit: + description: >- + **Deprecated in favour of the database setting + `query_pagination_limit`** + + + The limit used for channel queries. + type: integer + default: 5000 + deprecated: true + max_wait_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_pending` instead** + + + The maximum time (in milliseconds) for waiting for a + pending sequence before skipping it. + type: number + deprecated: true + max_wait_skipped: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_skipped` instead** + + + The maximum time (in milliseconds) for waiting for + pending sequences before skipping. + type: number + deprecated: true + enable_star_channel: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.enable_star_channel` instead** + + + Used to control whether Sync Gateway should use the all + documents (*) channel. + type: boolean + deprecated: true + channel_cache_max_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_length` instead** + + + The maximum number of entries maintained in cache per + channel. + type: number + deprecated: true + channel_cache_min_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.min_length` instead** + + + The minimum number of entries maintained in cache per + channel. + type: integer + deprecated: true + channel_cache_expiry: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.expiry_seconds` instead** + + + The time (seconds) to keep entries in cache beyond the + minimum retained. + type: integer + deprecated: true + max_num_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_num_pending` instead** + + + The max number of pending sequences before skipping. + type: integer + deprecated: true + rev_cache_size: + description: >- + **Deprecated, please use the database setting + `cache.rev_cache.size` instead** + + + The maximum number of revisions to store in the revision + cache. + type: number + deprecated: true + offline: + description: Start the database in an offline state. + type: boolean + default: false + unsupported: + description: >- + These are unsupported options and therefore it is not + recommended to use them. + type: object + properties: + user_views: + type: object + properties: + enabled: + description: >- + Whether pass-through view query is supported through + public API. + type: boolean + oidc_test_provider: + type: object + properties: + enabled: + description: >- + Whether the `oidc_test_provider` endpoints should be + exposed on the public API. + type: boolean + api_endpoints: + type: object + properties: + enable_couchbase_bucket_flush: + description: >- + **Setting for test purposes only** + + + Whether Couchbase buckets can be flushed via Admin + REST API. + type: boolean + warning_thresholds: + type: object + properties: + xattr_size_bytes: + description: >- + The number of bytes to be used as a threshold for + xattr size limit warnings. + type: number + channels_per_doc: + description: >- + The number of channels per document to be used as a + threshold for the channel count warnings. + type: number + access_and_role_grants_per_doc: + description: >- + The number of access and role grants per document to + be used as a threshold for grant count warnings. + type: number + channels_per_user: + description: >- + The number of channels per user to be used as a + threshold for channel count warnings. + type: number + channel_name_size: + description: >- + The number of channel name characters to be used as + a threshold for channel name warnings. + type: number + oidc_tls_skip_verify: + description: Enable self-signed certificates for OIDC testing. + type: boolean + same_site_cookie: + description: >- + Override the session cookie SameSite behavior. By + default, a session cookie will have SameSite:None if + CORS is enabled, and will have no SameSite attribute if + CORS is not enabled. Setting this property to`Default` + will omit the SameSite attribute from the cookie. + type: string + enum: + - Default + - Lax + - None + - Strict + sgr_tls_skip_verify: + description: >- + Enable self-signed certificates for SG-replicate + testing. + type: boolean + remote_config_tls_skip_verify: + description: >- + Enable self-signed certificates for external JavaScript + load. + type: boolean + guest_read_only: + description: Restrict GUEST document access to read-only. + type: boolean + force_api_forbidden_errors: + description: Force REST API errors to return forbidden + type: boolean + dcp_read_buffer: + description: Set the dcp feed to use a different read buffer size. + type: number + kv_buffer: + description: Set the kv pool to use a different buffer size. + type: number + local_jwt: + description: Configuration for Local JWT authentication. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + required: + - issuer + - client_id + - algorithms + - keys + properties: + issuer: + description: The value to match against the "iss" claim of JWTs. + type: string + register: + description: >- + If to register a new Sync Gateway user account when a + user logs in with a JWT. + type: boolean + client_id: + description: >- + The value to match against the "aud" claim of JWTs. + Set to an empty string to disable audience validation. + type: string + algorithms: + description: >- + The JWT signing algorithms to accept for + authentication. + type: array + items: + type: string + keys: + description: The JSON Web Keys to use to validate JWTs. + type: array + items: + type: object + properties: + kty: + type: string + description: >- + The cryptographic algorithm family used with the + key, such as "RSA" or "EC" + enum: + - RSA + - EC + use: + type: string + description: >- + The intended use of the public key. Only 'sig' + is accepted. + enum: + - sig + alg: + type: string + description: The algorithm intended for use with the key. + kid: + type: string + description: 'The Key ID, used to identify the key to use.' + crv: + type: string + description: >- + For Elliptic Curve keys, the name of the curve + to use. + enum: + - P-256 + - P-384 + - P-521 + x: + type: string + description: >- + For Elliptic Curve keys, the X coordinate of the + point, as a base64url string. + 'y': + type: string + description: >- + For Elliptic Curve keys, the Y coordinate of the + point, as a base64url string. + 'n': + type: string + description: >- + For RSA keys, the modulus value of the key, as a + Base64urlUInt-encoded value. + e: + type: string + description: >- + For RSA keys, the exponent of the public key, as + a Base64urlUInt-encoded value. + disable_session: + description: >- + Disable Sync Gateway session creation on successful + JWT authentication. + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created + through this provider. + type: string + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim + will be added to the user's roles. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an + error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim + will be added to the user's channels. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an + error. + type: string + oidc: + description: Configuration for OpenID Connect authentication. + type: object + properties: + providers: + description: List of OpenID Connect issuers. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + properties: + issuer: + description: The URL for the OpenID Connect issuer. + type: string + register: + description: >- + If to register a new Sync Gateway user account + when a user logs in with OpenID Connect. + type: boolean + client_id: + description: The OpenID Connect provider client ID. + type: string + validation_key: + description: The OpenID Connect provider client secret. + type: string + callback_url: + description: >- + The URL that the OpenID Connect will redirect to + after authentication. + + + If not provided, a callback URL will be generated. + type: string + disable_session: + description: >- + Disable Sync Gateway session creation on + successful OpenID Connect authentication. + type: boolean + scope: + description: The scope sent for the OpenID Connect request. + type: array + items: + type: string + include_access: + description: >- + This is whether the `_oidc_callback` response + should include the OpenID Connect access token and + associated fields (such as `token_type`, and + `expires_in`). + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created + through this provider. + type: string + discovery_url: + description: The non-standard discovery endpoint. + type: string + disable_cfg_validation: + description: >- + This bypasses the configuration validation based + on the OpenID Connect specifications. This may be + required for some OpenID providers that don't + strictly adhere to the specifications. + type: boolean + default: false + disable_callback_state: + description: >- + Controls whether to maintain state between the + auth request and callback endpoints (`/_oidc` and + `/_oidc_callback`). + + + **This is not recommended as it would cause OpenID + Connect authentication to be vulnerable to + Cross-Site Request Forgery (CSRF, XSRF).** + type: boolean + default: false + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's roles. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's channels. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + allow_unsigned_provider_tokens: + description: >- + Allows users accept unsigned tokens from + providers. + type: boolean + IsDefault: + description: >- + Indicates if this is the default OpenID Connect + provider. + type: boolean + Name: + description: The name of the OpenID Connect Provider. + type: string + InsecureSkipVerify: + description: >- + Determines whether the TLS certificate + verification should be disabled for this + provider. + type: boolean + default: false + default_provider: + description: >- + The default provider to use when the provider is not + specified in the client. + type: string + old_rev_expiry_seconds: + description: >- + The number of seconds before old revisions are removed from + the Couchbase Server bucket. + type: number + default: 300 + view_query_timeout_secs: + description: The number of seconds before a view query should timeout. + type: integer + default: 75 + local_doc_expiry_secs: + description: >- + The number of seconds before a `_local` document should + expire. + type: integer + default: 7776000 + enable_shared_bucket_access: + description: >- + Whether to use extended attributes to store Sync Gateway + document (`_sync`) metadata. + type: boolean + default: true + deprecated: true + session_cookie_secure: + description: >- + Override the session cookie `secure` flag. If set, the + cookie will have the `secure` flag. + + + This will default to `true` if startup config + `api.https.tls_cert_path` is set otherwise it will default + to `false`. + type: boolean + session_cookie_name: + description: >- + This can be used to define a custom per-database session + cookie name. + type: string + session_cookie_http_only: + description: >- + Make all session cookies for the database set the `HttpOnly` + flag so they are inaccessible to JavaScript. + type: boolean + default: false + allow_conflicts: + description: >- + This controls whether to allow conflicting document + revisions. This option is going to be removed from sync + gateway, and conflicts will not be allowed. + type: boolean + default: false + deprecated: true + num_index_replicas: + description: >- + **Deprecated, please use the database setting + `index.num_replicas` instead** + deprecated: true + type: number + default: 1 + index: + description: Global Secondary Index Settings + properties: + num_partitions: + description: >- + The number of partitions to use for the large indexes + created by Sync Gateway. It is not recommended to set + this unless you require additional horizontal + scalability for individual indexes and have + appropriately scaled your Query nodes to handle the + increased query parallelism. If set, the recommended + number is 8 and does not need to be directly related to + the number of your Query nodes. Ensure documentation is + read to understand the performance tradeoffs and + instructions for migration if you have previously run + with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) for + more information. + + + If not specified or 1, all indexes will be non + partitioned. + type: number + default: 1 + title: Number of Index Partitions + num_replicas: + description: >- + This is the number of Global Secondary Indexes (GSI) to + use for core indexes. + type: number + default: 1 + use_views: + description: Force the use of views instead of GSI. + type: boolean + default: false + send_www_authenticate_header: + description: >- + Controls whether to send a `WWW-Authenticate` header in `401 + Unauthorized` HTTP responses. + type: boolean + default: true + disable_password_auth: + description: >- + Whether to disable username/password authentication and only + allow OIDC and guest access. + type: boolean + default: false + bucket_op_timeout_ms: + description: >- + This is the amount of milliseconds should pass before a + bucket operation times out. An error will be returned if the + bucket operation times out saying: `operation timed out`. + type: number + slow_query_warning_threshold: + description: >- + The amount of milliseconds a N1QL query should run before + logging a warning. + type: number + default: 500 + delta_sync: + description: |- + Delta sync configuration settings. + + **This is an Enterprise Edition feature only** + type: object + properties: + enabled: + description: |- + Whether delta sync is enabled. + + **This is an Enterprise Edition feature only** + type: boolean + default: false + rev_max_age_seconds: + description: >- + The number of seconds deltas for old revisions are + available for. + + + This defaults to 24 hours (in seconds). + type: number + default: 86400 + compact_interval_days: + description: >- + The interval between scheduled tombstone compaction runs (in + days). This can be a floating point number. + + + If set to 0, compaction will not run automatically. + type: number + default: 1 + sgreplicate_enabled: + description: >- + Whether the node should accept assign replications (`true`) + or not (`false`). + type: boolean + default: true + sgreplicate_websocket_heartbeat_secs: + description: >- + Use a custom heartbeat interval (in seconds) for websocket + ping frames. + type: integer + default: 300 + replications: + type: object + properties: + replication_id: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if not + explicitly set. + + + When the replication ID is specified in the URL, + this must be set to the same replication ID if + specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this + replication's `push`, `pull`, or `pushAndPull` + action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will + be replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving + conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being + the winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your + own custom conflict resolver. You must provide + this logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property + will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, + `return conflict.LocalDocument`), a new body, or + `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions + can noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not + be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must + also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do + an exponential backoff up to this specified value. + When this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in + the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when + they happen. This is known as a continuous + replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot + replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is + changed to `stopped` and then it will be removed + automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run + the replication as. This means that the replication + will only be able to replicate what the user access + to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, + and will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with the + remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + serve_insecure_attachment_types: + description: > + If set, always serve attachments with the `Content-Type` + header set to the type of the attachment. + + + When serving an attachment, usually the `Content-Type` + header is set to the type of the attachment but the + `Content-Disposition` response header will be set instead if + the content type is vulnerable to a phishing attack, causing + the browser to download the file instead of display it. This + option will override that behaviour and always set the + `Content-Type` header. + type: boolean + default: false + query_pagination_limit: + description: >- + The query limit to be used during pagination of large + queries. + type: integer + default: 5000 + user_xattr_key: + description: >- + The key to use for the user xattr that will be accessible + from the sync function. If empty, the feature will be + disabled. + + + This is an Enterprise Edition feature only. + type: string + maximum: 15 + client_partition_window_secs: + description: >- + How long (in seconds) clients can remain offline for without + losing replication metadata. + + + Defaults to 30 days (in seconds) + type: integer + default: 2592000 + guest: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters + and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in + the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user under + the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last + used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under + the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + javascript_timeout_secs: + description: >- + The maximum number of seconds the sync, import filter, and + custom conflict resolver JavaScript functions are allowed to + run for before timing out. Set to 0 to allow the JS + functions to run uncapped. + type: number + default: 60 + suspendable: + description: >- + Set to true to allow the database to be suspended. + + + Defaults to true when running in serverless mode otherwise + defaults to false. + type: boolean + default: false + changes_request_plus: + type: boolean + default: false + description: >- + Sets the default value of `request_plus` for + one-shot/non-continuous changes feeds, which when true, + ensures all valid documents written prior to the request + being issued are included in the response. Setting this + option at the database level is required to ensure Couchbase + Lite utilizes this changes feed mode. + + + This also sets the default value of query param + `request_plus` for [GET + /{keyspace}/_changes](#operation/get_keyspace-_changes) or + `request_plus` for [POST + /{keyspace}/_changes](#operation/post_keyspace-_changes). + cors: + allOf: + - type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be added + the `Access-Control-Allow-Headers` response to a + valid CORS request. + + + A recommended minimum set of values should be + `["Accept-Encoding", "Authorization", + "Content-Type", "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public + `/{db}/_session` API. + + + To use cors on `/{db}/_session`, the domain must be + present in both `login_origin` and `origin`. + + + If configured, `Authorization` must be included in + headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: >- + Value for `Access-Control-Maximum-Age`. Uses 0 by + default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. The + request `Origin` header is checked against these + values. If successful the `Origin` header is + returned in the HTTP response header as + `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + - type: object + description: >- + CORS configuration for this database; if present, + overrides server's config. + logging: + description: Per-database logging configuration. + type: object + properties: + console: + description: Console logging configuration. + type: object + properties: + log_level: + description: Log Level for the console output + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + example: debug + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + example: + - CRUD + - HTTP + - Query + audit: + description: Audit logging configuration. + type: object + properties: + enabled: + description: Whether audit logging is enabled. + type: boolean + default: false + enabled_events: + description: List of enabled audit events for this database. + type: array + items: + type: number + example: + - 1234 + - 5678 + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the user for which audit logging + is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + type: string + enum: + - cbs + - sgw + name: + description: >- + The name of the user for which audit logging + is disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging + is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging + is disabled. + type: string + disable_public_all_docs: + description: >- + This controls whether the [GET + /{keyspace}/_all_docs](#operation/get_keyspace-_all_docs) + REST API endpoint is publicly accessible or not. + + Disabling this endpoint is recommended for larger datasets + or production workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) + or [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) + have more efficient implementations and should be used + instead. + + + If set to `true`, the endpoint will not be publicly + accessible, and will only be available on the Admin API. + + Setting this to `false`, or leaving it as the default value + is deprecated, and may default to `true` in a future + release. + type: boolean + default: false + title: Database-config + responses: + '201': + description: Database configuration successfully updated + headers: + Etag: + schema: + type: string + description: The new database configuration revision. + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '412': + description: >- + Precondition Failed + + + The supplied If-Match header did not match the current version of + the configuration. + + + Returned when optimistic concurrency control is used, and there has + been an update to the configuration in between this update. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Precondition Failed + reason: Provided If-Match header does not match current config version + post: + summary: Update database configuration + operationId: post_db-_config + tags: + - Database Configuration + description: >- + This is used to update the database configuration fields specified. Only + the fields specified in the request will have their values replaced. + + + The bucket and database name cannot be changed. If these need to be + changed, the database will need to be deleted then recreated with the + new settings. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Application (sync function only) + parameters: + - name: If-Match + in: header + required: false + schema: + type: string + description: >- + If set to a configuration's Etag value, enables optimistic + concurrency control for the request. Returns HTTP 412 if another + update happened underneath this one. + requestBody: + description: The database configuration fields to update + content: + application/json: + schema: + description: The properties of a database configuration. + type: object + properties: + server: + description: >- + This is the Couchbase Server address or addresses that the + database connect to. + type: string + pool: + description: This field is unsupported and ignored. + type: string + default: default + deprecated: true + bucket: + description: The Couchbase Server backing bucket for the database. + type: string + default: The database name + username: + description: The username for authenticating to the server. + type: string + password: + description: The password for authenticating to the server. + type: string + certpath: + description: The cert path (public key) for X.509 bucket auth. + type: string + keypath: + description: The key path (private key) for X.509 bucket auth + type: string + cacertpath: + description: The root CA cert path for X.509 bucket authentication. + type: string + kv_tls_port: + description: The Memcached TLS port. + type: integer + default: 11207 + max_concurrent_query_ops: + description: >- + The maximum amount of query operations that can be running + at any one point. + type: integer + default: 1000 + scopes: + description: >- + An object keyed by scope name containing config for the + specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: Scope-specific configuration. + type: object + properties: + collections: + description: >- + An object keyed by collection name containing config + for the specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + description: Collection-specific configuration. + type: object + properties: + sync: + description: >- + The Javascript function that newly created + documents in this collection are ran through. + type: string + example: 'function(doc){channel("collection name");}' + import_filter: + description: >- + This is the function that all imported documents + in this collection are ran through in order to + filter out what to import and what not to + import. This allows you to control what is made + available to Couchbase Mobile clients. If it is + not set, then no documents are filtered when + imported. + + + `import_docs` in the database config must be + true to make this field applicable. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { + return false; } return true; } + title: Collection config + title: Scopes + maxProperties: 1 + example: + scopename: + collections: + collectionname1: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + collectionname2: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + name: + description: The name of the database. + type: string + sync: + description: >- + The Javascript function that newly created documents are ran + through for the default scope and collection. + + If `scopes` parameter is set, this is ignored. + type: string + default: 'function(doc){channel(doc.channels);}' + users: + additionalProperties: + x-additionalPropertiesName: username + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters + and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in + the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access + to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user under + the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user + last used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: User + roles: + additionalProperties: + x-additionalPropertiesName: rolename + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters + and underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access + to for the default collection. + + + These channels could have been assigned by the Sync + function or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been + granted access to in this collection. + + + Access could have been granted through the + sync function, roles, or explicitly on the + user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels + were updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + revs_limit: + description: >- + The maximum depth a document's revision tree can grow too. + + + The minimum is `20` if conflicts are allowed and 0 if not. + It is not recommended to go below `100` when conflicts are + allowed. The default is `100` if conflicts are allowed and + `50` if not. + type: number + default: 50 + minimum: 0 + import_docs: + description: >- + If true, documents will be imported in to Sync Gateway from + the bucket in the background. Documents will be ran through + the set `import_filter` if any is set. + + + The default value depends on the edition of Sync Gateway + being used. If the edition is the Community Edition, then + this will default to `false` or else in the Enterprise + Edition, it will default to `true`. This value requires + `enable_shared_bucket_access=true`. + + + This can also be set to the string `continuous` which maps + to true. + type: boolean + import_partitions: + description: >- + ** This is an Enterprise Edition feature only** + + + This is how many import partitions should be used for import + sharding. + + + Partitions are distributed among all Sync Gateway nodes + participating in import processing (`import_docs=true`), and + each process a subset of the server's vbuckets. + + + Each partition is processed by an independent function that + runs simultaneously to others, so `import_partitions` can be + used to tune concurrency based on the number of Sync Gateway + nodes, and the number of cores per node. + type: number + default: 16 + minimum: 1 + maximum: 1024 + import_filter: + description: >- + This is the function that all imported documents in the + default scope and collection are ran through in order to + filter out what to import and what not to import. This + allows you to control what is made available to Couchbase + Mobile clients. If it is not set, then no documents are + filtered when imported. + + + `import_docs` must be true to make this field applicable. + + + If `scopes` parameter is set, this is ignored. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return false; } + return true; } + import_backup_old_rev: + description: >- + This controls whether import should attempt to create a + temporary backup of the previous revision body (if + available) when the document is modified in the bucket. + type: boolean + default: false + event_handlers: + description: These are the settings for webhooks. + type: object + properties: + max_processes: + description: >- + The maximum amount of concurrent event handling + independent functions that can be running at the same + time. + type: string + wait_for_process: + description: >- + The maximum amount of time (in milliseconds) to wait + when the even queue is full. + type: string + document_changed: + allOf: + - type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the + webhook events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt + connect to the webhook before giving up. + type: number + title: Event-config + - type: object + properties: + options: + description: Options for the document changed event. + type: object + properties: + winning_rev_only: + description: >- + If true, only the winning revision of the + document will be sent to the webhook. + type: boolean + default: false + db_state_changed: + type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the webhook + events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt connect + to the webhook before giving up. + type: number + title: Event-config + feed_type: + description: >- + The type of feed to use to communicate with Couchbase + Server. This will use DCP regardless of specification. + type: string + default: DCP + enum: + - DCP + deprecated: true + allow_empty_password: + description: >- + This controls whether users that are created can have an + empty password or not. + type: boolean + default: false + cache: + type: object + properties: + rev_cache: + description: The revision cache config settings. + type: object + properties: + size: + description: >- + The maximum number of revisions that can be stored + in the revision cache. + + Note when running with greater than 1 shard count we + add 10% capacity overall to avoid early eviction + when some shards fill up before others, so + + you may find that the capacity stat + (revision_cache_num_items) will climb to the defined + rev cache size + 10%. + type: integer + default: 5000 + max_memory_count_mb: + description: >- + The maximum amount of memory the revision cache + should take up in MB, setting to 0 will disable any + eviction based on memory at rev cache. + + There is a minimum value of 50 (50MB) for this + config option. + + When set this memory limit will work in in hand with + revision cache size parameter. So you will + potentially get eviction at revision cache both + based off memory footprint and number of items in + the cache. + + **This is an Enterprise Edition feature only** + type: integer + default: 0 + shard_count: + description: >- + The number of shards the revision cache should be + split into. + type: integer + default: 16 + channel_cache: + description: The channel cache config settings. + type: object + properties: + max_number: + description: >- + The maximum number of channel caches which can exist + at any one point. + type: integer + default: 50000 + compact_high_watermark_pct: + description: >- + The trigger value for starting the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number`, + reaches the high watermark, the eviction process + iterates through the cache, removing inactive + channels. + type: integer + default: 80 + compact_low_watermark_pct: + description: >- + The trigger value for stopping the channel cache + eviction process. + + + Specify this as a percentage which will be the + percentage used on `max_number). + + + When the cache size, determined by `max_number` + returns to a value lower than the percentage of it + set here, the cache eviction process is stopped. + type: integer + default: 60 + max_wait_pending: + description: >- + The maximum time (in milliseconds) for waiting for a + pending sequence before skipping it. + type: number + default: 5000 + max_num_pending: + description: >- + The maximum number of pending sequences before + skipping sequences. + type: integer + default: 10000 + max_wait_skipped: + description: >- + The maximum amount of time (in milliseconds) to wait + for a skipped sequence before abandoning it. + type: number + default: 3600000 + enable_star_channel: + description: >- + Used to control whether Sync Gateway should use the + all documents (*) channel. + type: boolean + default: true + max_length: + description: >- + The maximum number of entries to maintain in the + cache per channel. + type: integer + default: 500 + min_length: + description: >- + The minimum number of entries to maintain in the + cache per channel. + type: integer + default: 50 + expiry_seconds: + description: >- + The amount of time (in seconds) to keep entries in + the cache beyond the minimum retained. + type: integer + default: 60 + query_limit: + description: >- + **Deprecated in favour of the database setting + `query_pagination_limit`** + + + The limit used for channel queries. + type: integer + default: 5000 + deprecated: true + max_wait_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_pending` instead** + + + The maximum time (in milliseconds) for waiting for a + pending sequence before skipping it. + type: number + deprecated: true + max_wait_skipped: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_skipped` instead** + + + The maximum time (in milliseconds) for waiting for + pending sequences before skipping. + type: number + deprecated: true + enable_star_channel: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.enable_star_channel` instead** + + + Used to control whether Sync Gateway should use the all + documents (*) channel. + type: boolean + deprecated: true + channel_cache_max_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_length` instead** + + + The maximum number of entries maintained in cache per + channel. + type: number + deprecated: true + channel_cache_min_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.min_length` instead** + + + The minimum number of entries maintained in cache per + channel. + type: integer + deprecated: true + channel_cache_expiry: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.expiry_seconds` instead** + + + The time (seconds) to keep entries in cache beyond the + minimum retained. + type: integer + deprecated: true + max_num_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_num_pending` instead** + + + The max number of pending sequences before skipping. + type: integer + deprecated: true + rev_cache_size: + description: >- + **Deprecated, please use the database setting + `cache.rev_cache.size` instead** + + + The maximum number of revisions to store in the revision + cache. + type: number + deprecated: true + offline: + description: Start the database in an offline state. + type: boolean + default: false + unsupported: + description: >- + These are unsupported options and therefore it is not + recommended to use them. + type: object + properties: + user_views: + type: object + properties: + enabled: + description: >- + Whether pass-through view query is supported through + public API. + type: boolean + oidc_test_provider: + type: object + properties: + enabled: + description: >- + Whether the `oidc_test_provider` endpoints should be + exposed on the public API. + type: boolean + api_endpoints: + type: object + properties: + enable_couchbase_bucket_flush: + description: >- + **Setting for test purposes only** + + + Whether Couchbase buckets can be flushed via Admin + REST API. + type: boolean + warning_thresholds: + type: object + properties: + xattr_size_bytes: + description: >- + The number of bytes to be used as a threshold for + xattr size limit warnings. + type: number + channels_per_doc: + description: >- + The number of channels per document to be used as a + threshold for the channel count warnings. + type: number + access_and_role_grants_per_doc: + description: >- + The number of access and role grants per document to + be used as a threshold for grant count warnings. + type: number + channels_per_user: + description: >- + The number of channels per user to be used as a + threshold for channel count warnings. + type: number + channel_name_size: + description: >- + The number of channel name characters to be used as + a threshold for channel name warnings. + type: number + oidc_tls_skip_verify: + description: Enable self-signed certificates for OIDC testing. + type: boolean + same_site_cookie: + description: >- + Override the session cookie SameSite behavior. By + default, a session cookie will have SameSite:None if + CORS is enabled, and will have no SameSite attribute if + CORS is not enabled. Setting this property to`Default` + will omit the SameSite attribute from the cookie. + type: string + enum: + - Default + - Lax + - None + - Strict + sgr_tls_skip_verify: + description: >- + Enable self-signed certificates for SG-replicate + testing. + type: boolean + remote_config_tls_skip_verify: + description: >- + Enable self-signed certificates for external JavaScript + load. + type: boolean + guest_read_only: + description: Restrict GUEST document access to read-only. + type: boolean + force_api_forbidden_errors: + description: Force REST API errors to return forbidden + type: boolean + dcp_read_buffer: + description: Set the dcp feed to use a different read buffer size. + type: number + kv_buffer: + description: Set the kv pool to use a different buffer size. + type: number + local_jwt: + description: Configuration for Local JWT authentication. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + required: + - issuer + - client_id + - algorithms + - keys + properties: + issuer: + description: The value to match against the "iss" claim of JWTs. + type: string + register: + description: >- + If to register a new Sync Gateway user account when a + user logs in with a JWT. + type: boolean + client_id: + description: >- + The value to match against the "aud" claim of JWTs. + Set to an empty string to disable audience validation. + type: string + algorithms: + description: >- + The JWT signing algorithms to accept for + authentication. + type: array + items: + type: string + keys: + description: The JSON Web Keys to use to validate JWTs. + type: array + items: + type: object + properties: + kty: + type: string + description: >- + The cryptographic algorithm family used with the + key, such as "RSA" or "EC" + enum: + - RSA + - EC + use: + type: string + description: >- + The intended use of the public key. Only 'sig' + is accepted. + enum: + - sig + alg: + type: string + description: The algorithm intended for use with the key. + kid: + type: string + description: 'The Key ID, used to identify the key to use.' + crv: + type: string + description: >- + For Elliptic Curve keys, the name of the curve + to use. + enum: + - P-256 + - P-384 + - P-521 + x: + type: string + description: >- + For Elliptic Curve keys, the X coordinate of the + point, as a base64url string. + 'y': + type: string + description: >- + For Elliptic Curve keys, the Y coordinate of the + point, as a base64url string. + 'n': + type: string + description: >- + For RSA keys, the modulus value of the key, as a + Base64urlUInt-encoded value. + e: + type: string + description: >- + For RSA keys, the exponent of the public key, as + a Base64urlUInt-encoded value. + disable_session: + description: >- + Disable Sync Gateway session creation on successful + JWT authentication. + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created + through this provider. + type: string + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim + will be added to the user's roles. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an + error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim + will be added to the user's channels. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an + error. + type: string + oidc: + description: Configuration for OpenID Connect authentication. + type: object + properties: + providers: + description: List of OpenID Connect issuers. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + properties: + issuer: + description: The URL for the OpenID Connect issuer. + type: string + register: + description: >- + If to register a new Sync Gateway user account + when a user logs in with OpenID Connect. + type: boolean + client_id: + description: The OpenID Connect provider client ID. + type: string + validation_key: + description: The OpenID Connect provider client secret. + type: string + callback_url: + description: >- + The URL that the OpenID Connect will redirect to + after authentication. + + + If not provided, a callback URL will be generated. + type: string + disable_session: + description: >- + Disable Sync Gateway session creation on + successful OpenID Connect authentication. + type: boolean + scope: + description: The scope sent for the OpenID Connect request. + type: array + items: + type: string + include_access: + description: >- + This is whether the `_oidc_callback` response + should include the OpenID Connect access token and + associated fields (such as `token_type`, and + `expires_in`). + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created + through this provider. + type: string + discovery_url: + description: The non-standard discovery endpoint. + type: string + disable_cfg_validation: + description: >- + This bypasses the configuration validation based + on the OpenID Connect specifications. This may be + required for some OpenID providers that don't + strictly adhere to the specifications. + type: boolean + default: false + disable_callback_state: + description: >- + Controls whether to maintain state between the + auth request and callback endpoints (`/_oidc` and + `/_oidc_callback`). + + + **This is not recommended as it would cause OpenID + Connect authentication to be vulnerable to + Cross-Site Request Forgery (CSRF, XSRF).** + type: boolean + default: false + username_claim: + description: >- + Allows a different OpenID Connect field to be + specified instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's roles. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the + user's channels. + + + The value of this claim must be either a string or + an array of strings, any other type will result in + an error. + type: string + allow_unsigned_provider_tokens: + description: >- + Allows users accept unsigned tokens from + providers. + type: boolean + IsDefault: + description: >- + Indicates if this is the default OpenID Connect + provider. + type: boolean + Name: + description: The name of the OpenID Connect Provider. + type: string + InsecureSkipVerify: + description: >- + Determines whether the TLS certificate + verification should be disabled for this + provider. + type: boolean + default: false + default_provider: + description: >- + The default provider to use when the provider is not + specified in the client. + type: string + old_rev_expiry_seconds: + description: >- + The number of seconds before old revisions are removed from + the Couchbase Server bucket. + type: number + default: 300 + view_query_timeout_secs: + description: The number of seconds before a view query should timeout. + type: integer + default: 75 + local_doc_expiry_secs: + description: >- + The number of seconds before a `_local` document should + expire. + type: integer + default: 7776000 + enable_shared_bucket_access: + description: >- + Whether to use extended attributes to store Sync Gateway + document (`_sync`) metadata. + type: boolean + default: true + deprecated: true + session_cookie_secure: + description: >- + Override the session cookie `secure` flag. If set, the + cookie will have the `secure` flag. + + + This will default to `true` if startup config + `api.https.tls_cert_path` is set otherwise it will default + to `false`. + type: boolean + session_cookie_name: + description: >- + This can be used to define a custom per-database session + cookie name. + type: string + session_cookie_http_only: + description: >- + Make all session cookies for the database set the `HttpOnly` + flag so they are inaccessible to JavaScript. + type: boolean + default: false + allow_conflicts: + description: >- + This controls whether to allow conflicting document + revisions. This option is going to be removed from sync + gateway, and conflicts will not be allowed. + type: boolean + default: false + deprecated: true + num_index_replicas: + description: >- + **Deprecated, please use the database setting + `index.num_replicas` instead** + deprecated: true + type: number + default: 1 + index: + description: Global Secondary Index Settings + properties: + num_partitions: + description: >- + The number of partitions to use for the large indexes + created by Sync Gateway. It is not recommended to set + this unless you require additional horizontal + scalability for individual indexes and have + appropriately scaled your Query nodes to handle the + increased query parallelism. If set, the recommended + number is 8 and does not need to be directly related to + the number of your Query nodes. Ensure documentation is + read to understand the performance tradeoffs and + instructions for migration if you have previously run + with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) for + more information. + + + If not specified or 1, all indexes will be non + partitioned. + type: number + default: 1 + title: Number of Index Partitions + num_replicas: + description: >- + This is the number of Global Secondary Indexes (GSI) to + use for core indexes. + type: number + default: 1 + use_views: + description: Force the use of views instead of GSI. + type: boolean + default: false + send_www_authenticate_header: + description: >- + Controls whether to send a `WWW-Authenticate` header in `401 + Unauthorized` HTTP responses. + type: boolean + default: true + disable_password_auth: + description: >- + Whether to disable username/password authentication and only + allow OIDC and guest access. + type: boolean + default: false + bucket_op_timeout_ms: + description: >- + This is the amount of milliseconds should pass before a + bucket operation times out. An error will be returned if the + bucket operation times out saying: `operation timed out`. + type: number + slow_query_warning_threshold: + description: >- + The amount of milliseconds a N1QL query should run before + logging a warning. + type: number + default: 500 + delta_sync: + description: |- + Delta sync configuration settings. + + **This is an Enterprise Edition feature only** + type: object + properties: + enabled: + description: |- + Whether delta sync is enabled. + + **This is an Enterprise Edition feature only** + type: boolean + default: false + rev_max_age_seconds: + description: >- + The number of seconds deltas for old revisions are + available for. + + + This defaults to 24 hours (in seconds). + type: number + default: 86400 + compact_interval_days: + description: >- + The interval between scheduled tombstone compaction runs (in + days). This can be a floating point number. + + + If set to 0, compaction will not run automatically. + type: number + default: 1 + sgreplicate_enabled: + description: >- + Whether the node should accept assign replications (`true`) + or not (`false`). + type: boolean + default: true + sgreplicate_websocket_heartbeat_secs: + description: >- + Use a custom heartbeat interval (in seconds) for websocket + ping frames. + type: integer + default: 300 + replications: + type: object + properties: + replication_id: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if not + explicitly set. + + + When the replication ID is specified in the URL, + this must be set to the same replication ID if + specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this + replication's `push`, `pull`, or `pushAndPull` + action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will + be replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving + conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being + the winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your + own custom conflict resolver. You must provide + this logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property + will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, + `return conflict.LocalDocument`), a new body, or + `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions + can noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not + be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must + also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do + an exponential backoff up to this specified value. + When this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in + the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when + they happen. This is known as a continuous + replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot + replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is + changed to `stopped` and then it will be removed + automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run + the replication as. This means that the replication + will only be able to replicate what the user access + to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, + and will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with the + remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + serve_insecure_attachment_types: + description: > + If set, always serve attachments with the `Content-Type` + header set to the type of the attachment. + + + When serving an attachment, usually the `Content-Type` + header is set to the type of the attachment but the + `Content-Disposition` response header will be set instead if + the content type is vulnerable to a phishing attack, causing + the browser to download the file instead of display it. This + option will override that behaviour and always set the + `Content-Type` header. + type: boolean + default: false + query_pagination_limit: + description: >- + The query limit to be used during pagination of large + queries. + type: integer + default: 5000 + user_xattr_key: + description: >- + The key to use for the user xattr that will be accessible + from the sync function. If empty, the feature will be + disabled. + + + This is an Enterprise Edition feature only. + type: string + maximum: 15 + client_partition_window_secs: + description: >- + How long (in seconds) clients can remain offline for without + losing replication metadata. + + + Defaults to 30 days (in seconds) + type: integer + default: 2592000 + guest: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters + and underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in + the database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for + the default collection. + + See `collection_access` for channels in named + collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to for the default collection. + + See `collection_access` for channels in named + collections. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the + account as it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync + function, roles_claim, or explicitly on the user under + the `admin_roles` property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: >- + The roles that the user has been added to through + roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last + used to sign in. + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT roles/channels were + updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a + specific collection. + type: object + additionalProperties: + maxProperties: 1 + description: >- + An object keyed by scope, containing a set of + collections. + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the + user in this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted + access to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under + the `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted + access to through channels_claim for this + collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + javascript_timeout_secs: + description: >- + The maximum number of seconds the sync, import filter, and + custom conflict resolver JavaScript functions are allowed to + run for before timing out. Set to 0 to allow the JS + functions to run uncapped. + type: number + default: 60 + suspendable: + description: >- + Set to true to allow the database to be suspended. + + + Defaults to true when running in serverless mode otherwise + defaults to false. + type: boolean + default: false + changes_request_plus: + type: boolean + default: false + description: >- + Sets the default value of `request_plus` for + one-shot/non-continuous changes feeds, which when true, + ensures all valid documents written prior to the request + being issued are included in the response. Setting this + option at the database level is required to ensure Couchbase + Lite utilizes this changes feed mode. + + + This also sets the default value of query param + `request_plus` for [GET + /{keyspace}/_changes](#operation/get_keyspace-_changes) or + `request_plus` for [POST + /{keyspace}/_changes](#operation/post_keyspace-_changes). + cors: + allOf: + - type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be added + the `Access-Control-Allow-Headers` response to a + valid CORS request. + + + A recommended minimum set of values should be + `["Accept-Encoding", "Authorization", + "Content-Type", "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public + `/{db}/_session` API. + + + To use cors on `/{db}/_session`, the domain must be + present in both `login_origin` and `origin`. + + + If configured, `Authorization` must be included in + headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: >- + Value for `Access-Control-Maximum-Age`. Uses 0 by + default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. The + request `Origin` header is checked against these + values. If successful the `Origin` header is + returned in the HTTP response header as + `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + - type: object + description: >- + CORS configuration for this database; if present, + overrides server's config. + logging: + description: Per-database logging configuration. + type: object + properties: + console: + description: Console logging configuration. + type: object + properties: + log_level: + description: Log Level for the console output + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + example: debug + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + example: + - CRUD + - HTTP + - Query + audit: + description: Audit logging configuration. + type: object + properties: + enabled: + description: Whether audit logging is enabled. + type: boolean + default: false + enabled_events: + description: List of enabled audit events for this database. + type: array + items: + type: number + example: + - 1234 + - 5678 + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the user for which audit logging + is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + type: string + enum: + - cbs + - sgw + name: + description: >- + The name of the user for which audit logging + is disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging + is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging + is disabled. + type: string + disable_public_all_docs: + description: >- + This controls whether the [GET + /{keyspace}/_all_docs](#operation/get_keyspace-_all_docs) + REST API endpoint is publicly accessible or not. + + Disabling this endpoint is recommended for larger datasets + or production workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) + or [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) + have more efficient implementations and should be used + instead. + + + If set to `true`, the endpoint will not be publicly + accessible, and will only be available on the Admin API. + + Setting this to `false`, or leaving it as the default value + is deprecated, and may default to `true` in a future + release. + type: boolean + default: false + title: Database-config + responses: + '201': + description: Database configuration successfully updated + headers: + Etag: + schema: + type: string + description: The new database configuration revision. + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Not Found + '412': + description: >- + Precondition Failed + + + The supplied If-Match header did not match the current version of + the configuration. + + + Returned when optimistic concurrency control is used, and there has + been an update to the configuration in between this update. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Precondition Failed + reason: Provided If-Match header does not match current config version + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + '/{db}/_config/audit': + get: + summary: Get database audit configuration + operationId: get_db-_config-audit + tags: + - Database Configuration + description: |- + Retrieve the audit configuration for the database specified. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + parameters: + - name: verbose + in: query + description: Whether to show name and description with each audit event. + schema: + type: boolean + default: false + - name: filterable + in: query + description: Whether to show only filterable audit events. + schema: + type: boolean + default: false + responses: + '200': + description: Successfully retrieved database configuration + content: + application/json: + schema: + oneOf: + - title: Simple + description: A map of audit events and whether they are enabled or not. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + type: boolean + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging + is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the user for which audit logging is + disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging + is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging is + disabled. + type: string + - title: Verbose + description: A map of detailed audit events. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + title: audit-event-verbose + type: object + properties: + name: + type: string + description: The name of the audit event. + readOnly: true + description: + type: string + description: The description of the audit event. + readOnly: true + enabled: + type: boolean + description: >- + Whether this audit event is currently enabled or + not. + filterable: + type: boolean + description: >- + Whether this audit event can be disabled. Some + audit events are always on. + readOnly: true + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging + is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the user for which audit logging is + disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging + is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging is + disabled. + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Replace database audit configuration + description: >- + Replaces the database audit configuration with the one sent in the + request. + + + Unspecified audit events will be reset to their default enabled value. + Use POST if you want upsert-style semantics. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + requestBody: + description: The new database audit configuration to use + content: + application/json: + schema: + oneOf: + - title: Simple + description: A map of audit events and whether they are enabled or not. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + type: boolean + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the user for which audit logging is + disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging is + disabled. + type: string + - title: Verbose + description: A map of detailed audit events. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + title: audit-event-verbose + type: object + properties: + name: + type: string + description: The name of the audit event. + readOnly: true + description: + type: string + description: The description of the audit event. + readOnly: true + enabled: + type: boolean + description: >- + Whether this audit event is currently enabled or + not. + filterable: + type: boolean + description: >- + Whether this audit event can be disabled. Some + audit events are always on. + readOnly: true + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the user for which audit logging is + disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging is + disabled. + type: string + operationId: put_db-_config-audit + tags: + - Database Configuration + responses: + '200': + description: Database audit configuration successfully updated + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Update database audit configuration + operationId: post_db-_config-audit + tags: + - Database Configuration + description: >- + This is used to update the database configuration fields specified. Only + the fields specified in the request will have their values replaced. + + + Unspecified audit events will be unaffected. Use PUT if you want to + reset events to their default state. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: verbose + in: query + description: Whether to show name and description with each audit event. + schema: + type: boolean + default: false + requestBody: + description: The database configuration fields to update + content: + application/json: + schema: + oneOf: + - title: Simple + description: A map of audit events and whether they are enabled or not. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + type: boolean + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the user for which audit logging is + disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging is + disabled. + type: string + - title: Verbose + description: A map of detailed audit events. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + title: audit-event-verbose + type: object + properties: + name: + type: string + description: The name of the audit event. + readOnly: true + description: + type: string + description: The description of the audit event. + readOnly: true + enabled: + type: boolean + description: >- + Whether this audit event is currently enabled or + not. + filterable: + type: boolean + description: >- + Whether this audit event can be disabled. Some + audit events are always on. + readOnly: true + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the user for which audit logging is + disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. + Either cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging is + disabled. + type: string + responses: + '200': + description: Database audit configuration successfully updated + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Not Found + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + '/{keyspace}/_config/sync': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + get: + summary: Get database sync function + operationId: get_keyspace-_config-sync + tags: + - Database Configuration + description: |- + This returns the database's sync function. + + Response will be blank if there has been no sync function set. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + responses: + '200': + description: Successfully retrieved the sync function + headers: + Etag: + schema: + type: string + description: The database configuration revision. + content: + application/javascript: + schema: + type: string + example: |- + function (doc, oldDoc) { + channel(doc.channels); + } + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Set database sync function + operationId: put_keyspace-_config-sync + tags: + - Database Configuration + description: |- + This will allow you to update the sync function. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + parameters: + - name: If-Match + in: header + required: false + schema: + type: string + description: >- + If set to a configuration's Etag value, enables optimistic + concurrency control for the request. Returns HTTP 412 if another + update happened underneath this one. + - name: disable_oidc_validation + in: query + required: false + description: >- + If set, will not attempt to validate the configured OpenID Connect + providers are reachable. + schema: + type: boolean + default: false + requestBody: + description: The new sync function to use + content: + application/javascript: + schema: + type: string + example: |- + function (doc, oldDoc) { + channel(doc.channels); + } + responses: + '200': + description: Updated sync function successfully + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '412': + description: >- + Precondition Failed + + + The supplied If-Match header did not match the current version of + the configuration. + + + Returned when optimistic concurrency control is used, and there has + been an update to the configuration in between this update. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Precondition Failed + reason: Provided If-Match header does not match current config version + delete: + summary: Remove custom sync function + operationId: delete_keyspace-_config-sync + tags: + - Database Configuration + description: >- + This will remove the custom sync function from the database + configuration. + + + The default sync function is equivalent to: + + ```javascript + + function (doc) { + channel(doc.channels); + } + + ``` + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: If-Match + in: header + required: false + schema: + type: string + description: The revision ID to target. + responses: + '200': + description: Successfully reset the sync function + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '412': + description: >- + Precondition Failed + + + The supplied If-Match header did not match the current version of + the configuration. + + + Returned when optimistic concurrency control is used, and there has + been an update to the configuration in between this update. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Precondition Failed + reason: Provided If-Match header does not match current config version + '/{keyspace}/_config/import_filter': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + get: + summary: Get database import filter + operationId: get_keyspace-_config-import_filter + tags: + - Database Configuration + description: >- + This returns the database's import filter that documents are ran through + when importing. + + + Response will be blank if there has been no import filter set. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + responses: + '200': + description: Successfully retrieved the import filter + headers: + Etag: + schema: + type: string + description: The database configuration revision. + content: + application/javascript: + schema: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Set database import filter + operationId: put_keyspace-_config-import_filter + tags: + - Database Configuration + description: |- + This will allow you to update the database's import filter. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + parameters: + - name: If-Match + in: header + required: false + schema: + type: string + description: >- + If set to a configuration's Etag value, enables optimistic + concurrency control for the request. Returns HTTP 412 if another + update happened underneath this one. + - name: disable_oidc_validation + in: query + required: false + description: >- + If set, will not attempt to validate the configured OpenID Connect + providers are reachable. + schema: + type: boolean + default: false + requestBody: + description: The import filter to use + content: + application/javascript: + schema: + type: string + responses: + '200': + description: Updated import filter successfully + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '412': + description: >- + Precondition Failed + + + The supplied If-Match header did not match the current version of + the configuration. + + + Returned when optimistic concurrency control is used, and there has + been an update to the configuration in between this update. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Precondition Failed + reason: Provided If-Match header does not match current config version + delete: + summary: Delete import filter + operationId: delete_keyspace-_config-import_filter + tags: + - Database Configuration + description: >- + This will remove the custom import filter function from the database + configuration so that Sync Gateway will not filter any documents during + import. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: If-Match + in: header + required: false + schema: + type: string + description: >- + If set to a configuration's Etag value, enables optimistic + concurrency control for the request. Returns HTTP 412 if another + update happened underneath this one. + responses: + '200': + description: Successfully deleted the import filter + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '412': + description: >- + Precondition Failed + + + The supplied If-Match header did not match the current version of + the configuration. + + + Returned when optimistic concurrency control is used, and there has + been an update to the configuration in between this update. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Precondition Failed + reason: Provided If-Match header does not match current config version + '/{db}/_resync': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get resync status + operationId: get_db-_resync + tags: + - Database Management + description: >- + This will retrieve the status of last resync operation (whether it is + running or not) in the Sync Gateway cluster. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + responses: + '200': + description: successfully retrieved the most recent resync operation status + content: + application/json: + schema: + description: The status of a resync operation + type: object + properties: + status: + description: The status of the current operation. + type: string + enum: + - running + - completed + - stopping + - stopped + - error + start_time: + description: >- + The ISO-8601 date and time the resync operation was + started. + type: string + last_error: + description: >- + The last error that occurred in the resync operation (if + any). + type: string + docs_changed: + description: >- + The amount of documents that have been changed as a result + of the resync operation. + type: integer + docs_processed: + description: >- + The amount of docs that have been processed so far in the + resync operation. + type: integer + collections_processing: + description: The collections that the resync operation is running on. + allOf: + - description: >- + scope name with one or more collection names for which + resync will be triggered + type: object + additionalProperties: + allOf: + - description: List of collection names + type: array + items: + type: string + example: + - collection1 + - collection2 + example: + scopeName: + - collection1 + - collection2 + required: + - status + - start_time + - last_error + - docs_changed + - docs_processed + title: Resync-status + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Start or stop Resync + operationId: post_db-_resync + tags: + - Database Management + description: > + This can be used to start or stop a resync operation. A resync operation + will cause all documents in the keyspace to be reprocessed through the + sync function. + + + Generally, a resync operation might be wanted when the sync function has + been modified in such a way that the channel or access mappings for any + existing documents would change as a result. + + + A resync operation cannot be run if the database is online. The database + can be taken offline by calling [POST + /{db}/_config](#operation/post_db-_config) with `{"offline": true}` to + set the database to offline. + + + The `requireUser()` and `requireRole()` calls in the sync function will + always return `true`. + + + - **action=start** - This is an asynchronous operation, and will start + resync in the background. + + - **action=stop** - This will stop the currently running resync + operation. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: action + in: query + description: This is whether to start a new resync job or stop an existing one. + schema: + type: string + default: start + enum: + - start + - stop + - name: regenerate_sequences + in: query + description: >- + **Use this only when requested to do so by the Couchbase support + team** This request will regenerate the sequence numbers for each + document processed. If scopes parameter is specified, the principal + sequence documents will not have their sequences updated. + schema: + type: boolean + - name: reset + in: query + description: >- + This forces a fresh resync run instead of trying to resume the + previous resync operation + schema: + type: boolean + default: false + requestBody: + content: + application/json: + schema: + type: object + properties: + scopes: + description: This controls for which collections resync will run + type: object + allOf: + - description: >- + scope name with one or more collection names for which + resync will be triggered + type: object + additionalProperties: + allOf: + - description: List of collection names + type: array + items: + type: string + example: + - collection1 + - collection2 + example: + scopeName: + - collection1 + - collection2 + regenerate_sequences: + description: >- + This can be used as an alternative to query param + `regenerate_sequences`. If either query param or this is set + to true, then the request will regenerate the sequence + numbers for each document processed. + type: boolean + default: false + responses: + '200': + description: successfully changed the status of the resync operation + content: + application/json: + schema: + description: The status of a resync operation + type: object + properties: + status: + description: The status of the current operation. + type: string + enum: + - running + - completed + - stopping + - stopped + - error + start_time: + description: >- + The ISO-8601 date and time the resync operation was + started. + type: string + last_error: + description: >- + The last error that occurred in the resync operation (if + any). + type: string + docs_changed: + description: >- + The amount of documents that have been changed as a result + of the resync operation. + type: integer + docs_processed: + description: >- + The amount of docs that have been processed so far in the + resync operation. + type: integer + collections_processing: + description: The collections that the resync operation is running on. + allOf: + - description: >- + scope name with one or more collection names for which + resync will be triggered + type: object + additionalProperties: + allOf: + - description: List of collection names + type: array + items: + type: string + example: + - collection1 + - collection2 + example: + scopeName: + - collection1 + - collection2 + required: + - status + - start_time + - last_error + - docs_changed + - docs_processed + title: Resync-status + '503': + description: Service Unavailable + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_index_init': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Start asynchronous index initialization + operationId: post_db-_index_init + tags: + - Database Management + description: > + This can be used to start index initialization with different parameters + from a running database. The typical workflow is: + + + 1. Start the process of creating new indexes with [POST + /{db}/_index_init](#operation/post_db-_index_init). + + 2. Wait for index initialization to complete with [GET + /{db}/_index_init](#operation/get_db-_index_init). + + 3. Update the database configuration to use these new indexes with [POST + /{db}/_config](#operation/post_db-_config). + + 4. Call [POST /_post_upgrade](#operation/post__post_upgrade) to remove + the original indexes. + + + This operation will start creation of indexes, and the creation of + indexes can not be stopped on Couchbase Server once it has been started. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: action + in: query + description: >- + Defines whether the index creation operation is being started or + stopped. + schema: + type: string + default: start + enum: + - start + - stop + x-enumDescriptions: + start: Starts the creation of indexes. + stop: >- + Stops tracking the index creation by Sync Gateway. These indexes + will still be created on Couchbase Server. + requestBody: + content: + application/json: + schema: + allOf: + - type: object + description: Settings for Global Secondary Indexes (GSI). + properties: + create_separate_principal_indexes: + description: >- + Whether to create separate indexes for users and roles + instead of a single larger syncDocs index. + + + The separate principal indexes are smaller and used + automatically for new database deployments. To remove + the syncDocs index, wait for this to complete, restart + all Sync Gateway instances and run [POST + /_post_upgrade](#operation/post__post_upgrade). + type: boolean + default: false + num_partitions: + description: >- + The number of partitions to use for the large indexes + created by Sync Gateway. It is not recommended to set + this unless you require additional horizontal + scalability for individual indexes and have + appropriately scaled your Query nodes to handle the + increased query parallelism. If set, the recommended + number is 8 and does not need to be directly related to + the number of your Query nodes. Ensure documentation is + read to understand the performance tradeoffs and + instructions for migration if you have previously run + with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) for + more information. + + + If not specified or 1, all indexes will be non + partitioned. + type: number + default: 1 + title: Number of Index Partitions + responses: + '200': + description: >- + successfully changed the status of the index initialization + operation + content: + application/json: + schema: + description: >- + The status of an asynchronous indexes initialization + operation. + type: object + properties: + status: + description: The status of the current operation. + type: string + enum: + - completed + - error + - running + - stopped + - stopping + x-enumDescriptions: + running: Indexes are being created. + completed: All indexes were created. + error: The index initialization operation has failed. + stopped: >- + The index initialization operation has been stopped. + These indexes may still exist on Couchbase Server. + stopping: >- + The index initialization operation is in the process of + being stopped. + start_time: + description: >- + The ISO-8601 date and time the index initialization + operation was started. + type: string + last_error: + description: >- + The last error that occurred in the index initialization + operation (if any). + type: string + index_status: + description: >- + scope name with one or more collection names and the + status of their index creation + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: >- + An object keyed by scope, containing a set of + collections and the status of their index creation. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + type: string + enum: + - queued + - in progress + - ready + - error + x-enumDescriptions: + queued: Indexes are queued for creation. + in progress: Indexes are being created. + ready: All indexes were created. + error: The index creation operation has failed. + settings: + allOf: + - type: object + description: Settings for Global Secondary Indexes (GSI). + properties: + create_separate_principal_indexes: + description: >- + Whether to create separate indexes for users and + roles instead of a single larger syncDocs index. + + + The separate principal indexes are smaller and + used automatically for new database deployments. + To remove the syncDocs index, wait for this to + complete, restart all Sync Gateway instances and + run [POST + /_post_upgrade](#operation/post__post_upgrade). + type: boolean + default: false + num_partitions: + description: >- + The number of partitions to use for the large + indexes created by Sync Gateway. It is not + recommended to set this unless you require + additional horizontal scalability for individual + indexes and have appropriately scaled your Query + nodes to handle the increased query parallelism. + If set, the recommended number is 8 and does not + need to be directly related to the number of your + Query nodes. Ensure documentation is read to + understand the performance tradeoffs and + instructions for migration if you have previously + run with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) + for more information. + + + If not specified or 1, all indexes will be non + partitioned. + type: number + default: 1 + title: Number of Index Partitions + required: + - status + - start_time + - last_error + - index_status + title: IndexInitStatus + '503': + description: Service Unavailable + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + get: + summary: Get status of index initialization + operationId: get_db-_index_init + tags: + - Database Management + description: >- + This will retrieve the status of last index initialization operation + (whether it is running or not) in the Sync Gateway cluster. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + responses: + '200': + description: successfully retrieved the most recent index initialization + content: + application/json: + schema: + description: >- + The status of an asynchronous indexes initialization + operation. + type: object + properties: + status: + description: The status of the current operation. + type: string + enum: + - completed + - error + - running + - stopped + - stopping + x-enumDescriptions: + running: Indexes are being created. + completed: All indexes were created. + error: The index initialization operation has failed. + stopped: >- + The index initialization operation has been stopped. + These indexes may still exist on Couchbase Server. + stopping: >- + The index initialization operation is in the process of + being stopped. + start_time: + description: >- + The ISO-8601 date and time the index initialization + operation was started. + type: string + last_error: + description: >- + The last error that occurred in the index initialization + operation (if any). + type: string + index_status: + description: >- + scope name with one or more collection names and the + status of their index creation + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: >- + An object keyed by scope, containing a set of + collections and the status of their index creation. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + type: string + enum: + - queued + - in progress + - ready + - error + x-enumDescriptions: + queued: Indexes are queued for creation. + in progress: Indexes are being created. + ready: All indexes were created. + error: The index creation operation has failed. + settings: + allOf: + - type: object + description: Settings for Global Secondary Indexes (GSI). + properties: + create_separate_principal_indexes: + description: >- + Whether to create separate indexes for users and + roles instead of a single larger syncDocs index. + + + The separate principal indexes are smaller and + used automatically for new database deployments. + To remove the syncDocs index, wait for this to + complete, restart all Sync Gateway instances and + run [POST + /_post_upgrade](#operation/post__post_upgrade). + type: boolean + default: false + num_partitions: + description: >- + The number of partitions to use for the large + indexes created by Sync Gateway. It is not + recommended to set this unless you require + additional horizontal scalability for individual + indexes and have appropriately scaled your Query + nodes to handle the increased query parallelism. + If set, the recommended number is 8 and does not + need to be directly related to the number of your + Query nodes. Ensure documentation is read to + understand the performance tradeoffs and + instructions for migration if you have previously + run with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) + for more information. + + + If not specified or 1, all indexes will be non + partitioned. + type: number + default: 1 + title: Number of Index Partitions + required: + - status + - start_time + - last_error + - index_status + title: IndexInitStatus + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_purge': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Purge a document + description: >- + The purge command provides a way to remove a document from the database. + The operation removes *all* revisions (active and tombstones) for the + specified document(s). A common usage of this endpoint is to remove + tombstone documents that are no longer needed, thus recovering storage + space and reducing data replicated to clients. Other clients are not + notified when a revision has been purged; so in order to purge a + revision from the system it must be done from all databases (on + Couchbase Lite and Sync Gateway). + + + When `enable_shared_bucket_access` is enabled, this endpoint removes the + document and its associated extended attributes. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + requestBody: + description: Purge request body + content: + application/json: + schema: + type: object + additionalProperties: + x-additionalPropertiesName: doc_id + description: >- + The document ID to purge. The array must only be 1 element + which is `*`. + + + All revisions will be permanently removed for that document. + type: array + items: + type: string + enum: + - '*' + examples: + single: + summary: Single document + value: + doc_id: + - '*' + multiple: + summary: Multiple documents + value: + doc_id_1: + - '*' + doc_id_2: + - '*' + operationId: post_keyspace-_purge + tags: + - Document + responses: + '200': + description: >- + Attempted documents purge. Check output to verify the documents that + were purged. The document IDs will not be listed if they have not + been purged (for example, due to no existing). + content: + application/json: + schema: + type: object + properties: + purged: + type: object + additionalProperties: + x-additionalPropertiesName: doc_id + description: >- + The document ID that was purged. The array will only + contain `*` to indicate that the document was purged. + type: array + items: + type: string + enum: + - '*' + required: + - purged + examples: + single: + summary: Single document + value: + purged: + doc_id: + - '*' + multiple: + summary: Multiple documents + value: + purged: + doc_id_1: + - '*' + doc_id_2: + - '*' + '400': + description: >- + Bad request. This could be due to the documents listed in the + request body not having the `["*"]` value for each document ID. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_flush': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Flush the entire database bucket | Unsupported + operationId: post_db-_flush + tags: + - Unsupported + description: >- + **This is unsupported** + + + This will purge *all* documents. + + + The bucket will only be flushed if the unsupported database + configuration option `enable_couchbase_bucket_flush` is set. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + responses: + '200': + description: Successfully flushed the bucket + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '503': + description: The bucket does not support flush or delete + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_online': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Bring the database online + description: >- + This will bring the database online on this node only so the Public and + full Admin REST API requests can be served. + + + If using persistent config, call [POST + /{db}/_config](#operation/post_db-_config) with `{"offline": false}` to + set the database to online. + + + Bringing a database online will: + + * Close the database connection to the backing Couchbase Server bucket. + + * Reload the database configuration, and connect to the backing + Couchbase Server bucket. + + * Re-establish access to the database from the Public REST API and + accept all Admin API requests. + + + A specific delay before bringing the database online may be wanted to: + + * Make the database available for Couchbase Lite clients at a specific + time. + + * Make the databases on several Sync Gateway instances available at the + same time. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + requestBody: + description: Add an optional delay to wait before bringing the database online + content: + application/json: + schema: + type: object + properties: + delay: + description: The amount of seconds to delay bringing the database online. + type: integer + default: 0 + operationId: post_db-_online + tags: + - Database Management + responses: + '200': + description: >- + Database will be brought online immediately or with the specified + delay + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '503': + description: An error occurred + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_offline': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Take the database offline + operationId: post_db-_offline + tags: + - Database Management + description: >- + This will take the database offline on this node only. Actions can be + taken without disrupting current operations ungracefully or having the + restart the Sync Gateway instance. + + + If using persistent config, call [POST + /{db}/_config](#operation/post_db-_config) with `{"offline": true}` to + set the database to offline. + + + This will not take the backing Couchbase Server bucket offline. + + + Taking a database offline that is in the progress of coming online will + take the database offline after it comes online. + + + Taking the database offline will: + + * Close all active `_changes` feeds for the database. + + * Reject all access to the database via the Public REST API (returning a + 503 Service Unavailable code). + + * Reject most Admin API requests (by returning a 503 Service Unavailable + code). The only endpoints to be available are: the resync endpoints, the + configuration endpoints, `DELETE, GET, HEAD /{db}/`, `POST + /{db}/_offline`, and `POST /{db}/_online`. + + * Stops webhook event handlers. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + responses: + '200': + description: Database has been taken offline successfully + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '503': + description: An error occurred while trying to take the database offline + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_dump/{view}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: view + in: path + required: true + schema: + type: string + description: The view to target. + get: + summary: Dump a view | Unsupported + operationId: get_db-_dump-view + tags: + - Unsupported + description: |- + **This is unsupported** + + This queries the view and outputs it as HTML. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + responses: + '200': + description: Retrieved view successfully + content: + text/html: + schema: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: Internal Server Error + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_view/{view}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: view + in: path + required: true + schema: + type: string + description: The view to target. + get: + summary: Query a view on the default design document | Unsupported + operationId: get_db-_view-view + tags: + - Unsupported + description: |- + **This is unsupported** + + Query a view on the default Sync Gateway design document. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + parameters: + - name: inclusive_end + in: query + required: false + description: >- + Indicates whether the specified end key should be included in the + result. + schema: + type: boolean + - name: descending + in: query + required: false + description: Return documents in descending order. + schema: + type: boolean + - name: include_docs + in: query + required: false + description: >- + Only works when using Couchbase Server 3.0 and earlier. Indicates + whether to include the full content of the documents in the + response. + schema: + type: boolean + - name: reduce + in: query + required: false + description: Whether to execute a reduce function on the response or not. + schema: + type: boolean + - name: group + in: query + required: false + description: >- + Group the results using the reduce function to a group or single + row. + schema: + type: boolean + - name: skip + in: query + required: false + description: >- + Skip the specified number of documents before starting to return + results. + schema: + type: integer + - name: limit + in: query + required: false + description: Return only the specified number of documents + schema: + type: integer + - name: group_level + in: query + required: false + description: Specify the group level to be used. + schema: + type: integer + - name: startkey_docid + in: query + required: false + description: Return documents starting with the specified document identifier. + schema: + type: string + - name: endkey_docid + in: query + required: false + description: >- + Stop returning records when the specified document identifier is + reached. + schema: + type: string + - name: stale + in: query + required: false + description: >- + Allow the results from a stale view to be used, without triggering a + rebuild of all views within the encompassing design document. + schema: + type: string + enum: + - ok + - update_after + - name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + - name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + - name: key + in: query + required: false + description: Return only the document that matches the specified key. + schema: + type: string + - name: keys + in: query + required: false + schema: + type: array + items: + type: string + description: An array of document ID strings to filter by. + responses: + '200': + description: Returned view successfully + content: + application/json: + schema: + type: object + properties: + total_rows: + type: integer + rows: + type: array + items: + type: object + properties: + id: + type: string + key: + type: object + value: + type: object + doc: + type: object + errors: + type: array + items: + type: object + properties: + From: + type: string + Reason: + type: string + required: + - total_rows + - rows + '403': + description: Forbidden + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_dumpchannel/{channel}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: channel + in: path + description: The channel to dump all the documents from. + required: true + schema: + type: string + get: + summary: Dump all the documents in a channel | Unsupported + operationId: get_keyspace-_dumpchannel-channel + tags: + - Unsupported + description: >- + **This is unsupported** + + + This queries a channel and displays all the document IDs and revisions + that are in that channel. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + parameters: + - name: since + in: query + description: >- + Starts the results from the change immediately after the given + sequence ID. Sequence IDs should be considered opaque; they come + from the last_seq property of a prior response. + schema: + type: string + responses: + '200': + description: Successfully got all documents in the channel + content: + text/html: + schema: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_repair': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Disabled endpoint + operationId: post_db-_repair + tags: + - Unsupported + description: |- + This endpoint is disabled. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Architect + responses: + '500': + description: This endpoint is disabled + '/{db}/_compact': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Manage a compact operation + operationId: post_db-_compact + tags: + - Database Management + description: >- + This allows a new compact operation to be done on the database, or to + stop an existing running compact operation. + + + The type of compaction that is done depends on what the `type` query + parameter is set to. The 2 options will: + + * `tombstone` - purge the JSON bodies of non-leaf revisions. This is + known as database compaction. Database compaction is done periodically + automatically by the system. JSON bodies of leaf nodes (conflicting + branches) are not removed therefore it is important to resolve conflicts + in order to re-claim disk space. + + * `attachment` - purge all unlinked/unused legacy (pre 3.0) attachments. + If the previous attachment compact operation failed, this will attempt + to restart the `compact_id` at the appropriate phase (if possible). + + + Both types can each have a maximum of 1 compact operation running at any + one point. This means that an attachment compaction can be running at + the same time as a tombstone compaction but not 2 tombstone compactions. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: type + in: query + required: false + schema: + type: string + default: tombstone + enum: + - attachment + - tombstone + description: |- + This is the type of compaction to use. The type must be either: + * `attachment` for cleaning up legacy (pre-3.0) attachments + * `tombstone` for purging the JSON bodies of non-leaf revisions.' + - name: action + in: query + description: Defines whether the compact operation is being started or stopped. + schema: + type: string + default: start + enum: + - start + - stop + - name: reset + in: query + description: >- + **Attachment compaction only** + + + This forces a fresh compact start instead of trying to resume the + previous failed compact operation. + schema: + type: boolean + - name: dry_run + in: query + description: >- + **Attachment compaction only** + + + This will run through all 3 stages of attachment compact but will + not purge any attachments. This can be used to check how many + attachments will be purged.' + schema: + type: boolean + responses: + '200': + description: Started or stopped compact operation successfully + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '503': + description: >- + Cannot start compaction due to another compaction operation still + running. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + get: + summary: Get the status of the most recent compact operation + operationId: get_db-_compact + tags: + - Database Management + description: >- + This will retrieve the current status of the most recent compact + operation. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + parameters: + - name: type + in: query + required: false + schema: + type: string + default: tombstone + enum: + - attachment + - tombstone + description: |- + This is the type of compaction to use. The type must be either: + * `attachment` for cleaning up legacy (pre-3.0) attachments + * `tombstone` for purging the JSON bodies of non-leaf revisions.' + responses: + '200': + description: Compaction status retrieved successfully + content: + application/json: + schema: + description: The status returned from a compaction. + type: object + properties: + status: + description: The status of the current operation. + type: string + start_time: + description: >- + The ISO-8601 date and time the compact operation was + started. + type: string + last_error: + description: >- + The last error that occurred in the compact operation (if + any). + type: string + docs_purged: + description: >- + **Applicable to tombstone compaction only** + + + This is the amount of documents that have been purged so + far. + type: string + marked_attachments: + description: >- + **Applicable to attachment compaction only** + + + This is the number of references there are to legacy + attachments. + type: string + purged_attachments: + description: >- + **Applicable to attachment compaction only** + + + This is the amount of attachments that have been purged so + far. + type: string + compact_id: + description: |- + **Applicable to attachment compaction only** + + This is the ID of the compaction. + type: string + phase: + description: >- + **Applicable to attachment compaction only** + + + This indicates the current phase of running attachment + compact processes. + + + For failed processes, this indicates the phase at which a + compact_id restart will commence (where relevant). + type: string + dry_run: + description: | + **Applicable to attachment compaction only** + type: string + enum: + - mark + - sweep + - cleanup + required: + - status + - start_time + - last_error + title: Compact-status + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Create a new document + operationId: post_keyspace- + tags: + - Document + description: |- + Create a new document in the keyspace. + + This will generate a random document ID unless specified in the body. + + A document can have a maximum size of 20MB. + parameters: + - name: roundtrip + in: query + required: false + schema: + type: boolean + description: Block until document has been received by change cache + requestBody: + content: + application/json: + schema: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. The + expiration time is set and managed on the Couchbase Server + document. The value can be specified in two ways; in + ISO-8601 format, for example the 6th of July 2022 at 17:00 + in the BST timezone would be `2016-07-06T17:00:00+01:00`; it + can also be specified as a numeric Couchbase Server expiry + value. Couchbase Server expiry values are specified as Unix + time, and if the desired TTL is below 30 days then it can + also represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 + seconds after it is written to Couchbase Server). The + document expiration time is returned in the response of `GET + /{db}/{doc} ` when `show_exp=true` is included in the query. + + + As with the existing explicit purge mechanism, this applies + only to the local database; it has nothing to do with + replication. This expiration time is not propagated when the + document is replicated. The purge of the document does not + cause it to be deleted on any other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, it is a + tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: >- + Array of valid revision IDs, in reverse order (latest + first). + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + responses: + '200': + description: New document revision created successfully. + headers: + Etag: + schema: + type: string + description: The revision ID of the newly created document. + Location: + schema: + type: string + description: The document ID of the newly created document. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '415': + description: Invalid content type + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + /_expvar: + get: + summary: Get all Sync Gateway statistics in JSON format + operationId: get__expvar + tags: + - Metrics + description: >- + This returns a snapshot of all metrics in Sync Gateway for debugging and + monitoring purposes. + + + This includes per database stats, replication stats, and server stats. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Dev Ops + + * External Stats Reader + responses: + '200': + description: |- + Successfully returned statistics. + For details, see [JSON Metrics](stats-monitoring-json.html). + content: + application/json: + schema: + type: object + properties: + cmdline: + description: >- + Built-in variables from the Go runtime, lists the + command-line arguments + type: object + memstats: + description: >- + Dumps a large amount of information about the memory heap + and garbage collector + type: object + cb: + description: >- + Variables reported by the Couchbase SDK (go_couchbase + package) + type: object + mc: + description: >- + Variables reported by the low-level memcached API + (gomemcached package) + type: object + syncGateway_changeCache: + type: object + properties: + maxPending: + description: >- + Max number of sequences waiting on a missing earlier + sequence number + type: object + lag-tap-0000ms: + description: >- + Histogram of delay from doc save till it shows up in + Tap feed + type: object + lag-queue-0000ms: + description: >- + Histogram of delay from Tap feed till doc is posted to + changes feed + type: object + lag-total-0000ms: + description: >- + Histogram of total delay from doc save till posted to + changes feed + type: object + outOfOrder: + description: Number of out-of-order sequences posted + type: object + view_queries: + description: Number of queries to channels view + type: object + syncGateway_db: + type: object + properties: + channelChangesFeeds: + description: >- + Number of calls to db.changesFeed, i.e. generating a + changes feed for a single channel. + type: object + channelLogAdds: + description: Number of entries added to channel logs + type: object + channelLogAppends: + description: >- + Number of times entries were written to channel logs + using an APPEND operation + type: object + channelLogCacheHits: + description: >- + Number of requests for channel-logs that were + fulfilled from the in-memory cache + type: object + channelLogRewrites: + description: >- + Number of times entries were written to channel logs + using a SET operation (rewriting the entire log) + type: object + channelLogRewriteCollisions: + description: >- + Number of collisions while attempting to rewrite + channel logs using SET + type: object + document_gets: + description: Number of times a document was read from the database + type: object + revisionCache_adds: + description: Number of revisions added to the revision cache + type: object + revisionCache_hits: + description: Number of times a revision-cache lookup succeeded + type: object + revisionCache_misses: + description: Number of times a revision-cache lookup failed + type: object + revs_added: + description: >- + Number of revisions added to the database (including + deletions) + type: object + sequence_gets: + description: Number of times the database's lastSequence was read + type: object + sequence_reserves: + description: >- + Number of times the database's lastSequence was + incremented + type: object + syncgateway: + description: Monitoring stats + type: object + properties: + global: + description: Global Sync Gateway stats + type: object + properties: + resource_utilization: + description: Resource utilization stats + type: object + properties: + admin_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node + start-up) on the network interface to which + the Sync Gateway api.admin_interface is bound. + admin_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node + start-up) on the network interface to which + the Sync Gateway api.admin_interface is bound. + error_count: + type: integer + description: The total number of errors logged. + go_memstats_heapalloc: + type: integer + description: >- + HeapAlloc is bytes of allocated heap objects. + Allocated heap objects include all reachable + objects, as well as unreachable objects that + the garbage collector has not yet freed. + Specifically, HeapAlloc increases as heap + objects are allocated and decreases as the + heap is swept and unreachable objects are + freed. Sweeping occurs incrementally between + GC cycles, so these two processes occur + simultaneously, and as a result HeapAlloc + tends to change smoothly (in contrast with the + sawtooth that is typical of stop-the-world + garbage collectors). + go_memstats_heapidle: + type: integer + description: >- + HeapIdle is bytes in idle (unused) spans. Idle + spans have no objects in them. These spans + could be (and may already have been) returned + to the OS, or they can be reused for heap + allocations, or they can be reused as stack + memory. HeapIdle minus HeapReleased estimates + the amount of memory that could be returned to + the OS, but is being retained by the runtime + so it can grow the heap without requesting + more memory from the OS. If this difference is + significantly larger than the heap size, it + indicates there was a recent transient spike + in live heap size. + go_memstats_heapinuse: + type: integer + description: >- + HeapInuse is bytes in in-use spans. In-use + spans have at least one object in them. These + spans an only be used for other objects of + roughly the same size. HeapInuse minus + HeapAlloc estimates the amount of memory that + has been dedicated to particular size classes, + but is not currently being used. This is an + upper bound on fragmentation, but in general + this memory can be reused efficiently. + go_memstats_heapreleased: + type: integer + description: >- + HeapReleased is bytes of physical memory + returned to the OS. This counts heap memory + from idle spans that was returned to the OS + and has not yet been reacquired for the heap. + go_memstats_pausetotalns: + type: integer + description: >- + PauseTotalNs is the cumulative nanoseconds in + GC stop-the-world pauses since the program + started. During a stop-the-world pause, all + goroutines are paused and only the garbage + collector can run. + go_memstats_stackinuse: + type: integer + description: >- + StackInuse is bytes in stack spans. In-use + stack spans have at least one stack in them. + These spans can only be used for other stacks + of the same size. There is no StackIdle + because unused stack spans are returned to the + heap (and hence counted toward HeapIdle). + go_memstats_stacksys: + type: integer + description: >- + StackSys is bytes of stack memory obtained + from the OS. StackSys is StackInuse, plus any + memory obtained directly from the OS for OS + thread stacks (which should be minimal). + go_memstats_sys: + type: integer + description: >- + Sys is the total bytes of memory obtained from + the OS. Sys is the sum of the XSys fields + below. Sys measures the virtual address space + reserved by the Go runtime for the heap, + stacks, and other internal data structures. + It's likely that not all of the virtual + address space is backed by physical memory at + any given moment, though in general it all was + at some point. + goroutines_high_watermark: + type: integer + description: >- + Peak number of go routines since process + start. + num_goroutines: + type: integer + description: The total number of goroutines. + num_idle_kv_ops: + type: integer + description: The total number of idle kv operations. + num_idle_query_ops: + type: integer + description: The total number of idle query operations. + process_cpu_percent_utilization: + type: number + format: float + description: >- + The CPU utilization as percentage value * 10. + The extra 10 multiplier is a mistake left for + backwards compatibility. Please consider using + node_cpu_percent_utilization as of version + 3.2. The CPU usage calculation is performed + based on user and system CPU time, but it does + not include components such as iowait. The + derivation means that the values of + process_cpu_percent_utilization and %Cpu, + returned when running the top command, will + differ. + node_cpu_percent_utilization: + type: number + format: float + description: >- + The node CPU utilization as percentage value, + since the last time this stat was called. The + CPU usage calculation is performed based on + user and system CPU time, but it does not + include components such as iowait. + process_memory_resident: + type: integer + description: >- + The memory utilization (Resident Set Size) for + the process, in bytes. + pub_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node + start-up) on the network interface to which + the Sync Gateway api.public_interface is + bound. By default, that is the number of bytes + received on 127.0.0.1:4984 since node start-up + pub_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node + start-up) on the network interface to which + Sync Gateway api.public_interface is bound. By + default, that is the number of bytes sent on + 127.0.0.1:4984 since node start-up. + system_memory_total: + type: integer + description: >- + The total memory available on the system in + bytes. + warn_count: + type: integer + description: The total number of warnings logged. + uptime: + type: integer + description: The total uptime. + per_db: + description: >- + This array contains stats for all databases declared + in the config file — see [View Statistics and + Metrics](stats-monitoring.html) for more details on + the metrics collected and reported by Sync Gateway. + + + The statistics for each database are grouped into: + + - cache related statistics + + - collections statistics + + - cbl_replication_push + + - cbl_replication_pull + + - database_related_statistics + + - delta_sync + + - gsi_views + + - security_related_statistics + + - shared_bucket_import + + - per_replication statistics for each `replication_id` + type: array + items: + type: object + properties: + cache: + type: object + database: + type: object + per_replication: + type: object + collections: + type: object + security: + type: object + per_replication: + description: >- + An array of stats for each replication declared in the + config file + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: array + items: + type: object + description: Stats for a given replication_id + properties: + $replication_id: + type: object + properties: + sgr_active: + description: >- + Whether the replication is active at this + time. + + **Deprecated @ 2.8**: used only by + inter-sync-gateway replications version 1. + type: boolean + sgr_docs_checked_sent: + description: >- + The total number of documents checked for + changes since replication started. + + This represents the number of potential + change notifications pushed by Sync Gateway. + + **Constraints** + This is not necessarily the number of documents pushed, as a given target might already have the change. + Used by versions 1 and 2. + type: integer + sgr_num_attachments_transferred: + description: >- + The total number of attachments transferred + since replication started. + + **Deprecated @ 2.8**: used only by + inter-sync-gateway replications version 1. + type: integer + sgr_num_attachment_bytes_transferred: + description: >- + The total number of attachment bytes + transferred since replication started. + + **Deprecated @ 2.8**: used only by + inter-sync-gateway replications version 1. + type: integer + sgr_num_docs_failed_to_push: + description: >- + The total number of documents that failed to + be pushed since replication started. + + Used by versions 1 and 2. + type: integer + sgr_num_docs_pushed: + description: >- + The total number of documents that were + pushed since replication started. + + Used by versions 1 and 2. + type: integer + deprecated: true + /: + get: + summary: Get server information + operationId: get_- + tags: + - Server + description: Returns information about the Sync Gateway node. + responses: + '200': + description: Returned server information + content: + application/json: + schema: + type: object + properties: + ADMIN: + description: >- + `true` if the request is from the Admin API - otherwise + omitted. + type: boolean + example: true + couchdb: + description: CouchDB welcome + type: string + example: Welcome + vendor: + allOf: + - description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + version: + description: >- + Product version, including the build number and edition + (i.e. `EE` or `CE`) + + Omitted if `api.hide_product_version=true` + type: string + example: Couchbase Sync Gateway/3.1.0(1;a765231) EE + persistent_config: + description: >- + Indication for whether sync gateway is running in + persistent config mode or legacy config mode. + + `true` if the sync gateway node is running in persistent + config mode. + type: boolean + example: true + required: + - couchdb + - vendor + head: + summary: Check if server online + operationId: head_- + tags: + - Server + description: Check if the server is online by checking the status code of response. + responses: + '200': + description: Server is online + /_ping: + get: + summary: Check if API is available + operationId: get__ping + tags: + - Server + description: Returns OK status if API is available. + responses: + '200': + description: Returned status + content: + text/plain: + schema: + type: string + example: OK + '/{keyspace}/_changes': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + get: + summary: Get changes list + operationId: get_keyspace-_changes + tags: + - Document + description: >- + This request retrieves a sorted list of changes made to documents in the + database, in time order of application. Each document appears at most + once, ordered by its most recent change, regardless of how many times it + has been changed. + + + This request can be used to listen for update and modifications to the + database for post processing or synchronization. A continuously + connected changes feed is a reasonable approach for generating a + real-time log for most applications. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + parameters: + - name: limit + in: query + description: Maximum number of changes to return. + schema: + type: integer + - name: since + in: query + description: >- + Starts the results from the change immediately after the given + sequence ID. Sequence IDs should be considered opaque; they come + from the last_seq property of a prior response. + schema: + type: string + - name: style + in: query + description: >- + Controls whether to return the current winning revision + (`main_only`) or all the leaf revision including conflicts and + deleted former conflicts (`all_docs`). + schema: + type: string + default: main_only + enum: + - main_only + - all_docs + - name: active_only + in: query + description: >- + Set true to exclude deleted documents and notifications for + documents the user no longer has access to from the changes feed. + schema: + type: boolean + default: false + - name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + - name: revocations + in: query + description: 'If true, revocation messages will be sent on the changes feed.' + schema: + type: boolean + - name: filter + in: query + description: Set a filter to either filter by channels or document IDs. + schema: + type: string + enum: + - sync_gateway/bychannel + - _doc_ids + - name: channels + in: query + description: >- + A comma-separated list of channel names to filter the response to + only the channels specified. To use this option, the `filter` query + option must be set to `sync_gateway/bychannels`. + schema: + type: string + - name: doc_ids + in: query + description: >- + A valid JSON array of document IDs to filter the documents in the + response to only the documents specified. To use this option, the + `filter` query option must be set to `_doc_ids` and the `feed` + parameter must be `normal`. Also accepts a comma separated list of + document IDs instead. + schema: + type: array + items: + type: string + - name: heartbeat + in: query + description: >- + The interval (in milliseconds) to send an empty line (CRLF) in the + response. This is to help prevent gateways from deciding the socket + is idle and therefore closing it. This is only applicable to + `feed=longpoll` or `feed=continuous`. This will override any + timeouts to keep the feed alive indefinitely. Setting to 0 results + in no heartbeat. The maximum heartbeat can be set in the server + replication configuration. If heartbeat is non zero, it must be at + least 25000 milliseconds. + schema: + type: integer + default: 0 + - name: timeout + in: query + description: >- + This is the maximum period (in milliseconds) to wait for a change + before the response is sent, even if there are no results. This is + only applicable for `feed=longpoll` or `feed=continuous` changes + feeds. Setting to 0 results in no timeout. + schema: + type: integer + default: 300000 + maximum: 900000 + minimum: 0 + - name: feed + in: query + description: 'The type of changes feed to use. ' + schema: + type: string + default: normal + enum: + - normal + - longpoll + - continuous + - websocket + - name: request_plus + in: query + description: >- + When true, ensures all valid documents written prior to the request + being issued are included in the response. This is only applicable + for non-continuous feeds. + schema: + type: boolean + default: false + responses: + '200': + description: Successfully returned the changes feed + content: + application/json: + schema: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing + only a `rev` field. + type: array + items: + type: object + properties: + rev: + description: >- + The new revision that was caused by that + change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Get changes list + description: >- + This request retrieves a sorted list of changes made to documents in the + database, in time order of application. Each document appears at most + once, ordered by its most recent change, regardless of how many times it + has been changed. + + + This request can be used to listen for update and modifications to the + database for post processing or synchronization. A continuously + connected changes feed is a reasonable approach for generating a + real-time log for most applications. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + requestBody: + content: + application/json: + schema: + type: object + properties: + limit: + description: Maximum number of changes to return. + type: string + style: + description: >- + Controls whether to return the current winning revision + (`main_only`) or all the leaf revision including conflicts + and deleted former conflicts (`all_docs`). + type: string + active_only: + description: >- + Set true to exclude deleted documents and notifications for + documents the user no longer has access to from the changes + feed. + type: string + include_docs: + description: Include the body associated with each document. + type: string + revocations: + description: >- + If true, revocation messages will be sent on the changes + feed. + type: string + filter: + description: Set a filter to either filter by channels or document IDs. + type: string + channels: + description: >- + A comma-separated list of channel names to filter the + response to only the channels specified. To use this option, + the `filter` query option must be set to + `sync_gateway/bychannels`. + type: string + doc_ids: + description: >- + A valid JSON array of document IDs to filter the documents + in the response to only the documents specified. To use this + option, the `filter` query option must be set to `_doc_ids` + and the `feed` parameter must be `normal`. + type: string + heartbeat: + description: >- + The interval (in milliseconds) to send an empty line (CRLF) + in the response. This is to help prevent gateways from + deciding the socket is idle and therefore closing it. This + is only applicable to `feed=longpoll` or `feed=continuous`. + This will override any timeouts to keep the feed alive + indefinitely. Setting to 0 results in no heartbeat. The + maximum heartbeat can be set in the server replication + configuration. + type: string + timeout: + description: >- + This is the maximum period (in milliseconds) to wait for a + change before the response is sent, even if there are no + results. This is only applicable for `feed=longpoll` or + `feed=continuous` changes feeds. Setting to 0 results in no + timeout. + type: string + feed: + description: 'The type of changes feed to use. ' + type: string + request_plus: + description: >- + When true, ensures all valid documents written prior to the + request being issued are included in the response. This is + only applicable for non-continuous feeds. + type: boolean + default: false + operationId: post_keyspace-_changes + tags: + - Document + responses: + '200': + description: Successfully returned the changes feed + content: + application/json: + schema: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing + only a `rev` field. + type: array + items: + type: object + properties: + rev: + description: >- + The new revision that was caused by that + change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_design/{ddoc}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: ddoc + in: path + required: true + schema: + type: string + description: The design document name. + get: + summary: Get views of a design document | Unsupported + operationId: get_db-_design-ddoc + tags: + - Unsupported + description: |- + **This is unsupported** + + Query a design document. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + responses: + '200': + description: Successfully returned design document. + content: + application/json: + schema: + description: Properties of a design document + type: object + properties: + language: + type: string + views: + type: object + additionalProperties: + x-additionalPropertiesName: viewname + description: The name of the view. + type: object + properties: + map: + type: string + reduce: + type: string + options: + type: object + properties: + local_seq: + type: string + include_design: + type: string + raw: + type: string + index_xattr_on_deleted_docs: + type: string + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Update views of a design document | Unsupported + description: |- + **This is unsupported** + + Update the views of a design document. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + requestBody: + content: + application/json: + schema: + description: Properties of a design document + type: object + properties: + language: + type: string + views: + type: object + additionalProperties: + x-additionalPropertiesName: viewname + description: The name of the view. + type: object + properties: + map: + type: string + reduce: + type: string + options: + type: object + properties: + local_seq: + type: string + include_design: + type: string + raw: + type: string + index_xattr_on_deleted_docs: + type: string + operationId: put_db-_design-ddoc + tags: + - Unsupported + responses: + '200': + description: Design document changes successfully + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Delete a design document | Unsupported + operationId: delete_db-_design-ddoc + tags: + - Unsupported + description: |- + **This is unsupported** + + Delete a design document. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + responses: + '200': + description: Design document deleted successfully + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if view of design document exists | Unsupported + operationId: head_db-_design-ddoc + tags: + - Unsupported + description: |- + **This is unsupported** + + Check if a design document can be queried. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + responses: + '200': + description: Design document exists + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_design/{ddoc}/_view/{view}': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: ddoc + in: path + required: true + schema: + type: string + description: The design document name. + - name: view + in: path + required: true + schema: + type: string + description: The view to target. + get: + summary: Query a view on a design document | Unsupported + operationId: get_db-_design-ddoc-_view-view + tags: + - Unsupported + description: |- + **This is unsupported** + + Query a view on a design document. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + parameters: + - name: inclusive_end + in: query + required: false + description: >- + Indicates whether the specified end key should be included in the + result. + schema: + type: boolean + - name: descending + in: query + required: false + description: Return documents in descending order. + schema: + type: boolean + - name: include_docs + in: query + required: false + description: >- + Only works when using Couchbase Server 3.0 and earlier. Indicates + whether to include the full content of the documents in the + response. + schema: + type: boolean + - name: reduce + in: query + required: false + description: Whether to execute a reduce function on the response or not. + schema: + type: boolean + - name: group + in: query + required: false + description: >- + Group the results using the reduce function to a group or single + row. + schema: + type: boolean + - name: skip + in: query + required: false + description: >- + Skip the specified number of documents before starting to return + results. + schema: + type: integer + - name: limit + in: query + required: false + description: Return only the specified number of documents + schema: + type: integer + - name: group_level + in: query + required: false + description: Specify the group level to be used. + schema: + type: integer + - name: startkey_docid + in: query + required: false + description: Return documents starting with the specified document identifier. + schema: + type: string + - name: endkey_docid + in: query + required: false + description: >- + Stop returning records when the specified document identifier is + reached. + schema: + type: string + - name: stale + in: query + required: false + description: >- + Allow the results from a stale view to be used, without triggering a + rebuild of all views within the encompassing design document. + schema: + type: string + enum: + - ok + - update_after + - name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + - name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + - name: key + in: query + required: false + description: Return only the document that matches the specified key. + schema: + type: string + - name: keys + in: query + required: false + schema: + type: array + items: + type: string + description: An array of document ID strings to filter by. + responses: + '200': + description: Returned view successfully + content: + application/json: + schema: + type: object + properties: + total_rows: + type: integer + rows: + type: array + items: + type: object + properties: + id: + type: string + key: + type: object + value: + type: object + doc: + type: object + errors: + type: array + items: + type: object + properties: + From: + type: string + Reason: + type: string + required: + - total_rows + - rows + '403': + description: Forbidden + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_revs_diff': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Compare revisions to what is in the database + description: >- + Takes a set of document IDs, each with a set of revision IDs. For each + document, an array of unknown revisions are returned with an array of + known revisions that may be recent ancestors. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + requestBody: + content: + application/json: + schema: + type: object + properties: + docid: + description: >- + The document ID with an array of revisions to use for the + comparison. + type: array + items: + type: string + operationId: post_keyspace-_revs_diff + tags: + - Document + responses: + '200': + description: Comparisons successful + content: + application/json: + schema: + type: object + properties: + docid: + description: The document ID. + type: object + properties: + missing: + description: >- + The revisions that are not in the database (and + therefore `missing`). + type: array + items: + type: string + possible_ancestors: + description: >- + An array of known revisions that might be the recent + ancestors. + type: array + items: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_local/{docid}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + description: The name of the local document ID excluding the `_local/` prefix. + required: true + schema: + type: string + get: + summary: Get local document + operationId: get_keyspace-_local-docid + tags: + - Document + description: >- + This request retrieves a local document. + + + Local document IDs begin with `_local/`. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by Couchbase + Lite's replicator, as a place to store replication checkpoint data. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + responses: + '200': + description: Successfully found local document + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Upsert a local document + description: >- + This request creates or updates a local document. Updating a local + document requires that the revision ID be put in the body under `_rev`. + + + Local document IDs are given a `_local/` prefix. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by the + client's replicator, as a place to store replication checkpoint data. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + requestBody: + description: The body of the document + content: + application/json: + schema: + type: object + properties: + _rev: + description: >- + Revision to replace. Required if updating existing local + document. + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + operationId: put_keyspace-_local-docid + tags: + - Document + responses: + '201': + description: >- + Document successfully written. The document ID will be prefixed with + `_local/`. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: >- + A revision ID conflict would result from updating this document + revision. + delete: + summary: Delete a local document + operationId: delete_keyspace-_local-docid + tags: + - Document + description: >- + This request deletes a local document. + + + Local document IDs begin with `_local/`. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by Couchbase + Lite's replicator, as a place to store replication checkpoint data. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + parameters: + - name: rev + in: query + description: The revision ID of the revision to delete. + required: true + schema: + type: string + responses: + '200': + description: Successfully removed the local document. + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: >- + A revision ID conflict would result from deleting this document + revision. + head: + summary: Check if local document exists + operationId: head_keyspace-_local-docid + tags: + - Document + description: >- + This request checks if a local document exists. + + + Local document IDs begin with `_local/`. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by Couchbase + Lite's replicator, as a place to store replication checkpoint data. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + responses: + '200': + description: Document exists + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/{docid}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + get: + summary: Get a document + operationId: get_keyspace-docid + tags: + - Document + description: |- + Retrieve a document from the database by its doc ID. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: open_revs + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Option to fetch specified revisions of the document. The value can + be all to fetch all leaf revisions or an array of revision numbers + (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that + haven't been pruned are guaranteed to be returned. If this option is + specified the response will be in multipart format. Use the `Accept: + application/json` request header to get the result as a JSON object. + - name: show_exp + in: query + required: false + schema: + type: boolean + description: Whether to show the expiry property (`_exp`) in the response. + - name: revs_from + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Trim the revision history to stop at the first revision in the + provided list. If no match is found, the revisions will be trimmed + to the `revs_limit`. + - name: atts_since + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Include attachments only since specified revisions. Excludes the + attachments for the specified revisions. Only gets used if + `attachments=true`. + - name: revs_limit + in: query + required: false + schema: + type: integer + description: Maximum amount of revisions to return for each document. + - name: attachments + in: query + required: false + schema: + type: boolean + description: Include attachment bodies in response. + - name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. + This is an enterprise-edition only feature. + responses: + '200': + description: Document found and returned successfully + headers: + Etag: + schema: + type: string + description: The document revision ID if only returning 1 revision. + content: + application/json: + schema: + type: object + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision ID of the document. + type: string + additionalProperties: true + example: + FailedLoginAttempts: 5 + Friends: + - Bob + _id: AliceSettings + _rev: 1-64d4a1f179db5c1848fe52967b47c166 + '400': + description: >- + Document ID is not in an allowed format therefore is invalid. + + + This could be because it is over 250 characters or is prefixed with + an underscore ("_"). + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '501': + description: >- + Not Implemented. It is likely this error was caused due to trying to + use an enterprise-only feature on the community edition. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + put: + summary: Upsert a document + operationId: put_keyspace-docid + tags: + - Document + description: >- + This will upsert a document meaning if it does not exist, then it will + be created. Otherwise a new revision will be made for the existing + document. A revision ID must be provided if targetting an existing + document. + + + A document ID must be specified for this endpoint. To let Sync Gateway + generate the ID, use the `POST /{db}/` endpoint. + + + If a document does exist, then replace the document content with the + request body. This means unspecified fields will be removed in the new + revision. + + + The maximum size for a document is 20MB. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + parameters: + - name: roundtrip + in: query + required: false + schema: + type: boolean + description: Block until document has been received by change cache + - name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. + This is an enterprise-edition only feature. + - name: new_edits + in: query + required: false + schema: + type: boolean + default: true + description: >- + Setting this to false indicates that the request body is an + already-existing revision that should be directly inserted into the + database, instead of a modification to apply to the current + document. This mode is used for replication. This option must be + used in conjunction with the `_revisions` property in the request + body. + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: If-Match + in: header + required: false + schema: + type: string + description: The revision ID to target. + requestBody: + content: + application/json: + schema: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. The + expiration time is set and managed on the Couchbase Server + document. The value can be specified in two ways; in + ISO-8601 format, for example the 6th of July 2022 at 17:00 + in the BST timezone would be `2016-07-06T17:00:00+01:00`; it + can also be specified as a numeric Couchbase Server expiry + value. Couchbase Server expiry values are specified as Unix + time, and if the desired TTL is below 30 days then it can + also represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 + seconds after it is written to Couchbase Server). The + document expiration time is returned in the response of `GET + /{db}/{doc} ` when `show_exp=true` is included in the query. + + + As with the existing explicit purge mechanism, this applies + only to the local database; it has nothing to do with + replication. This expiration time is not propagated when the + document is replicated. The purge of the document does not + cause it to be deleted on any other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, it is a + tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: >- + Array of valid revision IDs, in reverse order (latest + first). + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + responses: + '201': + description: Created + headers: + Etag: + schema: + type: string + description: >- + The revision of the written document. Not set if query option + `new_edits` is true. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '415': + description: Invalid content type + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + delete: + summary: Delete a document + operationId: delete_keyspace-docid + tags: + - Document + description: >- + Delete a document from the database. A new revision is created so the + database can track the deletion in synchronized copies. + + + A revision ID either in the header or on the query parameters is + required. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: If-Match + in: header + required: false + schema: + type: string + description: The revision ID to target. + responses: + '200': + description: New revision created successfully + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if a document exists + operationId: head_keyspace-docid + tags: + - Document + description: |- + Return a status code based on if the document exists or not. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: open_revs + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Option to fetch specified revisions of the document. The value can + be all to fetch all leaf revisions or an array of revision numbers + (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that + haven't been pruned are guaranteed to be returned. If this option is + specified the response will be in multipart format. Use the `Accept: + application/json` request header to get the result as a JSON object. + - name: show_exp + in: query + required: false + schema: + type: boolean + description: Whether to show the expiry property (`_exp`) in the response. + - name: revs_from + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Trim the revision history to stop at the first revision in the + provided list. If no match is found, the revisions will be trimmed + to the `revs_limit`. + - name: atts_since + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Include attachments only since specified revisions. Excludes the + attachments for the specified revisions. Only gets used if + `attachments=true`. + - name: revs_limit + in: query + required: false + schema: + type: integer + description: Maximum amount of revisions to return for each document. + - name: attachments + in: query + required: false + schema: + type: boolean + description: Include attachment bodies in response. + - name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. + This is an enterprise-edition only feature. + responses: + '200': + description: Document exists + '400': + description: >- + Document ID is not in an allowed format therefore is invalid. + + + This could be because it is over 250 characters or is prefixed with + an underscore ("_"). + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/{docid}/{attach}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + - name: attach + in: path + description: >- + The attachment name. This value must be URL encoded. For example, if + the attachment name is `blob_/avatar`, the path component passed to + the URL should be `blob_%2Favatar` (tested with + [URLEncoder](https://www.urlencoder.org/)). + required: true + schema: + type: string + get: + summary: Get an attachment from a document + operationId: get_keyspace-docid-attach + tags: + - Document + description: >- + This request retrieves a file attachment associated with the document. + + + The raw data of the associated attachment is returned (just as if you + were accessing a static file). The `Content-Type` response header is the + same content type set when the document attachment was added to the + database. The `Content-Disposition` response header will be set if the + content type is considered unsafe to display in a browser (unless + overridden by by database config option + `serve_insecure_attachment_types`) which will force the attachment to be + downloaded. + + + If the `meta` query parameter is set then the response will be in JSON + with the additional metadata tags. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: content_encoding + in: query + description: Set to false to disable the `Content-Encoding` response header. + schema: + type: boolean + default: true + - name: Range + in: header + description: RFC-2616 bytes range header. + schema: + type: string + example: bytes=123-456 + - name: meta + in: query + description: Return only the metadata of the attachment in the response body. + schema: + type: boolean + default: false + responses: + '200': + description: Found attachment successfully. + headers: + Content-Length: + schema: + type: number + description: Length of the attachment in bytes + Etag: + schema: + type: string + description: >- + The attachment digest. Does not get set when request + `meta=true`. + '206': + description: Partial attachment content returned + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '416': + description: Requested range exceeds content length + put: + summary: Create or update an attachment on a document + operationId: put_keyspace-docid-attach + tags: + - Document + description: >- + This request adds or updates an attachment associated with the document. + If the document does not exist, it will be created and the attachment + will be added to it. + + + If the attachment already exists, the data of the existing attachment + will be replaced in the new revision. + + + The maximum content size of an attachment is 20MB. The `Content-Type` + header of the request specifies the content type of the attachment. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + parameters: + - name: Content-Type + in: header + description: The content type of the attachment. + schema: + type: string + default: application/octet-stream + - name: rev + in: query + description: >- + The existing document revision ID to modify. Required only when + modifying an existing document. + schema: + type: string + - name: If-Match + in: header + description: An alternative way of specifying the document revision ID. + schema: + type: string + requestBody: + description: The attachment data + content: + Attachment content type: + schema: + description: The content to store in the body + type: string + responses: + '201': + description: Attachment added to new or existing document successfully + headers: + Etag: + schema: + type: string + description: The ID of the new revision. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + head: + summary: Check if attachment exists + operationId: head_keyspace-docid-attach + tags: + - Document + description: |- + This request check if the attachment exists on the specified document. + + Required Sync Gateway RBAC roles: + + * Sync Gateway Application + * Sync Gateway Application Read Only + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + responses: + '200': + description: The document exists and the attachment exists on the document. + headers: + Content-Length: + schema: + description: Length of the attachment in bytes + type: number + Etag: + schema: + type: string + description: The attachment digest. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Delete an attachment on a document + operationId: delete_keyspace-docid-attach + tags: + - Document + description: >- + This request deletes an attachment associated with the document. + + + If the attachment exists, the attachment will be removed from the + document. + parameters: + - name: rev + in: query + description: The existing document revision ID to modify. + schema: + type: string + - name: If-Match + in: header + description: An alternative way of specifying the document revision ID. + schema: + type: string + responses: + '200': + description: Attachment removed from the document successfully + headers: + Etag: + schema: + type: string + description: The ID of the new revision. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{keyspace}/_all_docs': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + get: + summary: Gets all the documents in the database with the given parameters + operationId: get_keyspace-_all_docs + tags: + - Document + description: >- + Returns all documents in the database based on the specified parameters. + + + This endpoint is not recommended for larger datasets or production + workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more + efficient implementations and should be used instead. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + parameters: + - name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + - name: channels + in: query + required: false + schema: + type: boolean + description: >- + Include the channels each document is part of that the calling user + also has access too. + - name: access + in: query + required: false + schema: + type: boolean + description: Include what user/roles that each document grants access too. + - name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + - name: update_seq + in: query + required: false + schema: + type: boolean + description: >- + Include the document sequence number `update_seq` property for each + document. + - name: keys + in: query + required: false + schema: + type: array + items: + type: string + description: An array of document ID strings to filter by. + - name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + - name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + - name: limit + in: query + required: false + schema: + type: number + description: >- + This limits the number of result rows returned. Using a value of `0` + has the same effect as the value `1`. + responses: + '200': + description: Operation ran successfully + content: + application/json: + schema: + type: object + properties: + rows: + type: array + items: + type: object + properties: + key: + type: string + id: + type: string + value: + type: object + properties: + rev: + type: string + uniqueItems: true + total_rows: + type: number + update_seq: + type: number + required: + - rows + - total_rows + - update_seq + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Get all the documents in the database using a built-in view + operationId: post_keyspace-_all_docs + tags: + - Document + description: >- + Returns all documents in the database based on the specified parameters. + + + This endpoint is not recommended for larger datasets or production + workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more + efficient implementations and should be used instead. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + parameters: + - name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + - name: channels + in: query + required: false + schema: + type: boolean + description: >- + Include the channels each document is part of that the calling user + also has access too. + - name: access + in: query + required: false + schema: + type: boolean + description: Include what user/roles that each document grants access too. + - name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + - name: update_seq + in: query + required: false + schema: + type: boolean + description: >- + Include the document sequence number `update_seq` property for each + document. + - name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + - name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + - name: limit + in: query + required: false + schema: + type: number + description: >- + This limits the number of result rows returned. Using a value of `0` + has the same effect as the value `1`. + requestBody: + content: + application/json: + schema: + type: object + properties: + keys: + description: List of the documents to retrieve. + type: array + items: + type: string + required: + - keys + responses: + '200': + description: Operation ran successfully + content: + application/json: + schema: + type: object + properties: + rows: + type: array + items: + type: object + properties: + key: + type: string + id: + type: string + value: + type: object + properties: + rev: + type: string + uniqueItems: true + total_rows: + type: number + update_seq: + type: number + required: + - rows + - total_rows + - update_seq + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_bulk_docs': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Bulk document operations + description: >- + This will allow multiple documented to be created, updated or deleted in + bulk. + + + To create a new document, simply add the body in an object under `docs`. + A doc ID will be generated by Sync Gateway unless `_id` is specified. + + + To update an existing document, provide the document ID (`_id`) and + revision ID (`_rev`) as well as the new body values. + + + To delete an existing document, provide the document ID (`_id`), + revision ID (`_rev`), and set the deletion flag (`_deleted`) to true. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + requestBody: + content: + application/json: + schema: + type: object + properties: + new_edits: + description: >- + This controls whether to assign new revision identifiers to + new edits (`true`) or use the existing ones (`false`). + type: boolean + default: true + docs: + type: array + items: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. + The expiration time is set and managed on the + Couchbase Server document. The value can be specified + in two ways; in ISO-8601 format, for example the 6th + of July 2022 at 17:00 in the BST timezone would be + `2016-07-06T17:00:00+01:00`; it can also be specified + as a numeric Couchbase Server expiry value. Couchbase + Server expiry values are specified as Unix time, and + if the desired TTL is below 30 days then it can also + represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 + seconds after it is written to Couchbase Server). The + document expiration time is returned in the response + of `GET /{db}/{doc} ` when `show_exp=true` is included + in the query. + + + As with the existing explicit purge mechanism, this + applies only to the local database; it has nothing to + do with replication. This expiration time is not + propagated when the document is replicated. The purge + of the document does not cause it to be deleted on any + other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, + it is a tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: >- + Array of valid revision IDs, in reverse order + (latest first). + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + required: + - docs + example: + new_edits: true + docs: + - _id: FooBar + foo: bar + - _id: AliceSettings + _rev: 5-832a6db48ed130adadede928aee54576 + FailedLoginAttempts: 7 + - _id: BobSettings + _rev: 1-fa76ba41ee5fdfee1b91fc478ed09e59 + _deleted: true + operationId: post_keyspace-_bulk_docs + tags: + - Document + responses: + '201': + description: >- + Executed all operations. + + + Each object in the returned array represents a document. Each + document should be checked to make sure it was successfully added to + the database. + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + description: >- + The ID of the document that the operation was performed + on. + type: string + rev: + description: >- + The new revision of the document if the operation was a + success. + type: string + error: + description: The error type if the operation of the document failed. + type: string + reason: + description: The reason the operation failed. + type: string + status: + description: The HTTP status code for why the operation failed. + type: integer + required: + - id + uniqueItems: true + examples: + Success: + value: + - id: FooBar + rev: 1-cd809becc169215072fd567eebd8b8de + - id: AliceSettings + rev: 6-b3e8dcf825b71ccee112f3572ec4323c + - id: BobSettings + rev: 2-5145e1086bb8d1d71a531e9f6b543c58 + PartialSuccess: + summary: PartialSuccess + value: + - error: conflict + id: FooBar + reason: Document exists + status: 409 + - id: AliceSettings + rev: 6-b3e8dcf825b71ccee112f3572ec4323c + - error: conflict + id: BobSettings + reason: Document revision conflict + status: 409 + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_bulk_get': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Get multiple documents in a MIME multipart response + operationId: post_keyspace-_bulk_get + tags: + - Document + description: > + This request returns any number of documents, as individual bodies in a + MIME multipart response. + + + Each enclosed body contains one requested document. The bodies appear in + the same order as in the request, but can also be identified by their + `X-Doc-ID` and `X-Rev-ID` headers (if the `attachments` query is + `true`). + + + A body for a document with no attachments will have content type + `application/json` and contain the document itself. + + + A body for a document that has attachments will be written as a nested + `multipart/related` body. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + parameters: + - name: attachments + in: query + description: >- + This is for whether to include attachments in each of the documents + returned or not. + schema: + type: boolean + default: false + - name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + - name: revs_limit + in: query + description: >- + The number of revisions to include in the response from the document + history. This parameter only makes a different if the `revs` query + parameter is set to `true`. The full revision history will be + returned if `revs` is set but this is not. + schema: + type: integer + - name: X-Accept-Part-Encoding + in: header + description: >- + If this header includes `gzip` then the part HTTP compression + encoding will be done. + schema: + type: string + - name: Accept-Encoding + in: header + description: >- + If this header includes `gzip` then the the HTTP response will be + compressed. This takes priority over `X-Accept-Part-Encoding`. Only + part compression will be done if `X-Accept-Part-Encoding=gzip` and + the `User-Agent` is below 1.2 due to clients not being able to + handle full compression. + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + docs: + type: array + items: + type: object + properties: + id: + description: ID of the document to retrieve. + type: string + required: + - id + required: + - docs + example: + docs: + - id: FooBar + - id: attachment + - id: AliceSettings + responses: + '200': + description: Returned the requested docs as `multipart/mixed` response type + '400': + description: Bad Request + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_oidc': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect authentication initiation via Location header redirect + operationId: get_db-_oidc + tags: + - Authentication + description: >- + Called by clients to initiate the OpenID Connect Authorization Code + Flow. Redirects to the OpenID Connect provider if successful. + parameters: + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + - name: offline + in: query + required: false + schema: + type: string + description: >- + If true, the OpenID Connect provider is requested to confirm with + the user the permissions requested and refresh the OIDC token. To do + this, access_type=offline and prompt=consent is set on the + redirection link. + responses: + '302': + description: >- + Successfully connected with the OpenID Connect provider so now + redirecting to the requested OIDC provider for authentication. + headers: + Location: + schema: + type: string + description: The link to redirect to so the client can authenticate. + '400': + description: >- + The provider provided is not defined in the Sync Gateway config. If + no provided was specified then there is no default provider set. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + '/{db}/_oidc_challenge': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect authentication initiation via WWW-Authenticate header + operationId: get_db-_oidc_challenge + tags: + - Authentication + description: >- + Called by clients to initiate the OpenID Connect Authorization Code + Flow. This will establish a connection with the provider, then put the + redirect URL in the `WWW-Authenticate` header. + parameters: + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + - name: offline + in: query + required: false + schema: + type: string + description: >- + If true, the OpenID Connect provider is requested to confirm with + the user the permissions requested and refresh the OIDC token. To do + this, access_type=offline and prompt=consent is set on the + redirection link. + responses: + '400': + description: >- + The provider provided is not defined in the Sync Gateway config. If + no provided was specified then there is no default provider set. + '401': + description: >- + Successfully connected with the OpenID Connect provider so now the + client can login. + headers: + WWW-Authenticate: + schema: + type: string + description: The OpenID Connect authentication URL. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + '/{db}/_oidc_callback': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect authentication callback + operationId: get_db-_oidc_callback + tags: + - Authentication + description: >- + The callback URL that the client is redirected to after authenticating + with the OpenID Connect provider. + parameters: + - name: error + in: query + description: 'The OpenID Connect error, if any occurred.' + schema: + type: string + - name: code + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication code. + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + - name: state + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect state to verify against the state cookie. This is + used to prevent cross-site request forgery (CSRF). This is not + required if `disable_callback_state=true` for the provider config + (NOT recommended). + responses: + '200': + description: Successfully authenticated with OpenID Connect. + content: + application/json: + schema: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + '400': + description: A problem occurred when reading the callback request body + '401': + description: >- + An error was received from the OpenID Connect provider. This means + the error query parameter was filled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: A problem occurred in regards to the token + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '/{db}/_oidc_refresh': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect token refresh + operationId: get_db-_oidc_refresh + tags: + - Authentication + description: Refresh the OpenID Connect token based on the provided refresh token. + parameters: + - name: refresh_token + in: query + description: The OpenID Connect refresh token. + required: true + schema: + type: string + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + responses: + '200': + description: Successfully authenticated with OpenID Connect. + content: + application/json: + schema: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + '400': + description: >- + The provider provided is not defined in the Sync Gateway config. If + no provided was specified then there is no default provider set. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + '/{db}/_oidc_testing/.well-known/openid-configuration': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect mock provider + operationId: get_db-_oidc_testing-.well-known-openid-configuration + tags: + - Unsupported + description: >- + Mock an OpenID Connect provider response for testing purposes. This + returns a response that is the same structure as what Sync Gateway + expects from an OIDC provider after initiating OIDC authentication. + responses: + '200': + description: 'Successfully generated OpenID Connect provider mock response. ' + headers: + Expiry: + schema: + type: string + description: the time until the response expires. + content: + application/json: + schema: + type: object + properties: + issuer: + type: string + authorization_endpoint: + type: string + token_endpoint: + type: string + jwks_uri: + type: string + userinfo_endpoint: + type: string + id_token_signing_alg_values_supported: + type: string + response_types_supported: + type: string + subject_types_supported: + type: string + scopes_supported: + type: string + claims_supported: + type: string + token_endpoint_auth_methods_supported: + type: string + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_oidc_testing/authorize': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect mock login page + operationId: get_db-_oidc_testing-authorize + tags: + - Unsupported + description: Show a mock OpenID Connect login page for the client to log in to. + parameters: + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + responses: + '200': + description: OK + '400': + description: A validation error occurred with the scope. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: An error occurred. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + post: + summary: OpenID Connect mock login page + operationId: post_db-_oidc_testing-authorize + tags: + - Unsupported + description: Show a mock OpenID Connect login page for the client to log in to. + parameters: + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + responses: + '200': + description: OK + '400': + description: A validation error occurred with the scope. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: An error occurred. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_oidc_testing/token': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: OpenID Connect mock token + description: Return a mock OpenID Connect token for the OIDC authentication flow. + requestBody: + content: + application/json: + schema: + type: object + properties: + grant_type: + description: >- + The grant type of the token to request. Can either be an + `authorization_code` or `refresh_token`. + type: string + code: + description: >- + **`grant_type=authorization_code` only**: The OpenID Connect + authentication token. + type: string + refresh_token: + description: >- + **`grant_type=refresh_token` only**: The OpenID Connect + refresh token. + type: string + required: + - grant_type + operationId: post_db-_oidc_testing-token + tags: + - Unsupported + responses: + '200': + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + content: + application/json: + schema: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + type: object + properties: + access_token: + type: string + token_type: + type: string + refresh_token: + type: string + expires_in: + type: string + id_token: + type: string + title: OIDC-token + '400': + description: Invalid token provided + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_oidc_testing/certs': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect public certificates for signing keys + operationId: get_db-_oidc_testing-certs + tags: + - Unsupported + description: Return a mock OpenID Connect public key to be used as signing keys. + responses: + '200': + description: Returned public key successfully + content: + application/json: + schema: + type: object + properties: + keys: + type: array + items: + type: object + properties: + Key: + type: object + KeyID: + type: string + Use: + type: string + Certificates: + type: array + items: + type: object + Algorithm: + type: string + required: + - Key + - KeyID + - Use + required: + - keys + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: An error occurred while getting the private RSA key + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '/{db}/_oidc_testing/authenticate': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect mock login page handler + operationId: get_db-_oidc_testing-authenticate + tags: + - Unsupported + description: >- + Used to handle the login page displayed for the `GET + /{db}/_oidc_testing/authorize` endpoint. + parameters: + - name: redirect_uri + in: query + required: false + schema: + type: string + description: The Sync Gateway OpenID Connect callback URL. + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + - name: username + in: query + required: true + schema: + type: string + - name: tokenttl + in: query + required: true + schema: + type: integer + - name: identity-token-formats + in: query + required: true + schema: + type: string + - name: authenticated + in: query + required: true + schema: + type: string + responses: + '302': + description: Redirecting to Sync Gateway OpenID Connect callback URL + headers: + Location: + schema: + type: string + description: The location to the Sync Gateway OpenID Connect callback URL. + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: OpenID Connect mock login page handler + operationId: post_db-_oidc_testing-authenticate + tags: + - Unsupported + description: >- + Used to handle the login page displayed for the `GET + /{db}/_oidc_testing/authorize` endpoint. + parameters: + - name: redirect_uri + in: query + required: false + schema: + type: string + description: The Sync Gateway OpenID Connect callback URL. + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + requestBody: + content: + application/json: + schema: + description: >- + Properties passed from the OpenID Connect mock login page to the + handler + type: object + properties: + username: + type: string + tokenttl: + type: string + identity-token-formats: + type: string + authenticated: + type: string + required: + - username + - tokenttl + - identity-token-formats + - authenticated + description: >- + Properties passed from the OpenID Connect mock login page to the + handler + responses: + '302': + description: Redirecting to Sync Gateway OpenID Connect callback URL + headers: + Location: + schema: + type: string + description: The location to the Sync Gateway OpenID Connect callback URL. + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_blipsync': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Handle incoming BLIP Sync web socket request + operationId: get_db-_blipsync + tags: + - Replication + description: >- + This handles incoming BLIP Sync requests from either Couchbase Lite or + another Sync Gateway node. The connection has to be upgradable to a + websocket connection or else the request will fail. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + parameters: + - name: client + in: query + description: >- + This is the client type that is making the BLIP Sync request. Used + to control client-type specific replication behaviour. + schema: + type: string + default: cbl2 + enum: + - cbl2 + - sgr2 + responses: + '101': + description: Upgraded to a web socket connection + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '426': + description: Cannot upgrade connection to a web socket connection + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Upgrade Required + reason: Can't upgrade this request to websocket connection + '/{db}/_facebook': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Create a new Facebook-based session + operationId: post_db-_facebook + description: >- + Creates a new session based on a Facebook user. On a successful session + creation, a session cookie is stored to keep the user authenticated for + future API calls. + + + If `Origin` header is passed to this endpoint, the `Origin` header must + match both the `cors.login_origin` and `cors.origin` configuration + options. + requestBody: + content: + application/json: + schema: + type: object + properties: + access_token: + description: Facebook access token to base the new session on. + type: string + required: + - access_token + responses: + '200': + description: Session created successfully + '400': + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + '401': + description: Received error from Facebook verifier + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '502': + description: Received invalid response from the Facebook verifier + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '504': + description: Unable to send request to Facebook API + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + deprecated: true + tags: + - Authentication + '/{db}/_google': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Create a new Google-based session + operationId: post_db-_google + description: >- + Creates a new session based on a Google user. On a successful session + creation, a session cookie is stored to keep the user authenticated for + future API calls. + + + If `Origin` header is passed to this endpoint, the `Origin` header must + match both the `cors.login_origin` and `cors.origin` configuration + options. + requestBody: + content: + application/json: + schema: + type: object + properties: + id_token: + description: Google ID token to base the new session on. + type: string + required: + - id_token + responses: + '200': + description: Session created successfully + '400': + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + '401': + description: >- + Received error from Google token verifier or invalid application ID + in the config + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '502': + description: Received invalid response from the Google token verifier + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '504': + description: Unable to send request to the Google token verifier + deprecated: true + tags: + - Authentication + '/{db}/_ensure_full_commit': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Ensure Full Commit + description: >- + This endpoint is non-functional but is present for CouchDB + compatibility. This was deprecated in CouchDB 3.0. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + deprecated: true + operationId: post_db-_ensure_full_commit + tags: + - Database Management + responses: + '201': + description: OK + content: + application/json: + schema: + type: object + properties: + instance_start_time: + description: >- + Timestamp of when the database opened, in microseconds + since the Unix epoch. + type: integer + example: 1644600082279583 + ok: + type: boolean + example: true + default: true + /_logging: + get: + summary: Get console logging settings + operationId: get__logging + description: >- + **Deprecated in favour of `GET /_config`** + + This will return a map of the log keys being used for the console + logging. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + responses: + '200': + description: Returned map of console log keys + content: + application/json: + schema: + description: A map of log keys and whether they are enabled or not. + type: object + example: + HTTP: true + CRUD: false + Changes: true + additionalProperties: + description: The log key and whether it is enabled or not. + type: boolean + deprecated: true + tags: + - Server + put: + summary: Set console logging settings + description: >- + **Deprecated in favour of `PUT /_config`** + + Enable or disable console log keys and optionally change the console log + level. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + parameters: + - name: logLevel + in: query + required: false + schema: + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + description: The is what to set the console log level too. + - name: level + in: query + required: false + schema: + type: integer + maximum: 3 + minimum: 1 + deprecated: true + description: >- + **Deprecated: use log level instead.** + + + This sets the console log level depending on the value provide. 1 + sets to `info`, 2 sets to `warn`, and 3 sets to `error`.' + requestBody: + description: The map of log keys to use for console logging. + content: + application/json: + schema: + description: A map of log keys and whether they are enabled or not. + type: object + example: + HTTP: true + CRUD: false + Changes: true + additionalProperties: + description: The log key and whether it is enabled or not. + type: boolean + responses: + '200': + description: Log keys successfully replaced. + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + deprecated: true + operationId: put__logging + tags: + - Server + post: + summary: Update console logging settings + description: >- + **Deprecated in favour of `PUT /_config`** + + This is for enabling the log keys provided and optionally changing the + console log level. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Dev Ops + parameters: + - name: logLevel + in: query + required: false + schema: + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + description: The is what to set the console log level too. + - name: level + in: query + required: false + schema: + type: integer + maximum: 3 + minimum: 1 + deprecated: true + description: >- + **Deprecated: use log level instead.** + + + This sets the console log level depending on the value provide. 1 + sets to `info`, 2 sets to `warn`, and 3 sets to `error`.' + requestBody: + description: The console log keys to upsert. + content: + application/json: + schema: + description: A map of log keys and whether they are enabled or not. + type: object + example: + HTTP: true + CRUD: false + Changes: true + additionalProperties: + description: The log key and whether it is enabled or not. + type: boolean + responses: + '200': + description: Log keys successfully updated. + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + deprecated: true + operationId: post__logging + tags: + - Server +components: + parameters: + db: + name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + sessionid: + name: sessionid + in: path + required: true + schema: + type: string + description: The ID of the session to target. + keyspace: + name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, and + optionally a named scope and collection. + docid: + name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + include_doc: + name: include_doc + in: query + required: false + schema: + type: string + description: Include the body associated with the document. + disable_oidc_validation: + name: disable_oidc_validation + in: query + required: false + description: >- + If set, will not attempt to validate the configured OpenID Connect + providers are reachable. + schema: + type: boolean + default: false + usersNameOnly: + name: name_only + in: query + required: false + schema: + type: boolean + default: true + description: >- + Whether to return user names only, or more detailed information for each + user. + usersLimit: + name: limit + in: query + required: false + schema: + type: integer + description: How many results to return. Using a value of `0` results in no limit. + user-name: + name: name + in: path + required: true + schema: + type: string + description: The name of the user. + role-name: + name: name + in: path + required: true + schema: + type: string + description: The name of the role. + replicationid: + name: replicationid + in: path + required: true + schema: + type: string + minimum: 1 + maximum: 160 + description: What replication to target based on its replication ID. + replication-active-only: + name: activeOnly + in: query + required: false + schema: + type: boolean + default: false + description: Only return replications that are actively running (`state=running`). + replication-local-only: + name: localOnly + in: query + required: false + schema: + type: boolean + default: false + description: >- + Only return replications that were started on the current Sync Gateway + node. + replication-include-error: + name: includeError + in: query + required: false + schema: + type: boolean + default: true + description: Include replications that have stopped due to an error (`state=error`). + replication-include-config: + name: includeConfig + in: query + required: false + schema: + type: boolean + default: false + description: >- + Include the replication configuration with each replicator status in the + response. + deprecated-redact: + name: redact + in: query + deprecated: true + required: false + schema: + type: boolean + default: true + description: No longer supported field. + pprof-seconds: + name: seconds + in: query + description: >- + If set, collect a delta profile for the given duration, instead of a + snapshot. + schema: + type: integer + debug-profile-seconds: + name: seconds + in: query + required: false + schema: + type: integer + default: 30 + minimum: 0 + description: The amount of seconds to run the profiler for. + include_runtime: + name: include_runtime + in: query + required: false + schema: + type: boolean + default: false + description: 'Whether to include the values set at runtime, and default values.' + DB-config-If-Match: + name: If-Match + in: header + required: false + schema: + type: string + description: >- + If set to a configuration's Etag value, enables optimistic concurrency + control for the request. Returns HTTP 412 if another update happened + underneath this one. + If-Match: + name: If-Match + in: header + required: false + schema: + type: string + description: The revision ID to target. + view: + name: view + in: path + required: true + schema: + type: string + description: The view to target. + inclusive_end: + name: inclusive_end + in: query + required: false + description: >- + Indicates whether the specified end key should be included in the + result. + schema: + type: boolean + descending: + name: descending + in: query + required: false + description: Return documents in descending order. + schema: + type: boolean + include_docs-cbs3: + name: include_docs + in: query + required: false + description: >- + Only works when using Couchbase Server 3.0 and earlier. Indicates + whether to include the full content of the documents in the response. + schema: + type: boolean + reduce: + name: reduce + in: query + required: false + description: Whether to execute a reduce function on the response or not. + schema: + type: boolean + group: + name: group + in: query + required: false + description: Group the results using the reduce function to a group or single row. + schema: + type: boolean + skip: + name: skip + in: query + required: false + description: >- + Skip the specified number of documents before starting to return + results. + schema: + type: integer + limit: + name: limit + in: query + required: false + description: Return only the specified number of documents + schema: + type: integer + group_level: + name: group_level + in: query + required: false + description: Specify the group level to be used. + schema: + type: integer + startkey_docid: + name: startkey_docid + in: query + required: false + description: Return documents starting with the specified document identifier. + schema: + type: string + endkey_docid: + name: endkey_docid + in: query + required: false + description: >- + Stop returning records when the specified document identifier is + reached. + schema: + type: string + stale: + name: stale + in: query + required: false + description: >- + Allow the results from a stale view to be used, without triggering a + rebuild of all views within the encompassing design document. + schema: + type: string + enum: + - ok + - update_after + startkey: + name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + endkey: + name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + key: + name: key + in: query + required: false + description: Return only the document that matches the specified key. + schema: + type: string + keys: + name: keys + in: query + required: false + schema: + type: array + items: + type: string + description: An array of document ID strings to filter by. + compact-type: + name: type + in: query + required: false + schema: + type: string + default: tombstone + enum: + - attachment + - tombstone + description: |- + This is the type of compaction to use. The type must be either: + * `attachment` for cleaning up legacy (pre-3.0) attachments + * `tombstone` for purging the JSON bodies of non-leaf revisions.' + roundtrip: + name: roundtrip + in: query + required: false + schema: + type: boolean + description: Block until document has been received by change cache + include_docs: + name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + ddoc: + name: ddoc + in: path + required: true + schema: + type: string + description: The design document name. + rev: + name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + open_revs: + name: open_revs + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Option to fetch specified revisions of the document. The value can be + all to fetch all leaf revisions or an array of revision numbers (i.e. + open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven't been + pruned are guaranteed to be returned. If this option is specified the + response will be in multipart format. Use the `Accept: application/json` + request header to get the result as a JSON object. + show_exp: + name: show_exp + in: query + required: false + schema: + type: boolean + description: Whether to show the expiry property (`_exp`) in the response. + revs_from: + name: revs_from + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Trim the revision history to stop at the first revision in the provided + list. If no match is found, the revisions will be trimmed to the + `revs_limit`. + atts_since: + name: atts_since + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Include attachments only since specified revisions. Excludes the + attachments for the specified revisions. Only gets used if + `attachments=true`. + revs_limit: + name: revs_limit + in: query + required: false + schema: + type: integer + description: Maximum amount of revisions to return for each document. + includeAttachments: + name: attachments + in: query + required: false + schema: + type: boolean + description: Include attachment bodies in response. + replicator2: + name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. This + is an enterprise-edition only feature. + new_edits: + name: new_edits + in: query + required: false + schema: + type: boolean + default: true + description: >- + Setting this to false indicates that the request body is an + already-existing revision that should be directly inserted into the + database, instead of a modification to apply to the current document. + This mode is used for replication. This option must be used in + conjunction with the `_revisions` property in the request body. + Include-channels: + name: channels + in: query + required: false + schema: + type: boolean + description: >- + Include the channels each document is part of that the calling user also + has access too. + include-access: + name: access + in: query + required: false + schema: + type: boolean + description: Include what user/roles that each document grants access too. + include-revs: + name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + include-seqs: + name: update_seq + in: query + required: false + schema: + type: boolean + description: >- + Include the document sequence number `update_seq` property for each + document. + limit-result-rows: + name: limit + in: query + required: false + schema: + type: number + description: >- + This limits the number of result rows returned. Using a value of `0` has + the same effect as the value `1`. + provider: + name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + offline: + name: offline + in: query + required: false + schema: + type: string + description: >- + If true, the OpenID Connect provider is requested to confirm with the + user the permissions requested and refresh the OIDC token. To do this, + access_type=offline and prompt=consent is set on the redirection link. + oidc-code: + name: code + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication code. + oidc-state: + name: state + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect state to verify against the state cookie. This is + used to prevent cross-site request forgery (CSRF). This is not required + if `disable_callback_state=true` for the provider config (NOT + recommended). + oidc-scope: + name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + oidc-redirect_uri: + name: redirect_uri + in: query + required: false + schema: + type: string + description: The Sync Gateway OpenID Connect callback URL. + log-level: + name: logLevel + in: query + required: false + schema: + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + description: The is what to set the console log level too. + log-level-int: + name: level + in: query + required: false + schema: + type: integer + maximum: 3 + minimum: 1 + deprecated: true + description: >- + **Deprecated: use log level instead.** + + + This sets the console log level depending on the value provide. 1 sets + to `info`, 2 sets to `warn`, and 3 sets to `error`.' + schemas: + User-session-information: + type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to authenticate as a + user. Used for CouchDB compatibility. Always contains "default" and + "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection that the user is + in along with the sequence number the user was granted access. + This does not include inherited channels through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + HTTP-Error: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + DatabaseState: + description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other offline only endpoints are + allowed. + Starting: The database is in the process of going online. + Stopping: >- + The database is no longer accepting connections and is being taken + offline or deleted. + Resyncing: The database is offline and performing a resync operation. + CollectionConfig: + description: Collection-specific configuration. + type: object + properties: + sync: + description: >- + The Javascript function that newly created documents in this + collection are ran through. + type: string + example: 'function(doc){channel("collection name");}' + import_filter: + description: >- + This is the function that all imported documents in this collection + are ran through in order to filter out what to import and what not + to import. This allows you to control what is made available to + Couchbase Mobile clients. If it is not set, then no documents are + filtered when imported. + + + `import_docs` in the database config must be true to make this field + applicable. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return false; } return + true; } + title: Collection config + Scopes: + description: Scope-specific configuration. + type: object + properties: + collections: + description: >- + An object keyed by collection name containing config for the + specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + description: Collection-specific configuration. + type: object + properties: + sync: + description: >- + The Javascript function that newly created documents in this + collection are ran through. + type: string + example: 'function(doc){channel("collection name");}' + import_filter: + description: >- + This is the function that all imported documents in this + collection are ran through in order to filter out what to + import and what not to import. This allows you to control what + is made available to Couchbase Mobile clients. If it is not + set, then no documents are filtered when imported. + + + `import_docs` in the database config must be true to make this + field applicable. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return false; } + return true; } + title: Collection config + title: Scopes + User: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the database + configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the default + collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to for the + default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, roles, or + explicitly on the user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account as it is + disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the `admin_roles` + property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: The roles that the user has been added to through roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to through + channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last used to + sign in. + type: string + readOnly: true + jwt_last_updated: + description: The last time that the user's JWT roles/channels were updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access collections + in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in this + collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to in + this collection. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the `admin_channels` + property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were updated for + this collection. + type: string + format: date-time + readOnly: true + title: User + Role: + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters and + underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for the default + collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access to for the + default collection. + + + These channels could have been assigned by the Sync function or + using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access collections + in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in this + collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to in + this collection. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the `admin_channels` + property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were updated for + this collection. + type: string + format: date-time + readOnly: true + title: Role + Event-config: + type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: The Javascript function to use to filter the webhook events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt connect to the webhook + before giving up. + type: number + title: Event-config + NumIndexPartitions: + description: >- + The number of partitions to use for the large indexes created by Sync + Gateway. It is not recommended to set this unless you require additional + horizontal scalability for individual indexes and have appropriately + scaled your Query nodes to handle the increased query parallelism. If + set, the recommended number is 8 and does not need to be directly + related to the number of your Query nodes. Ensure documentation is read + to understand the performance tradeoffs and instructions for migration + if you have previously run with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) for more + information. + + + If not specified or 1, all indexes will be non partitioned. + type: number + default: 1 + title: Number of Index Partitions + Replication: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this will be + set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must be set to + the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync Gateway + that is the subject of this replication's `push`, `pull`, or + `pushAndPull` action. + + + Typically this would include the URI, port, and database name. For + example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This password + will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be replicating + with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: changes are both push-to and pulled-from the remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway should use + to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the winner in any + conflict. + remoteWins: >- + This will result in remote revisions always being the winner in + any conflict. + custom: >- + This will result in conflicts going through your own custom + conflict resolver. You must provide this logic as a Javascript + function in the `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve conflicts + between conflicting revisions. + + + This **must** be used when `conflict_resolution_type=custom`. This + property will be ignored when `conflict_resolution_type` is not + `custom`. + + + The Javascript function to provide this property should be in + backticks (like the sync function). The function takes 1 parameter + which is a struct that represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can be the + winning revision (for example, `return conflict.LocalDocument`), a + new body, or `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can noticeably + degrade performance. Use a built-in resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user loses + access to all of the channels on the document when attempting to + pull it from the remote. + + + If false, documents will not be replicated and not be purged when + the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order to enable + delta-sync for a replication, the database level setting + `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync Gateway + will attempt to reconnect to a lost or unreachable remote. + + + When a disconnection happens, Sync Gateway will do an exponential + backoff up to this specified value. When this value is met, it will + attempt to reconnect indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal exponential + backoff after the disconnect happens but then attempting 10 minutes + and stop the replication. + + + Note: this defaults to 5 minutes for replications created prior to + Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating a new + replication. + + + This allows you to control if the replication starts in a `stopped` + start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the default state + `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the replication + will not start running until the user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they happen. This + is known as a continuous replication. + + + If false, all changes will be synced until they have been processed. + The replication will then cease and not process any future changes + (unless started again by the user). This is known as a one-shot + replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific set of + channels specified by the `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of the + replication. + + + If `filters=sync_gateway/bychannel` then this can be used to set the + channels to filter by in a pull replication. To do this, set the + `channels` key to a string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication instead + of a persistent one. + + + This means that the replication will only last the period of the + replication until the status is changed to `stopped` and then it + will be removed automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of replications. + Changing this is an Enterprise Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the replication + as. This means that the replication will only be able to replicate + what the user access to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in this + array. + + + The replication will use all collections defined on the database if + this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in this array + when replicating with the remote. + + + If only a subset of collections need remapping, elements in this + array can be specified as `null` to preserve the local collection + name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + CORS: + type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be added the + `Access-Control-Allow-Headers` response to a valid CORS request. + + + A recommended minimum set of values should be `["Accept-Encoding", + "Authorization", "Content-Type", "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public `/{db}/_session` API. + + + To use cors on `/{db}/_session`, the domain must be present in both + `login_origin` and `origin`. + + + If configured, `Authorization` must be included in headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: Value for `Access-Control-Maximum-Age`. Uses 0 by default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. The request `Origin` + header is checked against these values. If successful the `Origin` + header is returned in the HTTP response header as + `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + Database: + description: The properties of a database configuration. + type: object + properties: + server: + description: >- + This is the Couchbase Server address or addresses that the database + connect to. + type: string + pool: + description: This field is unsupported and ignored. + type: string + default: default + deprecated: true + bucket: + description: The Couchbase Server backing bucket for the database. + type: string + default: The database name + username: + description: The username for authenticating to the server. + type: string + password: + description: The password for authenticating to the server. + type: string + certpath: + description: The cert path (public key) for X.509 bucket auth. + type: string + keypath: + description: The key path (private key) for X.509 bucket auth + type: string + cacertpath: + description: The root CA cert path for X.509 bucket authentication. + type: string + kv_tls_port: + description: The Memcached TLS port. + type: integer + default: 11207 + max_concurrent_query_ops: + description: >- + The maximum amount of query operations that can be running at any + one point. + type: integer + default: 1000 + scopes: + description: >- + An object keyed by scope name containing config for the specific + collection. + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: Scope-specific configuration. + type: object + properties: + collections: + description: >- + An object keyed by collection name containing config for the + specific collection. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + description: Collection-specific configuration. + type: object + properties: + sync: + description: >- + The Javascript function that newly created documents in + this collection are ran through. + type: string + example: 'function(doc){channel("collection name");}' + import_filter: + description: >- + This is the function that all imported documents in this + collection are ran through in order to filter out what + to import and what not to import. This allows you to + control what is made available to Couchbase Mobile + clients. If it is not set, then no documents are + filtered when imported. + + + `import_docs` in the database config must be true to + make this field applicable. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return + false; } return true; } + title: Collection config + title: Scopes + maxProperties: 1 + example: + scopename: + collections: + collectionname1: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return false; } + return true; } + collectionname2: + sync: 'function(doc){channel("collection name");}' + import_filter: >- + function(doc) { if (doc.type != 'mobile') { return false; } + return true; } + name: + description: The name of the database. + type: string + sync: + description: >- + The Javascript function that newly created documents are ran through + for the default scope and collection. + + If `scopes` parameter is set, this is ignored. + type: string + default: 'function(doc){channel(doc.channels);}' + users: + additionalProperties: + x-additionalPropertiesName: username + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the + database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to for + the default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the `admin_channels` + property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account as + it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the `admin_roles` + property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: The roles that the user has been added to through roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to through + channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last used + to sign in. + type: string + readOnly: true + jwt_last_updated: + description: The last time that the user's JWT roles/channels were updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in + this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + roles: + additionalProperties: + x-additionalPropertiesName: rolename + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters and + underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access to for + the default collection. + + + These channels could have been assigned by the Sync function + or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in + this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + revs_limit: + description: >- + The maximum depth a document's revision tree can grow too. + + + The minimum is `20` if conflicts are allowed and 0 if not. It is not + recommended to go below `100` when conflicts are allowed. The + default is `100` if conflicts are allowed and `50` if not. + type: number + default: 50 + minimum: 0 + import_docs: + description: >- + If true, documents will be imported in to Sync Gateway from the + bucket in the background. Documents will be ran through the set + `import_filter` if any is set. + + + The default value depends on the edition of Sync Gateway being used. + If the edition is the Community Edition, then this will default to + `false` or else in the Enterprise Edition, it will default to + `true`. This value requires `enable_shared_bucket_access=true`. + + + This can also be set to the string `continuous` which maps to true. + type: boolean + import_partitions: + description: >- + ** This is an Enterprise Edition feature only** + + + This is how many import partitions should be used for import + sharding. + + + Partitions are distributed among all Sync Gateway nodes + participating in import processing (`import_docs=true`), and each + process a subset of the server's vbuckets. + + + Each partition is processed by an independent function that runs + simultaneously to others, so `import_partitions` can be used to tune + concurrency based on the number of Sync Gateway nodes, and the + number of cores per node. + type: number + default: 16 + minimum: 1 + maximum: 1024 + import_filter: + description: >- + This is the function that all imported documents in the default + scope and collection are ran through in order to filter out what to + import and what not to import. This allows you to control what is + made available to Couchbase Mobile clients. If it is not set, then + no documents are filtered when imported. + + + `import_docs` must be true to make this field applicable. + + + If `scopes` parameter is set, this is ignored. + type: string + example: >- + function(doc) { if (doc.type != 'mobile') { return false; } return + true; } + import_backup_old_rev: + description: >- + This controls whether import should attempt to create a temporary + backup of the previous revision body (if available) when the + document is modified in the bucket. + type: boolean + default: false + event_handlers: + description: These are the settings for webhooks. + type: object + properties: + max_processes: + description: >- + The maximum amount of concurrent event handling independent + functions that can be running at the same time. + type: string + wait_for_process: + description: >- + The maximum amount of time (in milliseconds) to wait when the + even queue is full. + type: string + document_changed: + allOf: + - type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: >- + The Javascript function to use to filter the webhook + events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt connect to + the webhook before giving up. + type: number + title: Event-config + - type: object + properties: + options: + description: Options for the document changed event. + type: object + properties: + winning_rev_only: + description: >- + If true, only the winning revision of the document + will be sent to the webhook. + type: boolean + default: false + db_state_changed: + type: object + properties: + handler: + description: The handler type. + type: string + enum: + - webhook + url: + description: The URL of the webhook. + type: string + filter: + description: The Javascript function to use to filter the webhook events. + type: string + timeout: + description: >- + The amount of time (in seconds) to attempt connect to the + webhook before giving up. + type: number + title: Event-config + feed_type: + description: >- + The type of feed to use to communicate with Couchbase Server. This + will use DCP regardless of specification. + type: string + default: DCP + enum: + - DCP + deprecated: true + allow_empty_password: + description: >- + This controls whether users that are created can have an empty + password or not. + type: boolean + default: false + cache: + type: object + properties: + rev_cache: + description: The revision cache config settings. + type: object + properties: + size: + description: >- + The maximum number of revisions that can be stored in the + revision cache. + + Note when running with greater than 1 shard count we add 10% + capacity overall to avoid early eviction when some shards + fill up before others, so + + you may find that the capacity stat + (revision_cache_num_items) will climb to the defined rev + cache size + 10%. + type: integer + default: 5000 + max_memory_count_mb: + description: >- + The maximum amount of memory the revision cache should take + up in MB, setting to 0 will disable any eviction based on + memory at rev cache. + + There is a minimum value of 50 (50MB) for this config + option. + + When set this memory limit will work in in hand with + revision cache size parameter. So you will potentially get + eviction at revision cache both based off memory footprint + and number of items in the cache. + + **This is an Enterprise Edition feature only** + type: integer + default: 0 + shard_count: + description: >- + The number of shards the revision cache should be split + into. + type: integer + default: 16 + channel_cache: + description: The channel cache config settings. + type: object + properties: + max_number: + description: >- + The maximum number of channel caches which can exist at any + one point. + type: integer + default: 50000 + compact_high_watermark_pct: + description: >- + The trigger value for starting the channel cache eviction + process. + + + Specify this as a percentage which will be the percentage + used on `max_number). + + + When the cache size, determined by `max_number`, reaches the + high watermark, the eviction process iterates through the + cache, removing inactive channels. + type: integer + default: 80 + compact_low_watermark_pct: + description: >- + The trigger value for stopping the channel cache eviction + process. + + + Specify this as a percentage which will be the percentage + used on `max_number). + + + When the cache size, determined by `max_number` returns to a + value lower than the percentage of it set here, the cache + eviction process is stopped. + type: integer + default: 60 + max_wait_pending: + description: >- + The maximum time (in milliseconds) for waiting for a pending + sequence before skipping it. + type: number + default: 5000 + max_num_pending: + description: >- + The maximum number of pending sequences before skipping + sequences. + type: integer + default: 10000 + max_wait_skipped: + description: >- + The maximum amount of time (in milliseconds) to wait for a + skipped sequence before abandoning it. + type: number + default: 3600000 + enable_star_channel: + description: >- + Used to control whether Sync Gateway should use the all + documents (*) channel. + type: boolean + default: true + max_length: + description: >- + The maximum number of entries to maintain in the cache per + channel. + type: integer + default: 500 + min_length: + description: >- + The minimum number of entries to maintain in the cache per + channel. + type: integer + default: 50 + expiry_seconds: + description: >- + The amount of time (in seconds) to keep entries in the cache + beyond the minimum retained. + type: integer + default: 60 + query_limit: + description: >- + **Deprecated in favour of the database setting + `query_pagination_limit`** + + + The limit used for channel queries. + type: integer + default: 5000 + deprecated: true + max_wait_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_pending` instead** + + + The maximum time (in milliseconds) for waiting for a pending + sequence before skipping it. + type: number + deprecated: true + max_wait_skipped: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_wait_skipped` instead** + + + The maximum time (in milliseconds) for waiting for pending + sequences before skipping. + type: number + deprecated: true + enable_star_channel: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.enable_star_channel` instead** + + + Used to control whether Sync Gateway should use the all + documents (*) channel. + type: boolean + deprecated: true + channel_cache_max_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_length` instead** + + + The maximum number of entries maintained in cache per channel. + type: number + deprecated: true + channel_cache_min_length: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.min_length` instead** + + + The minimum number of entries maintained in cache per channel. + type: integer + deprecated: true + channel_cache_expiry: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.expiry_seconds` instead** + + + The time (seconds) to keep entries in cache beyond the minimum + retained. + type: integer + deprecated: true + max_num_pending: + description: >- + **Deprecated, please use the database setting + `cache.channel_cache.max_num_pending` instead** + + + The max number of pending sequences before skipping. + type: integer + deprecated: true + rev_cache_size: + description: >- + **Deprecated, please use the database setting `cache.rev_cache.size` + instead** + + + The maximum number of revisions to store in the revision cache. + type: number + deprecated: true + offline: + description: Start the database in an offline state. + type: boolean + default: false + unsupported: + description: >- + These are unsupported options and therefore it is not recommended to + use them. + type: object + properties: + user_views: + type: object + properties: + enabled: + description: >- + Whether pass-through view query is supported through public + API. + type: boolean + oidc_test_provider: + type: object + properties: + enabled: + description: >- + Whether the `oidc_test_provider` endpoints should be exposed + on the public API. + type: boolean + api_endpoints: + type: object + properties: + enable_couchbase_bucket_flush: + description: |- + **Setting for test purposes only** + + Whether Couchbase buckets can be flushed via Admin REST API. + type: boolean + warning_thresholds: + type: object + properties: + xattr_size_bytes: + description: >- + The number of bytes to be used as a threshold for xattr size + limit warnings. + type: number + channels_per_doc: + description: >- + The number of channels per document to be used as a + threshold for the channel count warnings. + type: number + access_and_role_grants_per_doc: + description: >- + The number of access and role grants per document to be used + as a threshold for grant count warnings. + type: number + channels_per_user: + description: >- + The number of channels per user to be used as a threshold + for channel count warnings. + type: number + channel_name_size: + description: >- + The number of channel name characters to be used as a + threshold for channel name warnings. + type: number + oidc_tls_skip_verify: + description: Enable self-signed certificates for OIDC testing. + type: boolean + same_site_cookie: + description: >- + Override the session cookie SameSite behavior. By default, a + session cookie will have SameSite:None if CORS is enabled, and + will have no SameSite attribute if CORS is not enabled. Setting + this property to`Default` will omit the SameSite attribute from + the cookie. + type: string + enum: + - Default + - Lax + - None + - Strict + sgr_tls_skip_verify: + description: Enable self-signed certificates for SG-replicate testing. + type: boolean + remote_config_tls_skip_verify: + description: Enable self-signed certificates for external JavaScript load. + type: boolean + guest_read_only: + description: Restrict GUEST document access to read-only. + type: boolean + force_api_forbidden_errors: + description: Force REST API errors to return forbidden + type: boolean + dcp_read_buffer: + description: Set the dcp feed to use a different read buffer size. + type: number + kv_buffer: + description: Set the kv pool to use a different buffer size. + type: number + local_jwt: + description: Configuration for Local JWT authentication. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + required: + - issuer + - client_id + - algorithms + - keys + properties: + issuer: + description: The value to match against the "iss" claim of JWTs. + type: string + register: + description: >- + If to register a new Sync Gateway user account when a user + logs in with a JWT. + type: boolean + client_id: + description: >- + The value to match against the "aud" claim of JWTs. Set to an + empty string to disable audience validation. + type: string + algorithms: + description: The JWT signing algorithms to accept for authentication. + type: array + items: + type: string + keys: + description: The JSON Web Keys to use to validate JWTs. + type: array + items: + type: object + properties: + kty: + type: string + description: >- + The cryptographic algorithm family used with the key, + such as "RSA" or "EC" + enum: + - RSA + - EC + use: + type: string + description: >- + The intended use of the public key. Only 'sig' is + accepted. + enum: + - sig + alg: + type: string + description: The algorithm intended for use with the key. + kid: + type: string + description: 'The Key ID, used to identify the key to use.' + crv: + type: string + description: 'For Elliptic Curve keys, the name of the curve to use.' + enum: + - P-256 + - P-384 + - P-521 + x: + type: string + description: >- + For Elliptic Curve keys, the X coordinate of the point, + as a base64url string. + 'y': + type: string + description: >- + For Elliptic Curve keys, the Y coordinate of the point, + as a base64url string. + 'n': + type: string + description: >- + For RSA keys, the modulus value of the key, as a + Base64urlUInt-encoded value. + e: + type: string + description: >- + For RSA keys, the exponent of the public key, as a + Base64urlUInt-encoded value. + disable_session: + description: >- + Disable Sync Gateway session creation on successful JWT + authentication. + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created through this + provider. + type: string + username_claim: + description: >- + Allows a different OpenID Connect field to be specified + instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim will be + added to the user's roles. + + + The value of this claim must be either a string or an array of + strings, any other type will result in an error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given JSON Web Token claim will be + added to the user's channels. + + + The value of this claim must be either a string or an array of + strings, any other type will result in an error. + type: string + oidc: + description: Configuration for OpenID Connect authentication. + type: object + properties: + providers: + description: List of OpenID Connect issuers. + type: object + additionalProperties: + x-additionalPropertiesName: providername + description: The providers name. + type: object + properties: + issuer: + description: The URL for the OpenID Connect issuer. + type: string + register: + description: >- + If to register a new Sync Gateway user account when a user + logs in with OpenID Connect. + type: boolean + client_id: + description: The OpenID Connect provider client ID. + type: string + validation_key: + description: The OpenID Connect provider client secret. + type: string + callback_url: + description: >- + The URL that the OpenID Connect will redirect to after + authentication. + + + If not provided, a callback URL will be generated. + type: string + disable_session: + description: >- + Disable Sync Gateway session creation on successful OpenID + Connect authentication. + type: boolean + scope: + description: The scope sent for the OpenID Connect request. + type: array + items: + type: string + include_access: + description: >- + This is whether the `_oidc_callback` response should + include the OpenID Connect access token and associated + fields (such as `token_type`, and `expires_in`). + type: boolean + user_prefix: + description: >- + This is the username prefix for all users created through + this provider. + type: string + discovery_url: + description: The non-standard discovery endpoint. + type: string + disable_cfg_validation: + description: >- + This bypasses the configuration validation based on the + OpenID Connect specifications. This may be required for + some OpenID providers that don't strictly adhere to the + specifications. + type: boolean + default: false + disable_callback_state: + description: >- + Controls whether to maintain state between the auth + request and callback endpoints (`/_oidc` and + `/_oidc_callback`). + + + **This is not recommended as it would cause OpenID Connect + authentication to be vulnerable to Cross-Site Request + Forgery (CSRF, XSRF).** + type: boolean + default: false + username_claim: + description: >- + Allows a different OpenID Connect field to be specified + instead of the Subject (`sub`). + + + The field name to use can be specified here. + type: string + roles_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the user's + roles. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an error. + type: string + channels_claim: + description: >- + If set, the value(s) of the given OpenID Connect + authentication token claim will be added to the user's + channels. + + + The value of this claim must be either a string or an + array of strings, any other type will result in an error. + type: string + allow_unsigned_provider_tokens: + description: Allows users accept unsigned tokens from providers. + type: boolean + IsDefault: + description: Indicates if this is the default OpenID Connect provider. + type: boolean + Name: + description: The name of the OpenID Connect Provider. + type: string + InsecureSkipVerify: + description: >- + Determines whether the TLS certificate verification should + be disabled for this provider. + type: boolean + default: false + default_provider: + description: >- + The default provider to use when the provider is not specified + in the client. + type: string + old_rev_expiry_seconds: + description: >- + The number of seconds before old revisions are removed from the + Couchbase Server bucket. + type: number + default: 300 + view_query_timeout_secs: + description: The number of seconds before a view query should timeout. + type: integer + default: 75 + local_doc_expiry_secs: + description: The number of seconds before a `_local` document should expire. + type: integer + default: 7776000 + enable_shared_bucket_access: + description: >- + Whether to use extended attributes to store Sync Gateway document + (`_sync`) metadata. + type: boolean + default: true + deprecated: true + session_cookie_secure: + description: >- + Override the session cookie `secure` flag. If set, the cookie will + have the `secure` flag. + + + This will default to `true` if startup config + `api.https.tls_cert_path` is set otherwise it will default to + `false`. + type: boolean + session_cookie_name: + description: >- + This can be used to define a custom per-database session cookie + name. + type: string + session_cookie_http_only: + description: >- + Make all session cookies for the database set the `HttpOnly` flag so + they are inaccessible to JavaScript. + type: boolean + default: false + allow_conflicts: + description: >- + This controls whether to allow conflicting document revisions. This + option is going to be removed from sync gateway, and conflicts will + not be allowed. + type: boolean + default: false + deprecated: true + num_index_replicas: + description: >- + **Deprecated, please use the database setting `index.num_replicas` + instead** + deprecated: true + type: number + default: 1 + index: + description: Global Secondary Index Settings + properties: + num_partitions: + description: >- + The number of partitions to use for the large indexes created by + Sync Gateway. It is not recommended to set this unless you + require additional horizontal scalability for individual indexes + and have appropriately scaled your Query nodes to handle the + increased query parallelism. If set, the recommended number is 8 + and does not need to be directly related to the number of your + Query nodes. Ensure documentation is read to understand the + performance tradeoffs and instructions for migration if you have + previously run with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) for more + information. + + + If not specified or 1, all indexes will be non partitioned. + type: number + default: 1 + title: Number of Index Partitions + num_replicas: + description: >- + This is the number of Global Secondary Indexes (GSI) to use for + core indexes. + type: number + default: 1 + use_views: + description: Force the use of views instead of GSI. + type: boolean + default: false + send_www_authenticate_header: + description: >- + Controls whether to send a `WWW-Authenticate` header in `401 + Unauthorized` HTTP responses. + type: boolean + default: true + disable_password_auth: + description: >- + Whether to disable username/password authentication and only allow + OIDC and guest access. + type: boolean + default: false + bucket_op_timeout_ms: + description: >- + This is the amount of milliseconds should pass before a bucket + operation times out. An error will be returned if the bucket + operation times out saying: `operation timed out`. + type: number + slow_query_warning_threshold: + description: >- + The amount of milliseconds a N1QL query should run before logging a + warning. + type: number + default: 500 + delta_sync: + description: |- + Delta sync configuration settings. + + **This is an Enterprise Edition feature only** + type: object + properties: + enabled: + description: |- + Whether delta sync is enabled. + + **This is an Enterprise Edition feature only** + type: boolean + default: false + rev_max_age_seconds: + description: >- + The number of seconds deltas for old revisions are available + for. + + + This defaults to 24 hours (in seconds). + type: number + default: 86400 + compact_interval_days: + description: >- + The interval between scheduled tombstone compaction runs (in days). + This can be a floating point number. + + + If set to 0, compaction will not run automatically. + type: number + default: 1 + sgreplicate_enabled: + description: >- + Whether the node should accept assign replications (`true`) or not + (`false`). + type: boolean + default: true + sgreplicate_websocket_heartbeat_secs: + description: >- + Use a custom heartbeat interval (in seconds) for websocket ping + frames. + type: integer + default: 300 + replications: + type: object + properties: + replication_id: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this + will be set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must + be set to the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync + Gateway that is the subject of this replication's `push`, + `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and database + name. For example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the remote + database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway + should use to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the + winner in any conflict. + remoteWins: >- + This will result in remote revisions always being the + winner in any conflict. + custom: >- + This will result in conflicts going through your own + custom conflict resolver. You must provide this logic as a + Javascript function in the `custom_conflict_resolver` + parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve + conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property will be + ignored when `conflict_resolution_type` is not `custom`. + + + The Javascript function to provide this property should be + in backticks (like the sync function). The function takes 1 + parameter which is a struct that represents the conflict. + This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can + be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to resolve as + a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in resolver + whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user + loses access to all of the channels on the document when + attempting to pull it from the remote. + + + If false, documents will not be replicated and not be purged + when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order + to enable delta-sync for a replication, the database level + setting `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync + Gateway will attempt to reconnect to a lost or unreachable + remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When this + value is met, it will attempt to reconnect indefinitely + every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but then + attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications created + prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating + a new replication. + + + This allows you to control if the replication starts in a + `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the + default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the + replication will not start running until the user + explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they + happen. This is known as a continuous replication. + + + If false, all changes will be synced until they have been + processed. The replication will then cease and not process + any future changes (unless started again by the user). This + is known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific + set of channels specified by the `query_param.channels` + property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of + the replication. + + + If `filters=sync_gateway/bychannel` then this can be used to + set the channels to filter by in a pull replication. To do + this, set the `channels` key to a string array of the + channels to filter by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication + instead of a persistent one. + + + This means that the replication will only last the period of + the replication until the status is changed to `stopped` and + then it will be removed automatically. It will also be + removed if Sync Gateway restarts or if removed due to user + action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition only + feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will only be + able to replicate what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default + collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in + this array. + + + The replication will use all collections defined on the + database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in + this array when replicating with the remote. + + + If only a subset of collections need remapping, elements in + this array can be specified as `null` to preserve the local + collection name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same + length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. + This password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + serve_insecure_attachment_types: + description: > + If set, always serve attachments with the `Content-Type` header set + to the type of the attachment. + + + When serving an attachment, usually the `Content-Type` header is set + to the type of the attachment but the `Content-Disposition` response + header will be set instead if the content type is vulnerable to a + phishing attack, causing the browser to download the file instead of + display it. This option will override that behaviour and always set + the `Content-Type` header. + type: boolean + default: false + query_pagination_limit: + description: The query limit to be used during pagination of large queries. + type: integer + default: 5000 + user_xattr_key: + description: >- + The key to use for the user xattr that will be accessible from the + sync function. If empty, the feature will be disabled. + + + This is an Enterprise Edition feature only. + type: string + maximum: 15 + client_partition_window_secs: + description: >- + How long (in seconds) clients can remain offline for without losing + replication metadata. + + + Defaults to 30 days (in seconds) + type: integer + default: 2592000 + guest: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the + database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to for + the default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, roles, + or explicitly on the user under the `admin_channels` property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account as it + is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the `admin_roles` + property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: The roles that the user has been added to through roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to through + channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last used to + sign in. + type: string + readOnly: true + jwt_last_updated: + description: The last time that the user's JWT roles/channels were updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in + this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were updated + for this collection. + type: string + format: date-time + readOnly: true + title: User + javascript_timeout_secs: + description: >- + The maximum number of seconds the sync, import filter, and custom + conflict resolver JavaScript functions are allowed to run for before + timing out. Set to 0 to allow the JS functions to run uncapped. + type: number + default: 60 + suspendable: + description: >- + Set to true to allow the database to be suspended. + + + Defaults to true when running in serverless mode otherwise defaults + to false. + type: boolean + default: false + changes_request_plus: + type: boolean + default: false + description: >- + Sets the default value of `request_plus` for one-shot/non-continuous + changes feeds, which when true, ensures all valid documents written + prior to the request being issued are included in the response. + Setting this option at the database level is required to ensure + Couchbase Lite utilizes this changes feed mode. + + + This also sets the default value of query param `request_plus` for + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or + `request_plus` for [POST + /{keyspace}/_changes](#operation/post_keyspace-_changes). + cors: + allOf: + - type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be added the + `Access-Control-Allow-Headers` response to a valid CORS + request. + + + A recommended minimum set of values should be + `["Accept-Encoding", "Authorization", "Content-Type", + "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public `/{db}/_session` + API. + + + To use cors on `/{db}/_session`, the domain must be present + in both `login_origin` and `origin`. + + + If configured, `Authorization` must be included in headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: Value for `Access-Control-Maximum-Age`. Uses 0 by default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. The request + `Origin` header is checked against these values. If + successful the `Origin` header is returned in the HTTP + response header as `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + - type: object + description: >- + CORS configuration for this database; if present, overrides + server's config. + logging: + description: Per-database logging configuration. + type: object + properties: + console: + description: Console logging configuration. + type: object + properties: + log_level: + description: Log Level for the console output + type: string + enum: + - none + - error + - warn + - info + - debug + - trace + example: debug + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + example: + - CRUD + - HTTP + - Query + audit: + description: Audit logging configuration. + type: object + properties: + enabled: + description: Whether audit logging is enabled. + type: boolean + default: false + enabled_events: + description: List of enabled audit events for this database. + type: array + items: + type: number + example: + - 1234 + - 5678 + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the user for which audit logging is + disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + type: string + enum: + - cbs + - sgw + name: + description: >- + The name of the user for which audit logging is + disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. Either + cbs or sgw. + type: array + items: + type: object + properties: + domain: + description: > + The domain of the role for which audit logging is + disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: >- + The name of the role for which audit logging is + disabled. + type: string + disable_public_all_docs: + description: >- + This controls whether the [GET + /{keyspace}/_all_docs](#operation/get_keyspace-_all_docs) REST API + endpoint is publicly accessible or not. + + Disabling this endpoint is recommended for larger datasets or + production workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or + [POST /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) + have more efficient implementations and should be used instead. + + + If set to `true`, the endpoint will not be publicly accessible, and + will only be available on the Admin API. + + Setting this to `false`, or leaving it as the default value is + deprecated, and may default to `true` in a future release. + type: boolean + default: false + title: Database-config + All DBs: + title: Simple + description: The names of all databases. + type: array + items: + type: string + example: + - db1 + - db2 + All DBs Verbose: + title: Verbose + description: Description of all databases. + type: array + example: + - db_name: db1 + bucket: bucket1 + state: Online + require_resync: false + init_in_progress: false + - db_name: db2 + bucket: bucket2 + state: Starting + require_resync: true + init_in_progress: true + items: + type: object + properties: + db_name: + type: string + description: The name of the database. + bucket: + type: string + description: The Couchbase Server backing bucket for the database. + state: + allOf: + - description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other offline only + endpoints are allowed. + Starting: The database is in the process of going online. + Stopping: >- + The database is no longer accepting connections and is being + taken offline or deleted. + Resyncing: The database is offline and performing a resync operation. + require_resync: + description: >- + Indicates whether the database requires resync before it can be + brought online. + type: boolean + example: true + init_in_progress: + description: Indicates whether database initialization is in progress. + type: boolean + example: true + ISGRReplicationState: + description: >- + This is the state that the replicator is in or that trying to transition + in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: The replication is reconnecting to the remote database. + title: Replication Status + Retrieved-replication: + description: Properties of a replication + allOf: + - type: object + properties: + replication_id: + description: This is the ID of the replication. + type: string + - description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this will + be set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must be + set to the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync Gateway + that is the subject of this replication's `push`, `pull`, or + `pushAndPull` action. + + + Typically this would include the URI, port, and database name. + For example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: changes are both push-to and pulled-from the remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway should + use to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the winner in + any conflict. + remoteWins: >- + This will result in remote revisions always being the winner + in any conflict. + custom: >- + This will result in conflicts going through your own custom + conflict resolver. You must provide this logic as a Javascript + function in the `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve + conflicts between conflicting revisions. + + + This **must** be used when `conflict_resolution_type=custom`. + This property will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property should be in + backticks (like the sync function). The function takes 1 + parameter which is a struct that represents the conflict. This + struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can be + the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to resolve as a + delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in resolver whenever + possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user loses + access to all of the channels on the document when attempting to + pull it from the remote. + + + If false, documents will not be replicated and not be purged + when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order to + enable delta-sync for a replication, the database level setting + `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync Gateway + will attempt to reconnect to a lost or unreachable remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When this value + is met, it will attempt to reconnect indefinitely every + `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal exponential + backoff after the disconnect happens but then attempting 10 + minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications created prior + to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating a + new replication. + + + This allows you to control if the replication starts in a + `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the default + state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the + replication will not start running until the user explicitly + starts it. + continuous: + description: >- + If true, changes will be immediately synced when they happen. + This is known as a continuous replication. + + + If false, all changes will be synced until they have been + processed. The replication will then cease and not process any + future changes (unless started again by the user). This is known + as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific set + of channels specified by the `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of the + replication. + + + If `filters=sync_gateway/bychannel` then this can be used to set + the channels to filter by in a pull replication. To do this, set + the `channels` key to a string array of the channels to filter + by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication + instead of a persistent one. + + + This means that the replication will only last the period of the + replication until the status is changed to `stopped` and then it + will be removed automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of replications. + Changing this is an Enterprise Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will only be + able to replicate what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default + collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in this + array. + + + The replication will use all collections defined on the database + if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in this + array when replicating with the remote. + + + If only a subset of collections need remapping, elements in this + array can be specified as `null` to preserve the local + collection name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. + This password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + - type: object + properties: + assigned_node: + description: The unique ID of the node assigned to the replication. + type: string + target_state: + description: >- + This is the state that the replicator is in or that trying to + transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: The replication is reconnecting to the remote database. + title: Replication Status + cluster_uuid: + description: The cluster unique identifier. + type: string + title: Replication + All-replications: + description: >- + Contains all the replication IDs with their corresponding replication + configurations + type: object + properties: + replication_id: + description: Properties of a replication + allOf: + - type: object + properties: + replication_id: + description: This is the ID of the replication. + type: string + - description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this + will be set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must + be set to the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync + Gateway that is the subject of this replication's `push`, + `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and database + name. For example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the remote + database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway + should use to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the + winner in any conflict. + remoteWins: >- + This will result in remote revisions always being the + winner in any conflict. + custom: >- + This will result in conflicts going through your own + custom conflict resolver. You must provide this logic as a + Javascript function in the `custom_conflict_resolver` + parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve + conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property will be + ignored when `conflict_resolution_type` is not `custom`. + + + The Javascript function to provide this property should be + in backticks (like the sync function). The function takes 1 + parameter which is a struct that represents the conflict. + This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can + be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to resolve as + a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in resolver + whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user + loses access to all of the channels on the document when + attempting to pull it from the remote. + + + If false, documents will not be replicated and not be purged + when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order + to enable delta-sync for a replication, the database level + setting `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync + Gateway will attempt to reconnect to a lost or unreachable + remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When this + value is met, it will attempt to reconnect indefinitely + every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but then + attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications created + prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating + a new replication. + + + This allows you to control if the replication starts in a + `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the + default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the + replication will not start running until the user + explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when they + happen. This is known as a continuous replication. + + + If false, all changes will be synced until they have been + processed. The replication will then cease and not process + any future changes (unless started again by the user). This + is known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific + set of channels specified by the `query_param.channels` + property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of + the replication. + + + If `filters=sync_gateway/bychannel` then this can be used to + set the channels to filter by in a pull replication. To do + this, set the `channels` key to a string array of the + channels to filter by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication + instead of a persistent one. + + + This means that the replication will only last the period of + the replication until the status is changed to `stopped` and + then it will be removed automatically. It will also be + removed if Sync Gateway restarts or if removed due to user + action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition only + feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will only be + able to replicate what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default + collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in + this array. + + + The replication will use all collections defined on the + database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in + this array when replicating with the remote. + + + If only a subset of collections need remapping, elements in + this array can be specified as `null` to preserve the local + collection name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same + length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. + This password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + - type: object + properties: + assigned_node: + description: The unique ID of the node assigned to the replication. + type: string + target_state: + description: >- + This is the state that the replicator is in or that trying + to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: The replication is reconnecting to the remote database. + title: Replication Status + cluster_uuid: + description: The cluster unique identifier. + type: string + title: Replication + title: All replications + Replication-status: + type: object + properties: + replication_id: + description: The ID of the replication. + type: string + config: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this will + be set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must be + set to the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync Gateway + that is the subject of this replication's `push`, `pull`, or + `pushAndPull` action. + + + Typically this would include the URI, port, and database name. + For example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: changes are both push-to and pulled-from the remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway should + use to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the winner in + any conflict. + remoteWins: >- + This will result in remote revisions always being the winner + in any conflict. + custom: >- + This will result in conflicts going through your own custom + conflict resolver. You must provide this logic as a Javascript + function in the `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve + conflicts between conflicting revisions. + + + This **must** be used when `conflict_resolution_type=custom`. + This property will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property should be in + backticks (like the sync function). The function takes 1 + parameter which is a struct that represents the conflict. This + struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can be + the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to resolve as a + delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in resolver whenever + possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user loses + access to all of the channels on the document when attempting to + pull it from the remote. + + + If false, documents will not be replicated and not be purged + when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order to + enable delta-sync for a replication, the database level setting + `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync Gateway + will attempt to reconnect to a lost or unreachable remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When this value + is met, it will attempt to reconnect indefinitely every + `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal exponential + backoff after the disconnect happens but then attempting 10 + minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications created prior + to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating a + new replication. + + + This allows you to control if the replication starts in a + `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the default + state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the + replication will not start running until the user explicitly + starts it. + continuous: + description: >- + If true, changes will be immediately synced when they happen. + This is known as a continuous replication. + + + If false, all changes will be synced until they have been + processed. The replication will then cease and not process any + future changes (unless started again by the user). This is known + as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific set + of channels specified by the `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of the + replication. + + + If `filters=sync_gateway/bychannel` then this can be used to set + the channels to filter by in a pull replication. To do this, set + the `channels` key to a string array of the channels to filter + by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication + instead of a persistent one. + + + This means that the replication will only last the period of the + replication until the status is changed to `stopped` and then it + will be removed automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of replications. + Changing this is an Enterprise Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will only be + able to replicate what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default + collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in this + array. + + + The replication will use all collections defined on the database + if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in this + array when replicating with the remote. + + + If only a subset of collections need remapping, elements in this + array can be specified as `null` to preserve the local + collection name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. + This password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + status: + description: >- + This is the state that the replicator is in or that trying to + transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: The replication is reconnecting to the remote database. + title: Replication Status + error_message: + description: The error message of the replication if an error has occurred. + type: string + docs_read: + description: >- + The number of documents that have been read (fetched) from the + source database. + type: integer + docs_checked_pull: + type: integer + docs_purged: + description: The number of documents that have been purged. + type: integer + rejected_by_local: + description: >- + The number of documents that were received by the local but did not + get replicated due to getting rejected by the sync function on the + local. + type: integer + last_seq_pull: + description: The last changes sequence number that was pulled from the remote. + type: string + deltas_recv: + description: The number of deltas that have been received from the remote. + type: integer + deltas_requested: + type: integer + docs_written: + description: >- + The number of documents that have been wrote (pushed) to the target + database. + type: integer + docs_checked_push: + type: integer + doc_write_failures: + description: >- + The number of documents that have failed to be wrote (pushed) to the + target database. There will be no attempt to try to push these docs + again. + type: integer + doc_write_conflicts: + description: The number of documents that had a conflict. + type: integer + rejected_by_remote: + description: >- + The number of documents that were received by the remote but did not + get replicated due to getting rejected by the sync function on the + remote. + type: integer + last_seq_push: + description: The last changes sequence number that was pushed to the remote. + type: string + deltas_sent: + description: 'The number of deltas that have been sent to the remote. ' + type: integer + required: + - replication_id + title: Replication-status + Console-logging-keys-level: + type: object + properties: + log_level: + description: Log Level for the console output + type: string + default: info + enum: + - none + - error + - warn + - info + - debug + - trace + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + enum: + - '*' + - Admin + - Access + - Auth + - Bucket + - Cache + - Changes + - SGCluster + - Config + - CRUD + - DCP + - Diagnostic + - Events + - gocb + - HTTP + - HTTP+ + - Import + - Javascript + - Migrate + - Query + - Replicate + - Sync + - SyncMsg + - WS + - WSFrame + x-enumDescriptions: + '*': 'This wildcard log key, enables all log keys.' + Access: Anytime an access() call is made in the sync function. + Admin: Admin processes in Sync Gateway. + Auth: Authentication. + Bucket: Sync Gateway interactions with the bucket. + CRUD: CRUD operations. + Cache: Interactions with Sync Gateway’s in-memory channel cache. + Changes: >- + Processing of /{keyspace}/_changes requests and pull + replications + Config: Server or database configuration. + DCP: Updates made by Sync Gateway to documents. + Diagnostic: Operations used by dry run endpoints. + Events: Event processing (webhooks). + HTTP: All requests made to the Sync Gateway REST APIs. + HTTP+: >- + Additional information about HTTP requests (response times, + status codes). + Import: >- + This log key can be useful to troubleshoot why a given document + was not successfully imported. + Javascript: >- + All logging from Javascript. This includes: sync function, + import filters, webhook filter function, and custom inter-Sync + Gateway replication conflict resolvers. + Migrate: >- + Logs messages that show when old inline document metadata is + upgraded to xattrs. + Query: Query is used for Sync Gateway code related to N1QL queries + Replicate: >- + Log messages related to Inter-Sync Gateway replications. This is + not used for replications initiated by Couchbase Lite. + SGCluster: >- + Log messages related to coordination of Sync Gateways for + sharded import and Inter-Sync Gateway Replication. + Sync: >- + Activity which relates to synchronization between Couchbase Lite + and Sync Gateway + SyncMsg: Additional logging on top of `Sync` key. + WS: Websocket replication log messages. + WSFrame: Additional logging on top of `WS` key. + gocb: All logging emitted by the gocb SDK + example: + - CRUD + - HTTP + - Query + Console-logging-config: + title: Configuration for console logging. + allOf: + - type: object + properties: + log_level: + description: Log Level for the console output + type: string + default: info + enum: + - none + - error + - warn + - info + - debug + - trace + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + enum: + - '*' + - Admin + - Access + - Auth + - Bucket + - Cache + - Changes + - SGCluster + - Config + - CRUD + - DCP + - Diagnostic + - Events + - gocb + - HTTP + - HTTP+ + - Import + - Javascript + - Migrate + - Query + - Replicate + - Sync + - SyncMsg + - WS + - WSFrame + x-enumDescriptions: + '*': 'This wildcard log key, enables all log keys.' + Access: Anytime an access() call is made in the sync function. + Admin: Admin processes in Sync Gateway. + Auth: Authentication. + Bucket: Sync Gateway interactions with the bucket. + CRUD: CRUD operations. + Cache: Interactions with Sync Gateway’s in-memory channel cache. + Changes: >- + Processing of /{keyspace}/_changes requests and pull + replications + Config: Server or database configuration. + DCP: Updates made by Sync Gateway to documents. + Diagnostic: Operations used by dry run endpoints. + Events: Event processing (webhooks). + HTTP: All requests made to the Sync Gateway REST APIs. + HTTP+: >- + Additional information about HTTP requests (response times, + status codes). + Import: >- + This log key can be useful to troubleshoot why a given + document was not successfully imported. + Javascript: >- + All logging from Javascript. This includes: sync function, + import filters, webhook filter function, and custom + inter-Sync Gateway replication conflict resolvers. + Migrate: >- + Logs messages that show when old inline document metadata is + upgraded to xattrs. + Query: Query is used for Sync Gateway code related to N1QL queries + Replicate: >- + Log messages related to Inter-Sync Gateway replications. + This is not used for replications initiated by Couchbase + Lite. + SGCluster: >- + Log messages related to coordination of Sync Gateways for + sharded import and Inter-Sync Gateway Replication. + Sync: >- + Activity which relates to synchronization between Couchbase + Lite and Sync Gateway + SyncMsg: Additional logging on top of `Sync` key. + WS: Websocket replication log messages. + WSFrame: Additional logging on top of `WS` key. + gocb: All logging emitted by the gocb SDK + example: + - CRUD + - HTTP + - Query + - type: object + properties: + color_enabled: + description: Log with color for the console output + type: boolean + default: false + readOnly: true + file_output: + description: >- + Override the default stderr output, and write to the file + specified instead + type: string + readOnly: true + enabled: + description: Toggle for this log output + type: boolean + default: false + readOnly: true + rotation: + type: object + readOnly: true + title: Log-rotation-config + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log files. By + default, there is no rotation, max_age=0. + default: 0 + type: integer + collation_buffer_size: + description: >- + The size of the log collation buffer. The default is 10 if the + output is stderr, or 1000 if to a file. + type: integer + default: 10 + readOnly: true + Audit-logging-config: + type: object + title: Audit logging config + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: The maximum size in MB of the log file before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the backup + timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + audit_log_file_path: + description: The path to write audit log files to + type: string + readOnly: true + enabled_events: + description: List of enabled global audit events. + type: array + items: + type: number + example: + - 1234 + - 5678 + readOnly: true + Logging-config: + type: object + properties: + log_file_path: + description: >- + Absolute or relative path on the filesystem to the log file + directory. A relative path is from the directory that contains the + Sync Gateway executable file. + type: string + readOnly: true + redaction_level: + description: Redaction level to apply to log output. + type: string + default: partial + enum: + - none + - partial + - full + - unset + readOnly: true + console: + allOf: + - title: Configuration for console logging. + allOf: + - type: object + properties: + log_level: + description: Log Level for the console output + type: string + default: info + enum: + - none + - error + - warn + - info + - debug + - trace + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + enum: + - '*' + - Admin + - Access + - Auth + - Bucket + - Cache + - Changes + - SGCluster + - Config + - CRUD + - DCP + - Diagnostic + - Events + - gocb + - HTTP + - HTTP+ + - Import + - Javascript + - Migrate + - Query + - Replicate + - Sync + - SyncMsg + - WS + - WSFrame + x-enumDescriptions: + '*': 'This wildcard log key, enables all log keys.' + Access: >- + Anytime an access() call is made in the sync + function. + Admin: Admin processes in Sync Gateway. + Auth: Authentication. + Bucket: Sync Gateway interactions with the bucket. + CRUD: CRUD operations. + Cache: >- + Interactions with Sync Gateway’s in-memory channel + cache. + Changes: >- + Processing of /{keyspace}/_changes requests and pull + replications + Config: Server or database configuration. + DCP: Updates made by Sync Gateway to documents. + Diagnostic: Operations used by dry run endpoints. + Events: Event processing (webhooks). + HTTP: All requests made to the Sync Gateway REST APIs. + HTTP+: >- + Additional information about HTTP requests (response + times, status codes). + Import: >- + This log key can be useful to troubleshoot why a + given document was not successfully imported. + Javascript: >- + All logging from Javascript. This includes: sync + function, import filters, webhook filter function, + and custom inter-Sync Gateway replication conflict + resolvers. + Migrate: >- + Logs messages that show when old inline document + metadata is upgraded to xattrs. + Query: >- + Query is used for Sync Gateway code related to N1QL + queries + Replicate: >- + Log messages related to Inter-Sync Gateway + replications. This is not used for replications + initiated by Couchbase Lite. + SGCluster: >- + Log messages related to coordination of Sync + Gateways for sharded import and Inter-Sync Gateway + Replication. + Sync: >- + Activity which relates to synchronization between + Couchbase Lite and Sync Gateway + SyncMsg: Additional logging on top of `Sync` key. + WS: Websocket replication log messages. + WSFrame: Additional logging on top of `WS` key. + gocb: All logging emitted by the gocb SDK + example: + - CRUD + - HTTP + - Query + - type: object + properties: + color_enabled: + description: Log with color for the console output + type: boolean + default: false + readOnly: true + file_output: + description: >- + Override the default stderr output, and write to the + file specified instead + type: string + readOnly: true + enabled: + description: Toggle for this log output + type: boolean + default: false + readOnly: true + rotation: + type: object + readOnly: true + title: Log-rotation-config + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log files. + By default, there is no rotation, max_age=0. + default: 0 + type: integer + collation_buffer_size: + description: >- + The size of the log collation buffer. The default is 10 + if the output is stderr, or 1000 if to a file. + type: integer + default: 10 + readOnly: true + error: + type: object + description: Error logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 360 + type: integer + collation_buffer_size: + description: The size of the log collation buffer. + default: 0 + type: integer + readOnly: true + warn: + type: object + description: Warning logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 180 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + info: + type: object + description: Info logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + debug: + type: object + description: Debug logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + trace: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + stats: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + audit: + type: object + title: Audit logging config + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it gets + rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format the + backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, even if + max_size is not reached. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + audit_log_file_path: + description: The path to write audit log files to + type: string + readOnly: true + enabled_events: + description: List of enabled global audit events. + type: array + items: + type: number + example: + - 1234 + - 5678 + readOnly: true + Serverless: + description: Configuration for when SG is running in serverless mode + type: object + properties: + enabled: + description: Run SG in to serverless mode + type: boolean + readOnly: true + min_config_fetch_interval: + description: >- + How long database configs should be kept for in Sync Gateway before + refreshing. Set to 0 to fetch configs everytime. This is used for + requested databases that SG does not know about. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 minutes, + and 30 seconds would be `5h20m30s`. + type: string + default: 1s + CredentialsConfig: + description: The configuration for the credentials set. + type: object + properties: + username: + description: Username for authenticating to the bucket + type: string + password: + description: >- + Password for authenticating to the bucket. This value is always + redacted. + type: string + x509_cert_path: + description: Cert path (public key) for X.509 bucket auth + type: string + x509_key_path: + description: Key path (private key) for X.509 bucket auth + type: string + title: Credentials config + Startup-config: + type: object + properties: + bootstrap: + description: Configuration settings for interacting with Couchbase Server. + type: object + properties: + group_id: + description: >- + The config group ID to use when discovering databases. Allows + for non-homogenous configuration. + type: string + default: default + config_update_frequency: + description: >- + How often to poll Couchbase Server for new config changes. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: 10s + server: + description: Couchbase Server connection string/URL. + type: string + username: + description: Username for authenticating to server. + type: string + password: + description: Password for authenticating to server + type: string + ca_cert_path: + description: Root CA cert path for TLS connection + type: string + server_tls_skip_verify: + description: >- + Allow empty server CA Cert Path without attempting to use system + root pool + type: boolean + default: false + x509_cert_path: + description: Cert path (public key) for X.509 bucket auth + type: string + x509_key_path: + description: Key path (private key) for X.509 bucket auth + type: string + use_tls_server: + description: Enforces a secure or non-secure server scheme + type: boolean + default: true + readOnly: true + required: + - server + - username + - password + api: + description: >- + Configuration settings for modifying how the REST API is interacted + with. + type: object + properties: + public_interface: + description: Network interface to bind public API to + type: string + default: ':4984' + admin_interface: + description: |- + Network interface to bind admin API to. + + By default, this will only be accessible to the localhost. + type: string + default: '127.0.0.1:4985' + metrics_interface: + description: |- + Network interface to bind metrics API to. + + By default, this will only be accessible to the localhost. + type: string + default: '127.0.0.1:4986' + profile_interface: + description: Network interface to bind profiling API to + type: string + admin_interface_authentication: + description: Whether the admin API requires authentication + type: boolean + default: true + metrics_interface_authentication: + description: Whether the metrics API requires authentication + type: boolean + default: true + enable_advanced_auth_dp: + description: >- + Whether to enable the DP permissions check feature of admin + auth. + + + Defaults to `true` if using Enterprise Edition or `false` if + using Community Edition. + type: boolean + server_read_timeout: + description: >- + Maximum duration before timing out read of the HTTP(S) request. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + server_write_timeout: + description: >- + Maximum duration before timing out write of the HTTP(S) + response. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + read_header_timeout: + description: >- + The amount of time allowed to read request headers. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: 5s + idle_timeout: + description: >- + The maximum amount of time to wait for the next request when + keep-alives are enabled. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: 90s + pretty: + description: Pretty-print JSON responses. This property is deprecated. + type: boolean + deprecated: true + max_connections: + description: Max of incoming HTTP connections to accept + type: number + default: 0 + compress_responses: + description: 'If false, disables compression of HTTP responses' + type: boolean + default: true + hide_product_version: + description: >- + Whether product versions removed from Server headers and REST + API responses + type: boolean + https: + type: object + properties: + tls_minimum_version: + description: The minimum allowable TLS version for the REST APIs + type: string + default: tlsv1.2 + tls_cert_path: + description: The TLS cert file to use for the REST APIs + type: string + tls_key_path: + description: The TLS key file to use for the REST APIs + type: string + cors: + allOf: + - type: object + description: CORS configuration for all databases + - type: object + properties: + headers: + description: >- + List of allowed headers. These headers will be added the + `Access-Control-Allow-Headers` response to a valid CORS + request. + + + A recommended minimum set of values should be + `["Accept-Encoding", "Authorization", "Content-Type", + "If-Match"]`. + type: array + items: + type: string + example: + - Accept-Encoding + - Authorization + - Content-Type + - If-Match + login_origin: + description: >- + List of allowed origins to apply to public + `/{db}/_session` API. + + + To use cors on `/{db}/_session`, the domain must be + present in both `login_origin` and `origin`. + + + If configured, `Authorization` must be included in + headers. + type: array + items: + type: string + example: + - 'https://example.com' + max_age: + description: >- + Value for `Access-Control-Maximum-Age`. Uses 0 by + default. + type: integer + default: 0 + origin: + description: >- + List of allowed origins for the public API. The request + `Origin` header is checked against these values. If + successful the `Origin` header is returned in the HTTP + response header as `Access-Control-Allow-Origin`. + type: array + items: + type: string + example: + - 'https://example.com' + title: Cors Configuration + readOnly: true + logging: + description: The configuration settings for modifying Sync Gateway logging. + type: object + allOf: + - type: object + properties: + log_file_path: + description: >- + Absolute or relative path on the filesystem to the log file + directory. A relative path is from the directory that + contains the Sync Gateway executable file. + type: string + readOnly: true + redaction_level: + description: Redaction level to apply to log output. + type: string + default: partial + enum: + - none + - partial + - full + - unset + readOnly: true + console: + allOf: + - title: Configuration for console logging. + allOf: + - type: object + properties: + log_level: + description: Log Level for the console output + type: string + default: info + enum: + - none + - error + - warn + - info + - debug + - trace + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + enum: + - '*' + - Admin + - Access + - Auth + - Bucket + - Cache + - Changes + - SGCluster + - Config + - CRUD + - DCP + - Diagnostic + - Events + - gocb + - HTTP + - HTTP+ + - Import + - Javascript + - Migrate + - Query + - Replicate + - Sync + - SyncMsg + - WS + - WSFrame + x-enumDescriptions: + '*': 'This wildcard log key, enables all log keys.' + Access: >- + Anytime an access() call is made in the sync + function. + Admin: Admin processes in Sync Gateway. + Auth: Authentication. + Bucket: Sync Gateway interactions with the bucket. + CRUD: CRUD operations. + Cache: >- + Interactions with Sync Gateway’s in-memory + channel cache. + Changes: >- + Processing of /{keyspace}/_changes requests + and pull replications + Config: Server or database configuration. + DCP: Updates made by Sync Gateway to documents. + Diagnostic: Operations used by dry run endpoints. + Events: Event processing (webhooks). + HTTP: >- + All requests made to the Sync Gateway REST + APIs. + HTTP+: >- + Additional information about HTTP requests + (response times, status codes). + Import: >- + This log key can be useful to troubleshoot + why a given document was not successfully + imported. + Javascript: >- + All logging from Javascript. This includes: + sync function, import filters, webhook + filter function, and custom inter-Sync + Gateway replication conflict resolvers. + Migrate: >- + Logs messages that show when old inline + document metadata is upgraded to xattrs. + Query: >- + Query is used for Sync Gateway code related + to N1QL queries + Replicate: >- + Log messages related to Inter-Sync Gateway + replications. This is not used for + replications initiated by Couchbase Lite. + SGCluster: >- + Log messages related to coordination of Sync + Gateways for sharded import and Inter-Sync + Gateway Replication. + Sync: >- + Activity which relates to synchronization + between Couchbase Lite and Sync Gateway + SyncMsg: Additional logging on top of `Sync` key. + WS: Websocket replication log messages. + WSFrame: Additional logging on top of `WS` key. + gocb: All logging emitted by the gocb SDK + example: + - CRUD + - HTTP + - Query + - type: object + properties: + color_enabled: + description: Log with color for the console output + type: boolean + default: false + readOnly: true + file_output: + description: >- + Override the default stderr output, and write to + the file specified instead + type: string + readOnly: true + enabled: + description: Toggle for this log output + type: boolean + default: false + readOnly: true + rotation: + type: object + readOnly: true + title: Log-rotation-config + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. By default, there is no rotation, + max_age=0. + default: 0 + type: integer + collation_buffer_size: + description: >- + The size of the log collation buffer. The + default is 10 if the output is stderr, or 1000 + if to a file. + type: integer + default: 10 + readOnly: true + error: + type: object + description: Error logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 360 + type: integer + collation_buffer_size: + description: The size of the log collation buffer. + default: 0 + type: integer + readOnly: true + warn: + type: object + description: Warning logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 180 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + info: + type: object + description: Info logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + debug: + type: object + description: Debug logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + trace: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + stats: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + audit: + type: object + title: Audit logging config + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + audit_log_file_path: + description: The path to write audit log files to + type: string + readOnly: true + enabled_events: + description: List of enabled global audit events. + type: array + items: + type: number + example: + - 1234 + - 5678 + readOnly: true + auth: + type: object + properties: + bcrypt_cost: + description: Cost to use for bcrypt password hashes + type: integer + default: 10 + maximum: 31 + minimum: 10 + readOnly: true + replicator: + type: object + properties: + max_heartbeat: + description: >- + Max heartbeat value for `_changes` request. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + blip_compression: + description: BLIP data compression level (0-9) + type: integer + maximum: 9 + minimum: 0 + max_concurrent_replications: + description: >- + Maximum number of concurrent replication connections allowed. If + set to 0 this limit will be ignored. + type: integer + max_concurrent_changes_batches: + description: >- + Maximum number of changes batches to process concurrently per + replication (1-5)" + type: integer + default: 2 + minimum: 1 + maximum: 5 + max_concurrent_revs: + description: >- + Maximum number of revs to process concurrently per replication + (5-200) + type: integer + default: 5 + minimum: 5 + maximum: 200 + readOnly: true + unsupported: + description: >- + Settings that are not officially supported. It is highly recommended + these are **not** used. + type: object + properties: + serverless: + description: Configuration for when SG is running in serverless mode + type: object + properties: + enabled: + description: Run SG in to serverless mode + type: boolean + readOnly: true + min_config_fetch_interval: + description: >- + How long database configs should be kept for in Sync Gateway + before refreshing. Set to 0 to fetch configs everytime. This + is used for requested databases that SG does not know about. + + + This is a duration and therefore can be provided with units + "h", "m", "s", "ms", "us", and "ns". For example, 5 hours, + 20 minutes, and 30 seconds would be `5h20m30s`. + type: string + default: 1s + use_xattr_config: + description: Store database configurations in system xattrs + type: boolean + default: false + stats_log_frequency: + description: >- + How often should stats be written to stats logs. + + + This is a duration and therefore can be provided with units "h", + "m", "s", "ms", "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: 1m + use_stdlib_json: + description: Bypass the jsoniter package and use Go's stdlib instead + type: boolean + default: false + http2: + type: object + properties: + enabled: + description: Whether HTTP2 support is enabled + type: boolean + default: false + allow_dbconfig_env_vars: + description: >- + Can be set to false to skip environment variable expansion in + database configs + type: boolean + default: true + diagnostic_interface: + description: >- + Network interface to bind diagnotic API to. + + + By default, this API will not be run unless this string is + specified. + type: string + default: '' + readOnly: true + database_credentials: + description: >- + A map of database name to credentials, that can be used instead of + the bootstrap ones. + type: object + additionalProperties: + x-additionalPropertiesName: databasename + description: The configuration for the credentials set. + type: object + properties: + username: + description: Username for authenticating to the bucket + type: string + password: + description: >- + Password for authenticating to the bucket. This value is + always redacted. + type: string + x509_cert_path: + description: Cert path (public key) for X.509 bucket auth + type: string + x509_key_path: + description: Key path (private key) for X.509 bucket auth + type: string + title: Credentials config + readOnly: true + bucket_credentials: + description: >- + A map of bucket names to credentials, that can be used instead of + the bootstrap ones. + type: object + additionalProperties: + x-additionalPropertiesName: bucketname + description: The configuration for the credentials set. + type: object + properties: + username: + description: Username for authenticating to the bucket + type: string + password: + description: >- + Password for authenticating to the bucket. This value is + always redacted. + type: string + x509_cert_path: + description: Cert path (public key) for X.509 bucket auth + type: string + x509_key_path: + description: Key path (private key) for X.509 bucket auth + type: string + title: Credentials config + readOnly: true + max_file_descriptors: + description: Max of open file descriptors (RLIMIT_NOFILE) + type: number + default: 5000 + minimum: 0 + readOnly: true + couchbase_keepalive_interval: + description: >- + TCP keep-alive interval between SG and Couchbase server. This is + unused. + type: integer + deprecated: true + readOnly: true + heap_profile_collection_threshold: + description: >- + Threshold in bytes for automatic collection of heap profiles. If not + specified, defaults to 85% of the lesser of cgroup or system memory. + readOnly: true + type: integer + heap_profile_disable_collection: + description: Disables automatic heap profile collection. + default: false + type: boolean + readOnly: true + title: Startup-config + Runtime-config: + type: object + properties: + logging: + allOf: + - type: object + properties: + log_file_path: + description: >- + Absolute or relative path on the filesystem to the log file + directory. A relative path is from the directory that + contains the Sync Gateway executable file. + type: string + readOnly: true + redaction_level: + description: Redaction level to apply to log output. + type: string + default: partial + enum: + - none + - partial + - full + - unset + readOnly: true + console: + allOf: + - title: Configuration for console logging. + allOf: + - type: object + properties: + log_level: + description: Log Level for the console output + type: string + default: info + enum: + - none + - error + - warn + - info + - debug + - trace + log_keys: + description: Log Keys for the console output + type: array + items: + type: string + enum: + - '*' + - Admin + - Access + - Auth + - Bucket + - Cache + - Changes + - SGCluster + - Config + - CRUD + - DCP + - Diagnostic + - Events + - gocb + - HTTP + - HTTP+ + - Import + - Javascript + - Migrate + - Query + - Replicate + - Sync + - SyncMsg + - WS + - WSFrame + x-enumDescriptions: + '*': 'This wildcard log key, enables all log keys.' + Access: >- + Anytime an access() call is made in the sync + function. + Admin: Admin processes in Sync Gateway. + Auth: Authentication. + Bucket: Sync Gateway interactions with the bucket. + CRUD: CRUD operations. + Cache: >- + Interactions with Sync Gateway’s in-memory + channel cache. + Changes: >- + Processing of /{keyspace}/_changes requests + and pull replications + Config: Server or database configuration. + DCP: Updates made by Sync Gateway to documents. + Diagnostic: Operations used by dry run endpoints. + Events: Event processing (webhooks). + HTTP: >- + All requests made to the Sync Gateway REST + APIs. + HTTP+: >- + Additional information about HTTP requests + (response times, status codes). + Import: >- + This log key can be useful to troubleshoot + why a given document was not successfully + imported. + Javascript: >- + All logging from Javascript. This includes: + sync function, import filters, webhook + filter function, and custom inter-Sync + Gateway replication conflict resolvers. + Migrate: >- + Logs messages that show when old inline + document metadata is upgraded to xattrs. + Query: >- + Query is used for Sync Gateway code related + to N1QL queries + Replicate: >- + Log messages related to Inter-Sync Gateway + replications. This is not used for + replications initiated by Couchbase Lite. + SGCluster: >- + Log messages related to coordination of Sync + Gateways for sharded import and Inter-Sync + Gateway Replication. + Sync: >- + Activity which relates to synchronization + between Couchbase Lite and Sync Gateway + SyncMsg: Additional logging on top of `Sync` key. + WS: Websocket replication log messages. + WSFrame: Additional logging on top of `WS` key. + gocb: All logging emitted by the gocb SDK + example: + - CRUD + - HTTP + - Query + - type: object + properties: + color_enabled: + description: Log with color for the console output + type: boolean + default: false + readOnly: true + file_output: + description: >- + Override the default stderr output, and write to + the file specified instead + type: string + readOnly: true + enabled: + description: Toggle for this log output + type: boolean + default: false + readOnly: true + rotation: + type: object + readOnly: true + title: Log-rotation-config + properties: + max_size: + description: >- + The maximum size in MB of the log file + before it gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time + to format the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: >- + Max Size (in mb) of log files before + deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are + rotated, even if max_size is not reached. + + + This is a duration and therefore can be + provided with units "h", "m", "s", "ms", + "us", and "ns". For example, 5 hours, 20 + minutes, and 30 seconds would be `5h20m30s`. + type: string + default: '' + max_age: + description: >- + The maximum number of days to retain old log + files. By default, there is no rotation, + max_age=0. + default: 0 + type: integer + collation_buffer_size: + description: >- + The size of the log collation buffer. The + default is 10 if the output is stderr, or 1000 + if to a file. + type: integer + default: 10 + readOnly: true + error: + type: object + description: Error logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 360 + type: integer + collation_buffer_size: + description: The size of the log collation buffer. + default: 0 + type: integer + readOnly: true + warn: + type: object + description: Warning logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 180 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + info: + type: object + description: Info logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + debug: + type: object + description: Debug logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + trace: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 2 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 1000 + type: integer + readOnly: true + stats: + type: object + description: Trace logging configuration. + properties: + enabled: + description: Toggle for this log output + type: boolean + default: true + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + collation_buffer_size: + description: The size of the log collation buffer + default: 0 + type: integer + readOnly: true + audit: + type: object + title: Audit logging config + properties: + enabled: + description: Toggle for this log output + type: boolean + default: false + rotation: + type: object + readOnly: true + properties: + max_size: + description: >- + The maximum size in MB of the log file before it + gets rotated. + type: integer + default: 100 + localtime: + description: >- + If true, it uses the computer's local time to format + the backup timestamp. + type: boolean + default: false + rotated_logs_size_limit: + description: Max Size (in mb) of log files before deletion + type: integer + default: 1024 + rotation_interval: + description: >- + If set, the interval at which log files are rotated, + even if max_size is not reached. + + + This is a duration and therefore can be provided + with units "h", "m", "s", "ms", "us", and "ns". For + example, 5 hours, 20 minutes, and 30 seconds would + be `5h20m30s`. + type: string + default: '' + max_age: + description: The maximum number of days to retain old log files. + default: 6 + type: integer + audit_log_file_path: + description: The path to write audit log files to + type: string + readOnly: true + enabled_events: + description: List of enabled global audit events. + type: array + items: + type: number + example: + - 1234 + - 5678 + readOnly: true + max_concurrent_replications: + description: >- + Maximum number of concurrent replication connections allowed. If set + to 0 this limit will be ignored. + type: integer + default: 0 + title: Runtime-config + Vendor: + description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + Status: + type: object + properties: + databases: + description: >- + Contains a map of all the databases in the node along with their + status. + type: object + additionalProperties: + x-additionalPropertiesName: dbname + description: The name of the database. + type: object + properties: + seq: + description: The latest sequence number in the database. + type: number + minimum: 0 + server_uuid: + description: The server unique identifier. + type: string + require_resync: + description: >- + Indicates whether the database requires resync before it can + be brought online. + type: boolean + state: + allOf: + - description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other offline only + endpoints are allowed. + Starting: The database is in the process of going online. + Stopping: >- + The database is no longer accepting connections and is + being taken offline or deleted. + Resyncing: >- + The database is offline and performing a resync + operation. + replication_status: + type: array + items: + type: object + properties: + replication_id: + description: The ID of the replication. + type: string + config: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if not + explicitly set. + + + When the replication ID is specified in the URL, + this must be set to the same replication ID if + specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote + Sync Gateway that is the subject of this + replication's `push`, `pull`, or `pushAndPull` + action. + + + Typically this would include the URI, port, and + database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. + This password will be redacted in the replication + config. + type: string + direction: + description: >- + This specifies which direction the replication will + be replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync + Gateway should use to apply when resolving + conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being + the winner in any conflict. + remoteWins: >- + This will result in remote revisions always being + the winner in any conflict. + custom: >- + This will result in conflicts going through your + own custom conflict resolver. You must provide + this logic as a Javascript function in the + `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to + resolve conflicts between conflicting revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This property + will be ignored when `conflict_resolution_type` is + not `custom`. + + + The Javascript function to provide this property + should be in backticks (like the sync function). The + function takes 1 parameter which is a struct that + represents the conflict. This struct has 2 + properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. + This can be the winning revision (for example, + `return conflict.LocalDocument`), a new body, or + `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions + can noticeably degrade performance. Use a built-in + resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote + user loses access to all of the channels on the + document when attempting to pull it from the remote. + + + If false, documents will not be replicated and not + be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In + order to enable delta-sync for a replication, the + database level setting `delta_sync.enabled` must + also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that + Sync Gateway will attempt to reconnect to a lost or + unreachable remote. + + + When a disconnection happens, Sync Gateway will do + an exponential backoff up to this specified value. + When this value is met, it will attempt to reconnect + indefinitely every `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but + then attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications + created prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when + creating a new replication. + + + This allows you to control if the replication starts + in a `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in + the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but + the replication will not start running until the + user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced when + they happen. This is known as a continuous + replication. + + + If false, all changes will be synced until they have + been processed. The replication will then cease and + not process any future changes (unless started again + by the user). This is known as a one-shot + replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a + specific set of channels specified by the + `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the query + string of the replication. + + + If `filters=sync_gateway/bychannel` then this can be + used to set the channels to filter by in a pull + replication. To do this, set the `channels` key to a + string array of the channels to filter by. For + example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last the + period of the replication until the status is + changed to `stopped` and then it will be removed + automatically. It will also be removed if Sync + Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of + replications. Changing this is an Enterprise Edition + only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run + the replication as. This means that the replication + will only be able to replicate what the user access + to what the user has access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, + and will replicate all collections, unless otherwise + limited by `collections_local`. + + + If false, the replicator will only replicate the + default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those + listed in this array. + + + The replication will use all collections defined on + the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with the + remote. + + + If only a subset of collections need remapping, + elements in this array can be specified as `null` to + preserve the local collection name. + + + The same index is used for both `collections_remote` + and `collections_local`, and both arrays must be the + same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate with the + remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + status: + description: >- + This is the state that the replicator is in or that + trying to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: >- + The replication is reconnecting to the remote + database. + title: Replication Status + error_message: + description: >- + The error message of the replication if an error has + occurred. + type: string + docs_read: + description: >- + The number of documents that have been read (fetched) + from the source database. + type: integer + docs_checked_pull: + type: integer + docs_purged: + description: The number of documents that have been purged. + type: integer + rejected_by_local: + description: >- + The number of documents that were received by the local + but did not get replicated due to getting rejected by + the sync function on the local. + type: integer + last_seq_pull: + description: >- + The last changes sequence number that was pulled from + the remote. + type: string + deltas_recv: + description: >- + The number of deltas that have been received from the + remote. + type: integer + deltas_requested: + type: integer + docs_written: + description: >- + The number of documents that have been wrote (pushed) to + the target database. + type: integer + docs_checked_push: + type: integer + doc_write_failures: + description: >- + The number of documents that have failed to be wrote + (pushed) to the target database. There will be no + attempt to try to push these docs again. + type: integer + doc_write_conflicts: + description: The number of documents that had a conflict. + type: integer + rejected_by_remote: + description: >- + The number of documents that were received by the remote + but did not get replicated due to getting rejected by + the sync function on the remote. + type: integer + last_seq_push: + description: >- + The last changes sequence number that was pushed to the + remote. + type: string + deltas_sent: + description: 'The number of deltas that have been sent to the remote. ' + type: integer + required: + - replication_id + title: Replication-status + cluster: + type: object + properties: + cluster_uuid: + description: The cluster unique identifier. + type: string + replication: + description: Map of replication configs defined for the cluster. + type: object + properties: + replication_id: + description: Properties of a replication + allOf: + - type: object + properties: + replication_id: + description: This is the ID of the replication. + type: string + - description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST + request, this will be set to a random UUID if + not explicitly set. + + + When the replication ID is specified in the + URL, this must be set to the same replication + ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the + remote Sync Gateway that is the subject of + this replication's `push`, `pull`, or + `pushAndPull` action. + + + Typically this would include the URI, port, + and database name. For example, + `https://localhost:4985/db`. + type: string + remote_username: + description: >- + The username to use to authenticate with the + remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the + remote. This password will be redacted in the + replication config. + type: string + direction: + description: >- + This specifies which direction the replication + will be replicating with the `remote` + replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: >- + changes are both push-to and pulled-from the + remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy + Sync Gateway should use to apply when + resolving conflicting revisions. + + + Changing this is an Enterprise Edition only + feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always + being the winner in any conflict. + remoteWins: >- + This will result in remote revisions always + being the winner in any conflict. + custom: >- + This will result in conflicts going through + your own custom conflict resolver. You must + provide this logic as a Javascript function + in the `custom_conflict_resolver` parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use + to resolve conflicts between conflicting + revisions. + + + This **must** be used when + `conflict_resolution_type=custom`. This + property will be ignored when + `conflict_resolution_type` is not `custom`. + + + The Javascript function to provide this + property should be in backticks (like the sync + function). The function takes 1 parameter + which is a struct that represents the + conflict. This struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's + body. This can be the winning revision (for + example, `return conflict.LocalDocument`), a + new body, or `nil` to resolve as a delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` + functions can noticeably degrade performance. + Use a built-in resolver whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the + remote user loses access to all of the + channels on the document when attempting to + pull it from the remote. + + + If false, documents will not be replicated and + not be purged when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the + replication. In order to enable delta-sync for + a replication, the database level setting + `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only + feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) + that Sync Gateway will attempt to reconnect to + a lost or unreachable remote. + + + When a disconnection happens, Sync Gateway + will do an exponential backoff up to this + specified value. When this value is met, it + will attempt to reconnect indefinitely every + `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the + normal exponential backoff after the + disconnect happens but then attempting 10 + minutes and stop the replication. + + + Note: this defaults to 5 minutes for + replications created prior to Sync Gateway + 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in + when creating a new replication. + + + This allows you to control if the replication + starts in a `stopped` start or `running` + state. + + + Replications prior to Sync Gateway 2.8 will + run in the default state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: >- + The replication will immediately start + running. + stopped: >- + The replication configuration will be + created but the replication will not start + running until the user explicitly starts it. + continuous: + description: >- + If true, changes will be immediately synced + when they happen. This is known as a + continuous replication. + + + If false, all changes will be synced until + they have been processed. The replication will + then cease and not process any future changes + (unless started again by the user). This is + known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited + to a specific set of channels specified by + the `query_param.channels` property. + query_params: + description: >- + This is a set of key/value pairs used in the + query string of the replication. + + + If `filters=sync_gateway/bychannel` then this + can be used to set the channels to filter by + in a pull replication. To do this, set the + `channels` key to a string array of the + channels to filter by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc + replication instead of a persistent one. + + + This means that the replication will only last + the period of the replication until the status + is changed to `stopped` and then it will be + removed automatically. It will also be removed + if Sync Gateway restarts or if removed due to + user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch + of replications. Changing this is an + Enterprise Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to + run the replication as. This means that the + replication will only be able to replicate + what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with + collections, and will replicate all + collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate + the default collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to + those listed in this array. + + + The replication will use all collections + defined on the database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one + specified in this array when replicating with + the remote. + + + If only a subset of collections need + remapping, elements in this array can be + specified as `null` to preserve the local + collection name. + + + The same index is used for both + `collections_remote` and `collections_local`, + and both arrays must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: >- + **This has been deprecated in favour of + `remote_username`.** + + + This is the username to use to authenticate + with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of + `remote_password`.** + + + This is the password to use to authenticate + with the remote. This password will be + redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + - type: object + properties: + assigned_node: + description: >- + The unique ID of the node assigned to the + replication. + type: string + target_state: + description: >- + This is the state that the replicator is in or + that trying to transition in to. + type: string + enum: + - running + - stopped + - resetting + - error + - starting + - reconnecting + x-enumDescriptions: + running: Currently running replication. + stopped: Not running replication. + resetting: The replication is resetting its state. + error: The replication is stopped due to an error. + starting: The replication is starting up. + reconnecting: >- + The replication is reconnecting to the + remote database. + title: Replication Status + cluster_uuid: + description: The cluster unique identifier. + type: string + title: Replication + nodes: + description: Map of all Sync Gateway nodes in the cluster. + type: object + properties: + node_uuid: + description: The nodes unique identifier. + type: object + properties: + uuid: + description: The nodes unique identifier. + type: string + host: + description: The nodes host name. + type: string + version: + description: >- + The product version including the build number and edition (ie. `EE` + or `CE`). + + + Blank if `api.hide_product_version=true` in the startup + configuration. + type: string + vendor: + allOf: + - description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + title: Status + Database-audit: + title: Simple + description: A map of audit events and whether they are enabled or not. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + type: boolean + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: | + The domain of the role for which audit logging is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: The name of the user for which audit logging is disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. Either cbs or + sgw. + type: array + items: + type: object + properties: + domain: + description: | + The domain of the role for which audit logging is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: The name of the role for which audit logging is disabled. + type: string + AuditEventVerbose: + title: audit-event-verbose + description: Detailed information about an audit event. + type: object + properties: + name: + type: string + description: The name of the audit event. + readOnly: true + description: + type: string + description: The description of the audit event. + readOnly: true + enabled: + type: boolean + description: Whether this audit event is currently enabled or not. + filterable: + type: boolean + description: >- + Whether this audit event can be disabled. Some audit events are + always on. + readOnly: true + Database-audit-verbose: + title: Verbose + description: A map of detailed audit events. + properties: + enabled: + type: boolean + events: + type: object + additionalProperties: + x-additionalPropertiesName: audit_id + description: The audit event ID and whether it is enabled or not. + title: audit-event-verbose + type: object + properties: + name: + type: string + description: The name of the audit event. + readOnly: true + description: + type: string + description: The description of the audit event. + readOnly: true + enabled: + type: boolean + description: Whether this audit event is currently enabled or not. + filterable: + type: boolean + description: >- + Whether this audit event can be disabled. Some audit events + are always on. + readOnly: true + disabled_users: + description: List of users for which audit logging is disabled. + type: array + items: + type: object + properties: + domain: + description: | + The domain of the role for which audit logging is disabled. + + * `cbs` - Couchbase Server User + * `sgw` - Sync Gateway User + enum: + - cbs + - sgw + type: string + name: + description: The name of the user for which audit logging is disabled. + type: string + disabled_roles: + description: >- + List of roles for which audit logging is disabled. Either cbs or + sgw. + type: array + items: + type: object + properties: + domain: + description: | + The domain of the role for which audit logging is disabled. + + * `cbs` - Couchbase Server RBAC + * `sgw` - Sync Gateway Role + enum: + - cbs + - sgw + type: string + name: + description: The name of the role for which audit logging is disabled. + type: string + CollectionNames: + description: List of collection names + type: array + items: + type: string + example: + - collection1 + - collection2 + ResyncScopesMap: + description: >- + scope name with one or more collection names for which resync will be + triggered + type: object + additionalProperties: + allOf: + - description: List of collection names + type: array + items: + type: string + example: + - collection1 + - collection2 + example: + scopeName: + - collection1 + - collection2 + Resync-status: + description: The status of a resync operation + type: object + properties: + status: + description: The status of the current operation. + type: string + enum: + - running + - completed + - stopping + - stopped + - error + start_time: + description: The ISO-8601 date and time the resync operation was started. + type: string + last_error: + description: The last error that occurred in the resync operation (if any). + type: string + docs_changed: + description: >- + The amount of documents that have been changed as a result of the + resync operation. + type: integer + docs_processed: + description: >- + The amount of docs that have been processed so far in the resync + operation. + type: integer + collections_processing: + description: The collections that the resync operation is running on. + allOf: + - description: >- + scope name with one or more collection names for which resync + will be triggered + type: object + additionalProperties: + allOf: + - description: List of collection names + type: array + items: + type: string + example: + - collection1 + - collection2 + example: + scopeName: + - collection1 + - collection2 + required: + - status + - start_time + - last_error + - docs_changed + - docs_processed + title: Resync-status + IndexSettings: + type: object + description: Settings for Global Secondary Indexes (GSI). + properties: + create_separate_principal_indexes: + description: >- + Whether to create separate indexes for users and roles instead of a + single larger syncDocs index. + + + The separate principal indexes are smaller and used automatically + for new database deployments. To remove the syncDocs index, wait for + this to complete, restart all Sync Gateway instances and run [POST + /_post_upgrade](#operation/post__post_upgrade). + type: boolean + default: false + num_partitions: + description: >- + The number of partitions to use for the large indexes created by + Sync Gateway. It is not recommended to set this unless you require + additional horizontal scalability for individual indexes and have + appropriately scaled your Query nodes to handle the increased query + parallelism. If set, the recommended number is 8 and does not need + to be directly related to the number of your Query nodes. Ensure + documentation is read to understand the performance tradeoffs and + instructions for migration if you have previously run with only one + partition. See [/{db}/_index_init](#operation/post_db-_index_init) + for more information. + + + If not specified or 1, all indexes will be non partitioned. + type: number + default: 1 + title: Number of Index Partitions + IndexInitStatus: + description: The status of an asynchronous indexes initialization operation. + type: object + properties: + status: + description: The status of the current operation. + type: string + enum: + - completed + - error + - running + - stopped + - stopping + x-enumDescriptions: + running: Indexes are being created. + completed: All indexes were created. + error: The index initialization operation has failed. + stopped: >- + The index initialization operation has been stopped. These indexes + may still exist on Couchbase Server. + stopping: >- + The index initialization operation is in the process of being + stopped. + start_time: + description: >- + The ISO-8601 date and time the index initialization operation was + started. + type: string + last_error: + description: >- + The last error that occurred in the index initialization operation + (if any). + type: string + index_status: + description: >- + scope name with one or more collection names and the status of their + index creation + type: object + additionalProperties: + x-additionalPropertiesName: scopename + description: >- + An object keyed by scope, containing a set of collections and the + status of their index creation. + type: object + additionalProperties: + x-additionalPropertiesName: collectionname + type: string + enum: + - queued + - in progress + - ready + - error + x-enumDescriptions: + queued: Indexes are queued for creation. + in progress: Indexes are being created. + ready: All indexes were created. + error: The index creation operation has failed. + settings: + allOf: + - type: object + description: Settings for Global Secondary Indexes (GSI). + properties: + create_separate_principal_indexes: + description: >- + Whether to create separate indexes for users and roles + instead of a single larger syncDocs index. + + + The separate principal indexes are smaller and used + automatically for new database deployments. To remove the + syncDocs index, wait for this to complete, restart all Sync + Gateway instances and run [POST + /_post_upgrade](#operation/post__post_upgrade). + type: boolean + default: false + num_partitions: + description: >- + The number of partitions to use for the large indexes + created by Sync Gateway. It is not recommended to set this + unless you require additional horizontal scalability for + individual indexes and have appropriately scaled your Query + nodes to handle the increased query parallelism. If set, the + recommended number is 8 and does not need to be directly + related to the number of your Query nodes. Ensure + documentation is read to understand the performance + tradeoffs and instructions for migration if you have + previously run with only one partition. See + [/{db}/_index_init](#operation/post_db-_index_init) for more + information. + + + If not specified or 1, all indexes will be non partitioned. + type: number + default: 1 + title: Number of Index Partitions + required: + - status + - start_time + - last_error + - index_status + title: IndexInitStatus + Compact-status: + description: The status returned from a compaction. + type: object + properties: + status: + description: The status of the current operation. + type: string + start_time: + description: The ISO-8601 date and time the compact operation was started. + type: string + last_error: + description: The last error that occurred in the compact operation (if any). + type: string + docs_purged: + description: |- + **Applicable to tombstone compaction only** + + This is the amount of documents that have been purged so far. + type: string + marked_attachments: + description: |- + **Applicable to attachment compaction only** + + This is the number of references there are to legacy attachments. + type: string + purged_attachments: + description: |- + **Applicable to attachment compaction only** + + This is the amount of attachments that have been purged so far. + type: string + compact_id: + description: |- + **Applicable to attachment compaction only** + + This is the ID of the compaction. + type: string + phase: + description: >- + **Applicable to attachment compaction only** + + + This indicates the current phase of running attachment compact + processes. + + + For failed processes, this indicates the phase at which a compact_id + restart will commence (where relevant). + type: string + dry_run: + description: | + **Applicable to attachment compaction only** + type: string + enum: + - mark + - sweep + - cleanup + required: + - status + - start_time + - last_error + title: Compact-status + Document: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. The expiration + time is set and managed on the Couchbase Server document. The value + can be specified in two ways; in ISO-8601 format, for example the + 6th of July 2022 at 17:00 in the BST timezone would be + `2016-07-06T17:00:00+01:00`; it can also be specified as a numeric + Couchbase Server expiry value. Couchbase Server expiry values are + specified as Unix time, and if the desired TTL is below 30 days then + it can also represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 seconds after + it is written to Couchbase Server). The document expiration time is + returned in the response of `GET /{db}/{doc} ` when `show_exp=true` + is included in the query. + + + As with the existing explicit purge mechanism, this applies only to + the local database; it has nothing to do with replication. This + expiration time is not propagated when the document is replicated. + The purge of the document does not cause it to be deleted on any + other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, it is a + tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: 'Array of valid revision IDs, in reverse order (latest first).' + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + New-revision: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + ExpVars: + type: object + properties: + cmdline: + description: >- + Built-in variables from the Go runtime, lists the command-line + arguments + type: object + memstats: + description: >- + Dumps a large amount of information about the memory heap and + garbage collector + type: object + cb: + description: Variables reported by the Couchbase SDK (go_couchbase package) + type: object + mc: + description: >- + Variables reported by the low-level memcached API (gomemcached + package) + type: object + syncGateway_changeCache: + type: object + properties: + maxPending: + description: >- + Max number of sequences waiting on a missing earlier sequence + number + type: object + lag-tap-0000ms: + description: Histogram of delay from doc save till it shows up in Tap feed + type: object + lag-queue-0000ms: + description: >- + Histogram of delay from Tap feed till doc is posted to changes + feed + type: object + lag-total-0000ms: + description: >- + Histogram of total delay from doc save till posted to changes + feed + type: object + outOfOrder: + description: Number of out-of-order sequences posted + type: object + view_queries: + description: Number of queries to channels view + type: object + syncGateway_db: + type: object + properties: + channelChangesFeeds: + description: >- + Number of calls to db.changesFeed, i.e. generating a changes + feed for a single channel. + type: object + channelLogAdds: + description: Number of entries added to channel logs + type: object + channelLogAppends: + description: >- + Number of times entries were written to channel logs using an + APPEND operation + type: object + channelLogCacheHits: + description: >- + Number of requests for channel-logs that were fulfilled from the + in-memory cache + type: object + channelLogRewrites: + description: >- + Number of times entries were written to channel logs using a SET + operation (rewriting the entire log) + type: object + channelLogRewriteCollisions: + description: >- + Number of collisions while attempting to rewrite channel logs + using SET + type: object + document_gets: + description: Number of times a document was read from the database + type: object + revisionCache_adds: + description: Number of revisions added to the revision cache + type: object + revisionCache_hits: + description: Number of times a revision-cache lookup succeeded + type: object + revisionCache_misses: + description: Number of times a revision-cache lookup failed + type: object + revs_added: + description: Number of revisions added to the database (including deletions) + type: object + sequence_gets: + description: Number of times the database's lastSequence was read + type: object + sequence_reserves: + description: Number of times the database's lastSequence was incremented + type: object + syncgateway: + description: Monitoring stats + type: object + properties: + global: + description: Global Sync Gateway stats + type: object + properties: + resource_utilization: + description: Resource utilization stats + type: object + properties: + admin_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node start-up) + on the network interface to which the Sync Gateway + api.admin_interface is bound. + admin_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node start-up) on + the network interface to which the Sync Gateway + api.admin_interface is bound. + error_count: + type: integer + description: The total number of errors logged. + go_memstats_heapalloc: + type: integer + description: >- + HeapAlloc is bytes of allocated heap objects. Allocated + heap objects include all reachable objects, as well as + unreachable objects that the garbage collector has not + yet freed. Specifically, HeapAlloc increases as heap + objects are allocated and decreases as the heap is swept + and unreachable objects are freed. Sweeping occurs + incrementally between GC cycles, so these two processes + occur simultaneously, and as a result HeapAlloc tends to + change smoothly (in contrast with the sawtooth that is + typical of stop-the-world garbage collectors). + go_memstats_heapidle: + type: integer + description: >- + HeapIdle is bytes in idle (unused) spans. Idle spans + have no objects in them. These spans could be (and may + already have been) returned to the OS, or they can be + reused for heap allocations, or they can be reused as + stack memory. HeapIdle minus HeapReleased estimates the + amount of memory that could be returned to the OS, but + is being retained by the runtime so it can grow the heap + without requesting more memory from the OS. If this + difference is significantly larger than the heap size, + it indicates there was a recent transient spike in live + heap size. + go_memstats_heapinuse: + type: integer + description: >- + HeapInuse is bytes in in-use spans. In-use spans have at + least one object in them. These spans an only be used + for other objects of roughly the same size. HeapInuse + minus HeapAlloc estimates the amount of memory that has + been dedicated to particular size classes, but is not + currently being used. This is an upper bound on + fragmentation, but in general this memory can be reused + efficiently. + go_memstats_heapreleased: + type: integer + description: >- + HeapReleased is bytes of physical memory returned to the + OS. This counts heap memory from idle spans that was + returned to the OS and has not yet been reacquired for + the heap. + go_memstats_pausetotalns: + type: integer + description: >- + PauseTotalNs is the cumulative nanoseconds in GC + stop-the-world pauses since the program started. During + a stop-the-world pause, all goroutines are paused and + only the garbage collector can run. + go_memstats_stackinuse: + type: integer + description: >- + StackInuse is bytes in stack spans. In-use stack spans + have at least one stack in them. These spans can only be + used for other stacks of the same size. There is no + StackIdle because unused stack spans are returned to the + heap (and hence counted toward HeapIdle). + go_memstats_stacksys: + type: integer + description: >- + StackSys is bytes of stack memory obtained from the OS. + StackSys is StackInuse, plus any memory obtained + directly from the OS for OS thread stacks (which should + be minimal). + go_memstats_sys: + type: integer + description: >- + Sys is the total bytes of memory obtained from the OS. + Sys is the sum of the XSys fields below. Sys measures + the virtual address space reserved by the Go runtime for + the heap, stacks, and other internal data structures. + It's likely that not all of the virtual address space is + backed by physical memory at any given moment, though in + general it all was at some point. + goroutines_high_watermark: + type: integer + description: Peak number of go routines since process start. + num_goroutines: + type: integer + description: The total number of goroutines. + num_idle_kv_ops: + type: integer + description: The total number of idle kv operations. + num_idle_query_ops: + type: integer + description: The total number of idle query operations. + process_cpu_percent_utilization: + type: number + format: float + description: >- + The CPU utilization as percentage value * 10. The extra + 10 multiplier is a mistake left for backwards + compatibility. Please consider using + node_cpu_percent_utilization as of version 3.2. The CPU + usage calculation is performed based on user and system + CPU time, but it does not include components such as + iowait. The derivation means that the values of + process_cpu_percent_utilization and %Cpu, returned when + running the top command, will differ. + node_cpu_percent_utilization: + type: number + format: float + description: >- + The node CPU utilization as percentage value, since the + last time this stat was called. The CPU usage + calculation is performed based on user and system CPU + time, but it does not include components such as iowait. + process_memory_resident: + type: integer + description: >- + The memory utilization (Resident Set Size) for the + process, in bytes. + pub_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node start-up) + on the network interface to which the Sync Gateway + api.public_interface is bound. By default, that is the + number of bytes received on 127.0.0.1:4984 since node + start-up + pub_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node start-up) on + the network interface to which Sync Gateway + api.public_interface is bound. By default, that is the + number of bytes sent on 127.0.0.1:4984 since node + start-up. + system_memory_total: + type: integer + description: The total memory available on the system in bytes. + warn_count: + type: integer + description: The total number of warnings logged. + uptime: + type: integer + description: The total uptime. + per_db: + description: >- + This array contains stats for all databases declared in the + config file — see [View Statistics and + Metrics](stats-monitoring.html) for more details on the metrics + collected and reported by Sync Gateway. + + + The statistics for each database are grouped into: + + - cache related statistics + + - collections statistics + + - cbl_replication_push + + - cbl_replication_pull + + - database_related_statistics + + - delta_sync + + - gsi_views + + - security_related_statistics + + - shared_bucket_import + + - per_replication statistics for each `replication_id` + type: array + items: + type: object + properties: + cache: + type: object + database: + type: object + per_replication: + type: object + collections: + type: object + security: + type: object + per_replication: + description: >- + An array of stats for each replication declared in the config + file + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: array + items: + type: object + description: Stats for a given replication_id + properties: + $replication_id: + type: object + properties: + sgr_active: + description: >- + Whether the replication is active at this time. + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: boolean + sgr_docs_checked_sent: + description: >- + The total number of documents checked for changes + since replication started. + + This represents the number of potential change + notifications pushed by Sync Gateway. + + **Constraints** + This is not necessarily the number of documents pushed, as a given target might already have the change. + Used by versions 1 and 2. + type: integer + sgr_num_attachments_transferred: + description: >- + The total number of attachments transferred since + replication started. + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: integer + sgr_num_attachment_bytes_transferred: + description: >- + The total number of attachment bytes transferred since + replication started. + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: integer + sgr_num_docs_failed_to_push: + description: >- + The total number of documents that failed to be pushed + since replication started. + + Used by versions 1 and 2. + type: integer + sgr_num_docs_pushed: + description: >- + The total number of documents that were pushed since + replication started. + + Used by versions 1 and 2. + type: integer + deprecated: true + NodeInfo: + type: object + properties: + ADMIN: + description: '`true` if the request is from the Admin API - otherwise omitted.' + type: boolean + example: true + couchdb: + description: CouchDB welcome + type: string + example: Welcome + vendor: + allOf: + - description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + version: + description: >- + Product version, including the build number and edition (i.e. `EE` + or `CE`) + + Omitted if `api.hide_product_version=true` + type: string + example: Couchbase Sync Gateway/3.1.0(1;a765231) EE + persistent_config: + description: >- + Indication for whether sync gateway is running in persistent config + mode or legacy config mode. + + `true` if the sync gateway node is running in persistent config + mode. + type: boolean + example: true + required: + - couchdb + - vendor + Changes-feed: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing only a `rev` + field. + type: array + items: + type: object + properties: + rev: + description: The new revision that was caused by that change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + Design-doc: + description: Properties of a design document + type: object + properties: + language: + type: string + views: + type: object + additionalProperties: + x-additionalPropertiesName: viewname + description: The name of the view. + type: object + properties: + map: + type: string + reduce: + type: string + options: + type: object + properties: + local_seq: + type: string + include_design: + type: string + raw: + type: string + index_xattr_on_deleted_docs: + type: string + OIDC-callback: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + OIDC-token: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + type: object + properties: + access_token: + type: string + token_type: + type: string + refresh_token: + type: string + expires_in: + type: string + id_token: + type: string + title: OIDC-token + OIDC-login-page-handler: + description: Properties passed from the OpenID Connect mock login page to the handler + type: object + properties: + username: + type: string + tokenttl: + type: string + identity-token-formats: + type: string + authenticated: + type: string + required: + - username + - tokenttl + - identity-token-formats + - authenticated + DeprecatedLogKeyMap: + description: A map of log keys and whether they are enabled or not. + type: object + example: + HTTP: true + CRUD: false + Changes: true + additionalProperties: + description: The log key and whether it is enabled or not. + type: boolean + responses: + User-session-information: + description: Properties associated with a user session + content: + application/json: + schema: + type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to authenticate as + a user. Used for CouchDB compatibility. Always contains + "default" and "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection that the + user is in along with the sequence number the user was + granted access. This does not include inherited channels + through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + Not-found: + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + Unauthorized: + description: 'User does not have access to resource, or resource does not exist' + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + request-problem: + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + Conflict: + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + User: + description: Properties associated with a user + content: + application/json: + schema: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the + database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to for + the default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the `admin_channels` + property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account as + it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the `admin_roles` + property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: The roles that the user has been added to through roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to through + channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last used + to sign in. + type: string + readOnly: true + jwt_last_updated: + description: The last time that the user's JWT roles/channels were updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in + this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + Role: + description: Properties associated with a role + content: + application/json: + schema: + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters and + underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access to for + the default collection. + + + These channels could have been assigned by the Sync function + or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in + this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + Replicator-updated: + description: Updated existing configuration successfully + Replicator-created: + description: Created new replication successfully + pprof-binary: + description: OK + content: + application/octet-stream: + schema: + description: pprof binary data + type: string + example: pprof binary data + DB-config-updated: + description: Database configuration successfully updated + headers: + Etag: + schema: + type: string + description: The new database configuration revision. + DB-config-precondition-failed: + description: >- + Precondition Failed + + + The supplied If-Match header did not match the current version of the + configuration. + + + Returned when optimistic concurrency control is used, and there has been + an update to the configuration in between this update. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Precondition Failed + reason: Provided If-Match header does not match current config version + Invalid-content-type: + description: Invalid content type + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + changes-feed: + description: Successfully returned the changes feed + content: + application/json: + schema: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing only a + `rev` field. + type: array + items: + type: object + properties: + rev: + description: The new revision that was caused by that change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + ddoc-forbidden: + description: >- + Forbidden access possibly due to not using the Admin API or the design + document is a built-in Sync Gateway one. + invalid-doc-id: + description: >- + Document ID is not in an allowed format therefore is invalid. + + + This could be because it is over 250 characters or is prefixed with an + underscore ("_"). + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + New-revision: + description: New revision created successfully + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + all-docs: + description: Operation ran successfully + content: + application/json: + schema: + type: object + properties: + rows: + type: array + items: + type: object + properties: + key: + type: string + id: + type: string + value: + type: object + properties: + rev: + type: string + uniqueItems: true + total_rows: + type: number + update_seq: + type: number + required: + - rows + - total_rows + - update_seq + OIDC-invalid-provider: + description: >- + The provider provided is not defined in the Sync Gateway config. If no + provided was specified then there is no default provider set. + OIDC-connection: + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + OIDC-callback: + description: Successfully authenticated with OpenID Connect. + content: + application/json: + schema: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + OIDC-test-provider-disabled: + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is not + enabled. To use this endpoint, this option must be enabled. + OIDC-invalid-scope: + description: A validation error occurred with the scope. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + OIDC-testing-internal-error: + description: An error occurred. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + OIDC-token: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + content: + application/json: + schema: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + type: object + properties: + access_token: + type: string + token_type: + type: string + refresh_token: + type: string + expires_in: + type: string + id_token: + type: string + title: OIDC-token + OIDC-testing-redirect: + description: Redirecting to Sync Gateway OpenID Connect callback URL + headers: + Location: + schema: + type: string + description: The location to the Sync Gateway OpenID Connect callback URL. + Invalid-CORS-LoginOrigin: + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + requestBodies: + User: + content: + application/json: + schema: + description: Properties associated with a user + type: object + properties: + name: + description: >- + The name of the user. + + + User names can only have alphanumeric ASCII characters and + underscores. + type: string + password: + description: >- + The password of the user. + + + Mandatory. unless `allow_empty_password` is `true` in the + database configs. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the user for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access to for + the default collection. + + See `collection_access` for channels in named collections. + + + Access could have been granted through the sync function, + roles, or explicitly on the user under the `admin_channels` + property. + type: array + items: + type: string + readOnly: true + email: + description: The email address of the user. + type: string + disabled: + description: >- + If true, the user will not be able to login to the account as + it is disabled. + type: boolean + default: false + admin_roles: + description: A list of roles to explicitly grant to the user. + type: array + items: + type: string + roles: + description: >- + All the roles that the user has been granted access to. + + + Access could have been granted through the sync function, + roles_claim, or explicitly on the user under the `admin_roles` + property. + type: array + items: + type: string + readOnly: true + jwt_roles: + description: The roles that the user has been added to through roles_claim. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to through + channels_claim for the default collection. + type: array + items: + type: string + readOnly: true + jwt_issuer: + description: >- + The issuer of the last JSON Web Token that the user last used + to sign in. + type: string + readOnly: true + jwt_last_updated: + description: The last time that the user's JWT roles/channels were updated. + type: string + format: date-time + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in + this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: User + description: Properties associated with a user + Role: + content: + application/json: + schema: + description: Properties associated with a role + type: object + properties: + name: + description: >- + The name of the role. + + + Role names can only have alphanumeric ASCII characters and + underscores. + type: string + admin_channels: + description: >- + A list of channels to explicitly grant to the role for the + default collection. + + See `collection_access` for channels in named collections. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the role has been granted access to for + the default collection. + + + These channels could have been assigned by the Sync function + or using the `admin_channels` property. + type: array + items: + type: string + readOnly: true + collection_access: + description: >- + A set of access grants by scope and collection for a specific + collection. + type: object + additionalProperties: + maxProperties: 1 + description: 'An object keyed by scope, containing a set of collections.' + type: object + x-additionalPropertiesName: scopename + additionalProperties: + description: >- + An object keyed by collection name, defines access + collections in this scope. + type: object + x-additionalPropertiesName: collectionname + properties: + admin_channels: + description: >- + A list of channels to explicitly grant to the user in + this collection. + type: array + items: + type: string + all_channels: + description: >- + All the channels that the user has been granted access + to in this collection. + + + Access could have been granted through the sync + function, roles, or explicitly on the user under the + `admin_channels` property. + type: array + items: + type: string + readOnly: true + jwt_channels: + description: >- + The channels that the user has been granted access to + through channels_claim for this collection. + type: array + items: + type: string + readOnly: true + jwt_last_updated: + description: >- + The last time that the user's JWT channels were + updated for this collection. + type: string + format: date-time + readOnly: true + title: Role + description: Properties associated with a role + Replication-upsert: + content: + application/json: + schema: + description: Properties of a replication + type: object + properties: + replication_id: + description: >- + This is the ID of the replication. + + + When creating a new replication using a POST request, this + will be set to a random UUID if not explicitly set. + + + When the replication ID is specified in the URL, this must be + set to the same replication ID if specifying it at all. + type: string + maximum: 160 + remote: + description: >- + This is the endpoint of the database for the remote Sync + Gateway that is the subject of this replication's `push`, + `pull`, or `pushAndPull` action. + + + Typically this would include the URI, port, and database name. + For example, `https://localhost:4985/db`. + type: string + remote_username: + description: The username to use to authenticate with the remote. + type: string + remote_password: + description: >- + The password to use to authenticate with the remote. This + password will be redacted in the replication config. + type: string + direction: + description: >- + This specifies which direction the replication will be + replicating with the `remote` replicator. + type: string + enum: + - push + - pull + - pushAndPull + x-enumDescriptions: + pull: changes are pulled from the remote database + push: changes are pushed to the remote database + pushAndPull: changes are both push-to and pulled-from the remote database + conflict_resolution_type: + description: >- + This defines what conflict resolution policy Sync Gateway + should use to apply when resolving conflicting revisions. + + + Changing this is an Enterprise Edition only feature. + type: string + default: default + enum: + - default + - remoteWins + - localWins + - custom + x-enumDescriptions: + default: |- + In priority order, this will cause + - Deletes to always win (the delete with the longest revision history wins if both revisions are deletes) + - The revision with the longest revision history to win. This means the the revision with the most changes and therefore the highest revision ID will win. + localWins: >- + This will result in local revisions always being the winner + in any conflict. + remoteWins: >- + This will result in remote revisions always being the winner + in any conflict. + custom: >- + This will result in conflicts going through your own custom + conflict resolver. You must provide this logic as a + Javascript function in the `custom_conflict_resolver` + parameter. + custom_conflict_resolver: + description: >- + This specifies the Javascript function to use to resolve + conflicts between conflicting revisions. + + + This **must** be used when `conflict_resolution_type=custom`. + This property will be ignored when `conflict_resolution_type` + is not `custom`. + + + The Javascript function to provide this property should be in + backticks (like the sync function). The function takes 1 + parameter which is a struct that represents the conflict. This + struct has 2 properties: + * `LocalDocument` - The local document. This contains the document ID under the `_id` key. + * `RemoteDocument` - The remote document + The function should return the new document's body. This can + be the winning revision (for example, `return + conflict.LocalDocument`), a new body, or `nil` to resolve as a + delete. + + + Example: + + + ```javascript + + function(conflict) { + console.log("Doc ID: "+conflict.LocalDocument._id); + console.log("Full remote doc: "+JSON.stringify(conflict.RemoteDocument)); + return conflict.RemoteDocument; + } + + ``` + + + Using complex `custom_conflict_resolver` functions can + noticeably degrade performance. Use a built-in resolver + whenever possible. + + + This is an Enterprise Edition only feature. + type: string + default: '' + purge_on_removal: + description: >- + Specifies whether to purge a document if the remote user loses + access to all of the channels on the document when attempting + to pull it from the remote. + + + If false, documents will not be replicated and not be purged + when the user loses access. + type: boolean + default: false + enable_delta_sync: + description: >- + This will turn on delta-sync for the replication. In order to + enable delta-sync for a replication, the database level + setting `delta_sync.enabled` must also be set to true. + + + Using delta-sync is an Enterprise Edition only feature. + type: boolean + default: false + max_backoff_time: + description: >- + Specifies the maximum time-period (in minutes) that Sync + Gateway will attempt to reconnect to a lost or unreachable + remote. + + + When a disconnection happens, Sync Gateway will do an + exponential backoff up to this specified value. When this + value is met, it will attempt to reconnect indefinitely every + `max_backoff_time` minutes. + + + If this is set to 0, Sync Gateway will do the normal + exponential backoff after the disconnect happens but then + attempting 10 minutes and stop the replication. + + + Note: this defaults to 5 minutes for replications created + prior to Sync Gateway 2.8. + type: integer + default: 5 + initial_state: + description: >- + This is what state to start the replication in when creating a + new replication. + + + This allows you to control if the replication starts in a + `stopped` start or `running` state. + + + Replications prior to Sync Gateway 2.8 will run in the default + state `running`. + type: string + default: running + enum: + - running + - stopped + x-enumDescriptions: + running: The replication will immediately start running. + stopped: >- + The replication configuration will be created but the + replication will not start running until the user explicitly + starts it. + continuous: + description: >- + If true, changes will be immediately synced when they happen. + This is known as a continuous replication. + + + If false, all changes will be synced until they have been + processed. The replication will then cease and not process any + future changes (unless started again by the user). This is + known as a one-shot replication. + type: boolean + default: false + filter: + description: This defines whether to filter documents. + type: string + enum: + - sync_gateway/bychannel + - '' + x-enumDescriptions: + '': Do not filter any documents. + sync_gateway/bychannel: >- + If set, a pull replication will be limited to a specific set + of channels specified by the `query_param.channels` + property. + query_params: + description: >- + This is a set of key/value pairs used in the query string of + the replication. + + + If `filters=sync_gateway/bychannel` then this can be used to + set the channels to filter by in a pull replication. To do + this, set the `channels` key to a string array of the channels + to filter by. For example: + + ```json + + "filter":"sync_gateway/bychannel", + + "query_params": { + "channels":["chanUser1"] + }, + + ``` + type: array + items: + type: string + adhoc: + description: >- + Set to true to run the replication as an adhoc replication + instead of a persistent one. + + + This means that the replication will only last the period of + the replication until the status is changed to `stopped` and + then it will be removed automatically. It will also be removed + if Sync Gateway restarts or if removed due to user action. + type: boolean + default: false + batch_size: + description: >- + The amount of changes to be sent in one batch of replications. + Changing this is an Enterprise Edition only feature. + type: integer + default: 200 + run_as: + description: >- + This is used if you want to specify a user to run the + replication as. This means that the replication will only be + able to replicate what the user access to what the user has + access to. + type: string + collections_enabled: + description: >- + If true, the replicator will run with collections, and will + replicate all collections, unless otherwise limited by + `collections_local`. + + + If false, the replicator will only replicate the default + collection. + type: boolean + default: false + collections_local: + description: >- + Limits the set of collections replicated to those listed in + this array. + + + The replication will use all collections defined on the + database if this list is empty. + type: array + items: + type: string + example: + - scope1.collection1 + - scope1.collection3 + - scope1.collection6 + default: [] + collections_remote: + description: >- + Remaps the local collection name to the one specified in this + array when replicating with the remote. + + + If only a subset of collections need remapping, elements in + this array can be specified as `null` to preserve the local + collection name. + + + The same index is used for both `collections_remote` and + `collections_local`, and both arrays must be the same length. + type: array + items: + type: string + nullable: true + example: + - scope1.collectionA + - null + - scope1.collectionF + default: [] + username: + description: |- + **This has been deprecated in favour of `remote_username`.** + + This is the username to use to authenticate with the remote. + type: string + deprecated: true + password: + description: >- + **This has been deprecated in favour of `remote_password`.** + + + This is the password to use to authenticate with the remote. + This password will be redacted in the replication config. + type: string + deprecated: true + required: + - direction + title: User configurable replication properties + description: >- + If the `replication_id` matches an existing replication then the + existing configuration will be updated. Only the specified fields in the + request will be used to update the existing configuration. Unspecified + fields will remain untouched. + Profile: + content: + application/json: + schema: + type: object + properties: + file: + description: This is the file to output the pprof profile at. + type: string + OIDC-login-page-handler: + content: + application/json: + schema: + description: >- + Properties passed from the OpenID Connect mock login page to the + handler + type: object + properties: + username: + type: string + tokenttl: + type: string + identity-token-formats: + type: string + authenticated: + type: string + required: + - username + - tokenttl + - identity-token-formats + - authenticated + description: Properties passed from the OpenID Connect mock login page to the handler + diff --git a/modules/rest-api/attachments/metric.overlaid.yaml b/modules/rest-api/attachments/metric.overlaid.yaml new file mode 100644 index 000000000..cdb0ef847 --- /dev/null +++ b/modules/rest-api/attachments/metric.overlaid.yaml @@ -0,0 +1,898 @@ +openapi: 3.0.3 +info: + title: Sync Gateway Metrics REST API + description: >- + # Introduction + + + Sync Gateway manages access and synchronization between Couchbase Lite and + Couchbase Server. + + The Sync Gateway Metrics REST API returns Sync Gateway metrics, in JSON or + Prometheus-compatible formats, for performance monitoring and diagnostic + purposes. + version: '3.3' + license: + name: Business Source License 1.1 (BSL) + url: 'https://github.com/couchbase/sync_gateway/blob/master/LICENSE' +servers: + - url: '{protocol}://{hostname}:4986' + description: Metrics API + variables: + protocol: + description: The protocol to use (HTTP or HTTPS) + default: http + enum: + - http + - https + hostname: + description: The hostname to use + default: localhost +tags: + - name: Prometheus + description: Endpoints for use with Prometheus + - name: JSON + description: Endpoints for use with JSON metrics + - name: Server + description: Endpoints for managing the REST API +externalDocs: + description: ⬆️ Metrics REST API Overview + url: rest-api-metrics.html +paths: + /_ping: + get: + summary: Check if API is available + operationId: get__ping + tags: + - Server + description: Returns OK status if API is available. + responses: + '200': + description: Returned status + content: + text/plain: + schema: + type: string + example: OK + /metrics: + get: + summary: >- + Get debugging and monitoring runtime stats in Prometheus Exposition + format + operationId: get_metrics + tags: + - Prometheus + description: >- + Returns Sync Gateway statistics and other runtime variables in + Prometheus Exposition format. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Dev Ops + + * External Stats Reader + responses: + '200': + description: >- + Successfully returned statistics. + + For details, see [Prometheus + Metrics](stats-monitoring-prometheus.html). + content: + application/json: + schema: + $ref: metrics_metadata.json + /_expvar: + tags: + - JSON + get: + summary: Get all Sync Gateway statistics in JSON format + operationId: get__expvar + tags: + - JSON + description: >- + This returns a snapshot of all metrics in Sync Gateway for debugging and + monitoring purposes. + + + This includes per database stats, replication stats, and server stats. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Architect + + * Sync Gateway Dev Ops + + * External Stats Reader + responses: + '200': + description: |- + Successfully returned statistics. + For details, see [JSON Metrics](stats-monitoring-json.html). + content: + application/json: + schema: + type: object + properties: + cmdline: + description: >- + Built-in variables from the Go runtime, lists the + command-line arguments + type: object + memstats: + description: >- + Dumps a large amount of information about the memory heap + and garbage collector + type: object + cb: + description: >- + Variables reported by the Couchbase SDK (go_couchbase + package) + type: object + mc: + description: >- + Variables reported by the low-level memcached API + (gomemcached package) + type: object + syncGateway_changeCache: + type: object + properties: + maxPending: + description: >- + Max number of sequences waiting on a missing earlier + sequence number + type: object + lag-tap-0000ms: + description: >- + Histogram of delay from doc save till it shows up in + Tap feed + type: object + lag-queue-0000ms: + description: >- + Histogram of delay from Tap feed till doc is posted to + changes feed + type: object + lag-total-0000ms: + description: >- + Histogram of total delay from doc save till posted to + changes feed + type: object + outOfOrder: + description: Number of out-of-order sequences posted + type: object + view_queries: + description: Number of queries to channels view + type: object + syncGateway_db: + type: object + properties: + channelChangesFeeds: + description: >- + Number of calls to db.changesFeed, i.e. generating a + changes feed for a single channel. + type: object + channelLogAdds: + description: Number of entries added to channel logs + type: object + channelLogAppends: + description: >- + Number of times entries were written to channel logs + using an APPEND operation + type: object + channelLogCacheHits: + description: >- + Number of requests for channel-logs that were + fulfilled from the in-memory cache + type: object + channelLogRewrites: + description: >- + Number of times entries were written to channel logs + using a SET operation (rewriting the entire log) + type: object + channelLogRewriteCollisions: + description: >- + Number of collisions while attempting to rewrite + channel logs using SET + type: object + document_gets: + description: Number of times a document was read from the database + type: object + revisionCache_adds: + description: Number of revisions added to the revision cache + type: object + revisionCache_hits: + description: Number of times a revision-cache lookup succeeded + type: object + revisionCache_misses: + description: Number of times a revision-cache lookup failed + type: object + revs_added: + description: >- + Number of revisions added to the database (including + deletions) + type: object + sequence_gets: + description: Number of times the database's lastSequence was read + type: object + sequence_reserves: + description: >- + Number of times the database's lastSequence was + incremented + type: object + syncgateway: + description: Monitoring stats + type: object + properties: + global: + description: Global Sync Gateway stats + type: object + properties: + resource_utilization: + description: Resource utilization stats + type: object + properties: + admin_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node + start-up) on the network interface to which + the Sync Gateway api.admin_interface is bound. + admin_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node + start-up) on the network interface to which + the Sync Gateway api.admin_interface is bound. + error_count: + type: integer + description: The total number of errors logged. + go_memstats_heapalloc: + type: integer + description: >- + HeapAlloc is bytes of allocated heap objects. + Allocated heap objects include all reachable + objects, as well as unreachable objects that + the garbage collector has not yet freed. + Specifically, HeapAlloc increases as heap + objects are allocated and decreases as the + heap is swept and unreachable objects are + freed. Sweeping occurs incrementally between + GC cycles, so these two processes occur + simultaneously, and as a result HeapAlloc + tends to change smoothly (in contrast with the + sawtooth that is typical of stop-the-world + garbage collectors). + go_memstats_heapidle: + type: integer + description: >- + HeapIdle is bytes in idle (unused) spans. Idle + spans have no objects in them. These spans + could be (and may already have been) returned + to the OS, or they can be reused for heap + allocations, or they can be reused as stack + memory. HeapIdle minus HeapReleased estimates + the amount of memory that could be returned to + the OS, but is being retained by the runtime + so it can grow the heap without requesting + more memory from the OS. If this difference is + significantly larger than the heap size, it + indicates there was a recent transient spike + in live heap size. + go_memstats_heapinuse: + type: integer + description: >- + HeapInuse is bytes in in-use spans. In-use + spans have at least one object in them. These + spans an only be used for other objects of + roughly the same size. HeapInuse minus + HeapAlloc estimates the amount of memory that + has been dedicated to particular size classes, + but is not currently being used. This is an + upper bound on fragmentation, but in general + this memory can be reused efficiently. + go_memstats_heapreleased: + type: integer + description: >- + HeapReleased is bytes of physical memory + returned to the OS. This counts heap memory + from idle spans that was returned to the OS + and has not yet been reacquired for the heap. + go_memstats_pausetotalns: + type: integer + description: >- + PauseTotalNs is the cumulative nanoseconds in + GC stop-the-world pauses since the program + started. During a stop-the-world pause, all + goroutines are paused and only the garbage + collector can run. + go_memstats_stackinuse: + type: integer + description: >- + StackInuse is bytes in stack spans. In-use + stack spans have at least one stack in them. + These spans can only be used for other stacks + of the same size. There is no StackIdle + because unused stack spans are returned to the + heap (and hence counted toward HeapIdle). + go_memstats_stacksys: + type: integer + description: >- + StackSys is bytes of stack memory obtained + from the OS. StackSys is StackInuse, plus any + memory obtained directly from the OS for OS + thread stacks (which should be minimal). + go_memstats_sys: + type: integer + description: >- + Sys is the total bytes of memory obtained from + the OS. Sys is the sum of the XSys fields + below. Sys measures the virtual address space + reserved by the Go runtime for the heap, + stacks, and other internal data structures. + It's likely that not all of the virtual + address space is backed by physical memory at + any given moment, though in general it all was + at some point. + goroutines_high_watermark: + type: integer + description: >- + Peak number of go routines since process + start. + num_goroutines: + type: integer + description: The total number of goroutines. + num_idle_kv_ops: + type: integer + description: The total number of idle kv operations. + num_idle_query_ops: + type: integer + description: The total number of idle query operations. + process_cpu_percent_utilization: + type: number + format: float + description: >- + The CPU utilization as percentage value * 10. + The extra 10 multiplier is a mistake left for + backwards compatibility. Please consider using + node_cpu_percent_utilization as of version + 3.2. The CPU usage calculation is performed + based on user and system CPU time, but it does + not include components such as iowait. The + derivation means that the values of + process_cpu_percent_utilization and %Cpu, + returned when running the top command, will + differ. + node_cpu_percent_utilization: + type: number + format: float + description: >- + The node CPU utilization as percentage value, + since the last time this stat was called. The + CPU usage calculation is performed based on + user and system CPU time, but it does not + include components such as iowait. + process_memory_resident: + type: integer + description: >- + The memory utilization (Resident Set Size) for + the process, in bytes. + pub_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node + start-up) on the network interface to which + the Sync Gateway api.public_interface is + bound. By default, that is the number of bytes + received on 127.0.0.1:4984 since node start-up + pub_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node + start-up) on the network interface to which + Sync Gateway api.public_interface is bound. By + default, that is the number of bytes sent on + 127.0.0.1:4984 since node start-up. + system_memory_total: + type: integer + description: >- + The total memory available on the system in + bytes. + warn_count: + type: integer + description: The total number of warnings logged. + uptime: + type: integer + description: The total uptime. + per_db: + description: >- + This array contains stats for all databases declared + in the config file — see [View Statistics and + Metrics](stats-monitoring.html) for more details on + the metrics collected and reported by Sync Gateway. + + + The statistics for each database are grouped into: + + - cache related statistics + + - collections statistics + + - cbl_replication_push + + - cbl_replication_pull + + - database_related_statistics + + - delta_sync + + - gsi_views + + - security_related_statistics + + - shared_bucket_import + + - per_replication statistics for each `replication_id` + type: array + items: + type: object + properties: + cache: + type: object + database: + type: object + per_replication: + type: object + collections: + type: object + security: + type: object + per_replication: + description: >- + An array of stats for each replication declared in the + config file + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: array + items: + type: object + description: Stats for a given replication_id + properties: + $replication_id: + type: object + properties: + sgr_active: + description: >- + Whether the replication is active at this + time. + + **Deprecated @ 2.8**: used only by + inter-sync-gateway replications version 1. + type: boolean + sgr_docs_checked_sent: + description: >- + The total number of documents checked for + changes since replication started. + + This represents the number of potential + change notifications pushed by Sync Gateway. + + **Constraints** + This is not necessarily the number of documents pushed, as a given target might already have the change. + Used by versions 1 and 2. + type: integer + sgr_num_attachments_transferred: + description: >- + The total number of attachments transferred + since replication started. + + **Deprecated @ 2.8**: used only by + inter-sync-gateway replications version 1. + type: integer + sgr_num_attachment_bytes_transferred: + description: >- + The total number of attachment bytes + transferred since replication started. + + **Deprecated @ 2.8**: used only by + inter-sync-gateway replications version 1. + type: integer + sgr_num_docs_failed_to_push: + description: >- + The total number of documents that failed to + be pushed since replication started. + + Used by versions 1 and 2. + type: integer + sgr_num_docs_pushed: + description: >- + The total number of documents that were + pushed since replication started. + + Used by versions 1 and 2. + type: integer + deprecated: true +components: + schemas: + ExpVars: + type: object + properties: + cmdline: + description: >- + Built-in variables from the Go runtime, lists the command-line + arguments + type: object + memstats: + description: >- + Dumps a large amount of information about the memory heap and + garbage collector + type: object + cb: + description: Variables reported by the Couchbase SDK (go_couchbase package) + type: object + mc: + description: >- + Variables reported by the low-level memcached API (gomemcached + package) + type: object + syncGateway_changeCache: + type: object + properties: + maxPending: + description: >- + Max number of sequences waiting on a missing earlier sequence + number + type: object + lag-tap-0000ms: + description: Histogram of delay from doc save till it shows up in Tap feed + type: object + lag-queue-0000ms: + description: >- + Histogram of delay from Tap feed till doc is posted to changes + feed + type: object + lag-total-0000ms: + description: >- + Histogram of total delay from doc save till posted to changes + feed + type: object + outOfOrder: + description: Number of out-of-order sequences posted + type: object + view_queries: + description: Number of queries to channels view + type: object + syncGateway_db: + type: object + properties: + channelChangesFeeds: + description: >- + Number of calls to db.changesFeed, i.e. generating a changes + feed for a single channel. + type: object + channelLogAdds: + description: Number of entries added to channel logs + type: object + channelLogAppends: + description: >- + Number of times entries were written to channel logs using an + APPEND operation + type: object + channelLogCacheHits: + description: >- + Number of requests for channel-logs that were fulfilled from the + in-memory cache + type: object + channelLogRewrites: + description: >- + Number of times entries were written to channel logs using a SET + operation (rewriting the entire log) + type: object + channelLogRewriteCollisions: + description: >- + Number of collisions while attempting to rewrite channel logs + using SET + type: object + document_gets: + description: Number of times a document was read from the database + type: object + revisionCache_adds: + description: Number of revisions added to the revision cache + type: object + revisionCache_hits: + description: Number of times a revision-cache lookup succeeded + type: object + revisionCache_misses: + description: Number of times a revision-cache lookup failed + type: object + revs_added: + description: Number of revisions added to the database (including deletions) + type: object + sequence_gets: + description: Number of times the database's lastSequence was read + type: object + sequence_reserves: + description: Number of times the database's lastSequence was incremented + type: object + syncgateway: + description: Monitoring stats + type: object + properties: + global: + description: Global Sync Gateway stats + type: object + properties: + resource_utilization: + description: Resource utilization stats + type: object + properties: + admin_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node start-up) + on the network interface to which the Sync Gateway + api.admin_interface is bound. + admin_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node start-up) on + the network interface to which the Sync Gateway + api.admin_interface is bound. + error_count: + type: integer + description: The total number of errors logged. + go_memstats_heapalloc: + type: integer + description: >- + HeapAlloc is bytes of allocated heap objects. Allocated + heap objects include all reachable objects, as well as + unreachable objects that the garbage collector has not + yet freed. Specifically, HeapAlloc increases as heap + objects are allocated and decreases as the heap is swept + and unreachable objects are freed. Sweeping occurs + incrementally between GC cycles, so these two processes + occur simultaneously, and as a result HeapAlloc tends to + change smoothly (in contrast with the sawtooth that is + typical of stop-the-world garbage collectors). + go_memstats_heapidle: + type: integer + description: >- + HeapIdle is bytes in idle (unused) spans. Idle spans + have no objects in them. These spans could be (and may + already have been) returned to the OS, or they can be + reused for heap allocations, or they can be reused as + stack memory. HeapIdle minus HeapReleased estimates the + amount of memory that could be returned to the OS, but + is being retained by the runtime so it can grow the heap + without requesting more memory from the OS. If this + difference is significantly larger than the heap size, + it indicates there was a recent transient spike in live + heap size. + go_memstats_heapinuse: + type: integer + description: >- + HeapInuse is bytes in in-use spans. In-use spans have at + least one object in them. These spans an only be used + for other objects of roughly the same size. HeapInuse + minus HeapAlloc estimates the amount of memory that has + been dedicated to particular size classes, but is not + currently being used. This is an upper bound on + fragmentation, but in general this memory can be reused + efficiently. + go_memstats_heapreleased: + type: integer + description: >- + HeapReleased is bytes of physical memory returned to the + OS. This counts heap memory from idle spans that was + returned to the OS and has not yet been reacquired for + the heap. + go_memstats_pausetotalns: + type: integer + description: >- + PauseTotalNs is the cumulative nanoseconds in GC + stop-the-world pauses since the program started. During + a stop-the-world pause, all goroutines are paused and + only the garbage collector can run. + go_memstats_stackinuse: + type: integer + description: >- + StackInuse is bytes in stack spans. In-use stack spans + have at least one stack in them. These spans can only be + used for other stacks of the same size. There is no + StackIdle because unused stack spans are returned to the + heap (and hence counted toward HeapIdle). + go_memstats_stacksys: + type: integer + description: >- + StackSys is bytes of stack memory obtained from the OS. + StackSys is StackInuse, plus any memory obtained + directly from the OS for OS thread stacks (which should + be minimal). + go_memstats_sys: + type: integer + description: >- + Sys is the total bytes of memory obtained from the OS. + Sys is the sum of the XSys fields below. Sys measures + the virtual address space reserved by the Go runtime for + the heap, stacks, and other internal data structures. + It's likely that not all of the virtual address space is + backed by physical memory at any given moment, though in + general it all was at some point. + goroutines_high_watermark: + type: integer + description: Peak number of go routines since process start. + num_goroutines: + type: integer + description: The total number of goroutines. + num_idle_kv_ops: + type: integer + description: The total number of idle kv operations. + num_idle_query_ops: + type: integer + description: The total number of idle query operations. + process_cpu_percent_utilization: + type: number + format: float + description: >- + The CPU utilization as percentage value * 10. The extra + 10 multiplier is a mistake left for backwards + compatibility. Please consider using + node_cpu_percent_utilization as of version 3.2. The CPU + usage calculation is performed based on user and system + CPU time, but it does not include components such as + iowait. The derivation means that the values of + process_cpu_percent_utilization and %Cpu, returned when + running the top command, will differ. + node_cpu_percent_utilization: + type: number + format: float + description: >- + The node CPU utilization as percentage value, since the + last time this stat was called. The CPU usage + calculation is performed based on user and system CPU + time, but it does not include components such as iowait. + process_memory_resident: + type: integer + description: >- + The memory utilization (Resident Set Size) for the + process, in bytes. + pub_net_bytes_recv: + type: integer + description: >- + The total number of bytes received (since node start-up) + on the network interface to which the Sync Gateway + api.public_interface is bound. By default, that is the + number of bytes received on 127.0.0.1:4984 since node + start-up + pub_net_bytes_sent: + type: integer + description: >- + The total number of bytes sent (since node start-up) on + the network interface to which Sync Gateway + api.public_interface is bound. By default, that is the + number of bytes sent on 127.0.0.1:4984 since node + start-up. + system_memory_total: + type: integer + description: The total memory available on the system in bytes. + warn_count: + type: integer + description: The total number of warnings logged. + uptime: + type: integer + description: The total uptime. + per_db: + description: >- + This array contains stats for all databases declared in the + config file — see [View Statistics and + Metrics](stats-monitoring.html) for more details on the metrics + collected and reported by Sync Gateway. + + + The statistics for each database are grouped into: + + - cache related statistics + + - collections statistics + + - cbl_replication_push + + - cbl_replication_pull + + - database_related_statistics + + - delta_sync + + - gsi_views + + - security_related_statistics + + - shared_bucket_import + + - per_replication statistics for each `replication_id` + type: array + items: + type: object + properties: + cache: + type: object + database: + type: object + per_replication: + type: object + collections: + type: object + security: + type: object + per_replication: + description: >- + An array of stats for each replication declared in the config + file + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: array + items: + type: object + description: Stats for a given replication_id + properties: + $replication_id: + type: object + properties: + sgr_active: + description: >- + Whether the replication is active at this time. + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: boolean + sgr_docs_checked_sent: + description: >- + The total number of documents checked for changes + since replication started. + + This represents the number of potential change + notifications pushed by Sync Gateway. + + **Constraints** + This is not necessarily the number of documents pushed, as a given target might already have the change. + Used by versions 1 and 2. + type: integer + sgr_num_attachments_transferred: + description: >- + The total number of attachments transferred since + replication started. + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: integer + sgr_num_attachment_bytes_transferred: + description: >- + The total number of attachment bytes transferred since + replication started. + + **Deprecated @ 2.8**: used only by inter-sync-gateway + replications version 1. + type: integer + sgr_num_docs_failed_to_push: + description: >- + The total number of documents that failed to be pushed + since replication started. + + Used by versions 1 and 2. + type: integer + sgr_num_docs_pushed: + description: >- + The total number of documents that were pushed since + replication started. + + Used by versions 1 and 2. + type: integer + deprecated: true + diff --git a/modules/rest-api/attachments/public.overlaid.yaml b/modules/rest-api/attachments/public.overlaid.yaml new file mode 100644 index 000000000..edb40555b --- /dev/null +++ b/modules/rest-api/attachments/public.overlaid.yaml @@ -0,0 +1,6163 @@ +openapi: 3.0.3 +info: + title: Sync Gateway Public REST API + description: >- + # Introduction + + + Sync Gateway manages access and synchronization between Couchbase Lite and + Couchbase Server. + + The Sync Gateway Public REST API is used for client replication. + version: '3.3' + license: + name: Business Source License 1.1 (BSL) + url: 'https://github.com/couchbase/sync_gateway/blob/master/LICENSE' +servers: + - url: '{protocol}://{hostname}:4984' + description: Public API + variables: + protocol: + description: The protocol to use (HTTP or HTTPS) + default: http + enum: + - http + - https + hostname: + description: The hostname to use + default: localhost +tags: + - name: Server + description: Manage server activities + - name: Database Management + description: Create and manage Sync Gateway databases + - name: Session + description: Manage user sessions + - name: Authentication + description: Manage OpenID Connect Authentication + - name: Document + description: Create and manage documents + - name: Document Attachment + description: Create and manage document attachments + - name: Replication + description: Create and manage inter-Sync Gateway replications + x-capella: false + - name: Unsupported + description: Endpoints that are not supported by Sync Gateway + x-capella: false +externalDocs: + description: ⬆️ Public REST API Overview + url: rest-api.html +paths: + '/{db}/_session': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get information about the current user + operationId: get_db-_session + tags: + - Session + description: This will get the information about the current user. + responses: + '200': + description: Properties associated with a user session + content: + application/json: + schema: + type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to authenticate + as a user. Used for CouchDB compatibility. Always contains + "default" and "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection that + the user is in along with the sequence number the user + was granted access. This does not include inherited + channels through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + '401': + description: 'User does not have access to resource, or resource does not exist' + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + post: + summary: Create a new user session + operationId: post_db-_session + tags: + - Session + description: >- + Generates a login session for the user based on the credentials provided + in the request body or if that fails (due to invalid credentials or none + provided at all), generates the new session for the currently + authenticated user instead. On a successful session creation, a session + cookie is stored to keep the user authenticated for future API calls. + + + If `Origin` header is passed to this endpoint, the `Origin` header must + match both the `cors.login_origin` and `cors.origin` configuration + options. + parameters: + - name: one_time + description: >- + Sets the session to only be valid for a single authentication. This + session will expire in 5 minutes if not used. + in: query + schema: + type: boolean + requestBody: + description: >- + When name and password are included in the request body, the session + will be created for the specified user. Otherwise the session will be + created for the authenticated user making the request. + required: false + content: + application/json: + schema: + type: object + title: User Credentials + properties: + name: + description: >- + User name to generate the session for. Omit this value to + generate a session for the authenticated user. + type: string + password: + description: >- + Password of the user to generate the session for. Omit this + value to generate a session for the authenticated user. + type: string + responses: + '200': + description: >- + Session created successfully. Returned body is dependant on if using + Public or Admin APIs + content: + application/json: + schema: + allOf: + - type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to + authenticate as a user. Used for CouchDB + compatibility. Always contains "default" and "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection + that the user is in along with the sequence number + the user was granted access. This does not include + inherited channels through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + - type: object + properties: + one_time_session_id: + description: >- + The id of a single use session if `one_time=true` + query parameter was used. + type: string + example: c5af80a039db4ed9d2b6865576b6999935282689 + '400': + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + '401': + description: 'User does not have access to resource, or resource does not exist' + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + delete: + summary: Log out + operationId: delete_db-_session + tags: + - Session + description: >- + Invalidates the session for the currently authenticated user and removes + their session cookie. + + + If `Origin` header is passed to this endpoint, the `Origin` header must + match both the `cors.login_origin` and `cors.origin` configuration + options. + responses: + '200': + description: Successfully removed session (logged out) + '400': + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + '401': + description: 'User does not have access to resource, or resource does not exist' + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Return if session not found. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no session + '/{db}/': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Get database information + operationId: get_db- + tags: + - Database Management + description: Retrieve information about the database. + responses: + '200': + description: Successfully returned database information + content: + application/json: + schema: + type: object + properties: + db_name: + description: Database name + type: string + example: db + update_seq: + description: >- + The last sequence number that was committed to the + database. + + + Will return 0 if the database is offline. + type: integer + example: 123456 + committed_update_seq: + description: >- + The last sequence number that was committed to the + database. + + + Will return 0 if the database is offline. + type: integer + example: 123456 + instance_start_time: + description: >- + Timestamp of when the database opened, in microseconds + since the Unix epoch. + type: integer + example: 1644600082279583 + compact_running: + description: >- + Indicates whether database compaction is currently taking + place or not. + type: boolean + purge_seq: + description: Unused field. + type: number + default: 0 + disk_format_version: + description: Unused field. + type: number + default: 0 + state: + allOf: + - description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other offline + only endpoints are allowed. + Starting: The database is in the process of going online. + Stopping: >- + The database is no longer accepting connections and + is being taken offline or deleted. + Resyncing: >- + The database is offline and performing a resync + operation. + server_uuid: + description: Unique server identifier. + type: string + example: 995618a6a6cc9ac79731bd13240e19b5 + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if database exists + operationId: head_db- + tags: + - Database Management + description: Check if a database exists by using the response status code. + responses: + '200': + description: Database exists + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + /: + get: + summary: Get server information + operationId: get_- + tags: + - Server + description: Returns information about the Sync Gateway node. + responses: + '200': + description: Returned server information + content: + application/json: + schema: + type: object + properties: + ADMIN: + description: >- + `true` if the request is from the Admin API - otherwise + omitted. + type: boolean + example: true + couchdb: + description: CouchDB welcome + type: string + example: Welcome + vendor: + allOf: + - description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + version: + description: >- + Product version, including the build number and edition + (i.e. `EE` or `CE`) + + Omitted if `api.hide_product_version=true` + type: string + example: Couchbase Sync Gateway/3.1.0(1;a765231) EE + persistent_config: + description: >- + Indication for whether sync gateway is running in + persistent config mode or legacy config mode. + + `true` if the sync gateway node is running in persistent + config mode. + type: boolean + example: true + required: + - couchdb + - vendor + head: + summary: Check if server online + operationId: head_- + tags: + - Server + description: Check if the server is online by checking the status code of response. + responses: + '200': + description: Server is online + /_ping: + get: + summary: Check if API is available + operationId: get__ping + tags: + - Server + description: Returns OK status if API is available. + responses: + '200': + description: Returned status + content: + text/plain: + schema: + type: string + example: OK + '/{keyspace}/': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Create a new document + operationId: post_keyspace- + tags: + - Document + description: |- + Create a new document in the keyspace. + + This will generate a random document ID unless specified in the body. + + A document can have a maximum size of 20MB. + parameters: + - name: roundtrip + in: query + required: false + schema: + type: boolean + description: Block until document has been received by change cache + requestBody: + content: + application/json: + schema: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. The + expiration time is set and managed on the Couchbase Server + document. The value can be specified in two ways; in + ISO-8601 format, for example the 6th of July 2022 at 17:00 + in the BST timezone would be `2016-07-06T17:00:00+01:00`; it + can also be specified as a numeric Couchbase Server expiry + value. Couchbase Server expiry values are specified as Unix + time, and if the desired TTL is below 30 days then it can + also represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 + seconds after it is written to Couchbase Server). The + document expiration time is returned in the response of `GET + /{db}/{doc} ` when `show_exp=true` is included in the query. + + + As with the existing explicit purge mechanism, this applies + only to the local database; it has nothing to do with + replication. This expiration time is not propagated when the + document is replicated. The purge of the document does not + cause it to be deleted on any other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, it is a + tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: >- + Array of valid revision IDs, in reverse order (latest + first). + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + responses: + '200': + description: New document revision created successfully. + headers: + Etag: + schema: + type: string + description: The revision ID of the newly created document. + Location: + schema: + type: string + description: The document ID of the newly created document. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '415': + description: Invalid content type + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_design/{ddoc}': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: ddoc + in: path + required: true + schema: + type: string + description: The design document name. + get: + summary: Get views of a design document | Unsupported + operationId: get_db-_design-ddoc + tags: + - Unsupported + description: |- + **This is unsupported** + + Query a design document. + responses: + '200': + description: Successfully returned design document. + content: + application/json: + schema: + description: Properties of a design document + type: object + properties: + language: + type: string + views: + type: object + additionalProperties: + x-additionalPropertiesName: viewname + description: The name of the view. + type: object + properties: + map: + type: string + reduce: + type: string + options: + type: object + properties: + local_seq: + type: string + include_design: + type: string + raw: + type: string + index_xattr_on_deleted_docs: + type: string + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Update views of a design document | Unsupported + description: |- + **This is unsupported** + + Update the views of a design document. + requestBody: + content: + application/json: + schema: + description: Properties of a design document + type: object + properties: + language: + type: string + views: + type: object + additionalProperties: + x-additionalPropertiesName: viewname + description: The name of the view. + type: object + properties: + map: + type: string + reduce: + type: string + options: + type: object + properties: + local_seq: + type: string + include_design: + type: string + raw: + type: string + index_xattr_on_deleted_docs: + type: string + operationId: put_db-_design-ddoc + tags: + - Unsupported + responses: + '200': + description: Design document changes successfully + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Delete a design document | Unsupported + operationId: delete_db-_design-ddoc + tags: + - Unsupported + description: |- + **This is unsupported** + + Delete a design document. + responses: + '200': + description: Design document deleted successfully + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if view of design document exists | Unsupported + operationId: head_db-_design-ddoc + tags: + - Unsupported + description: |- + **This is unsupported** + + Check if a design document can be queried. + responses: + '200': + description: Design document exists + '403': + description: >- + Forbidden access possibly due to not using the Admin API or the + design document is a built-in Sync Gateway one. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_design/{ddoc}/_view/{view}': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + - name: ddoc + in: path + required: true + schema: + type: string + description: The design document name. + - name: view + in: path + required: true + schema: + type: string + description: The view to target. + get: + summary: Query a view on a design document | Unsupported + operationId: get_db-_design-ddoc-_view-view + tags: + - Unsupported + description: |- + **This is unsupported** + + Query a view on a design document. + parameters: + - name: inclusive_end + in: query + required: false + description: >- + Indicates whether the specified end key should be included in the + result. + schema: + type: boolean + - name: descending + in: query + required: false + description: Return documents in descending order. + schema: + type: boolean + - name: include_docs + in: query + required: false + description: >- + Only works when using Couchbase Server 3.0 and earlier. Indicates + whether to include the full content of the documents in the + response. + schema: + type: boolean + - name: reduce + in: query + required: false + description: Whether to execute a reduce function on the response or not. + schema: + type: boolean + - name: group + in: query + required: false + description: >- + Group the results using the reduce function to a group or single + row. + schema: + type: boolean + - name: skip + in: query + required: false + description: >- + Skip the specified number of documents before starting to return + results. + schema: + type: integer + - name: limit + in: query + required: false + description: Return only the specified number of documents + schema: + type: integer + - name: group_level + in: query + required: false + description: Specify the group level to be used. + schema: + type: integer + - name: startkey_docid + in: query + required: false + description: Return documents starting with the specified document identifier. + schema: + type: string + - name: endkey_docid + in: query + required: false + description: >- + Stop returning records when the specified document identifier is + reached. + schema: + type: string + - name: stale + in: query + required: false + description: >- + Allow the results from a stale view to be used, without triggering a + rebuild of all views within the encompassing design document. + schema: + type: string + enum: + - ok + - update_after + - name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + - name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + - name: key + in: query + required: false + description: Return only the document that matches the specified key. + schema: + type: string + - name: keys + in: query + required: false + schema: + type: array + items: + type: string + description: An array of document ID strings to filter by. + responses: + '200': + description: Returned view successfully + content: + application/json: + schema: + type: object + properties: + total_rows: + type: integer + rows: + type: array + items: + type: object + properties: + id: + type: string + key: + type: object + value: + type: object + doc: + type: object + errors: + type: array + items: + type: object + properties: + From: + type: string + Reason: + type: string + required: + - total_rows + - rows + '403': + description: Forbidden + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/{docid}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + get: + summary: Get a document + operationId: get_keyspace-docid + tags: + - Document + description: Retrieve a document from the database by its doc ID. + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: open_revs + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Option to fetch specified revisions of the document. The value can + be all to fetch all leaf revisions or an array of revision numbers + (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that + haven't been pruned are guaranteed to be returned. If this option is + specified the response will be in multipart format. Use the `Accept: + application/json` request header to get the result as a JSON object. + - name: show_exp + in: query + required: false + schema: + type: boolean + description: Whether to show the expiry property (`_exp`) in the response. + - name: revs_from + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Trim the revision history to stop at the first revision in the + provided list. If no match is found, the revisions will be trimmed + to the `revs_limit`. + - name: atts_since + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Include attachments only since specified revisions. Excludes the + attachments for the specified revisions. Only gets used if + `attachments=true`. + - name: revs_limit + in: query + required: false + schema: + type: integer + description: Maximum amount of revisions to return for each document. + - name: attachments + in: query + required: false + schema: + type: boolean + description: Include attachment bodies in response. + - name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. + This is an enterprise-edition only feature. + responses: + '200': + description: Document found and returned successfully + headers: + Etag: + schema: + type: string + description: The document revision ID if only returning 1 revision. + content: + application/json: + schema: + type: object + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision ID of the document. + type: string + additionalProperties: true + example: + FailedLoginAttempts: 5 + Friends: + - Bob + _id: AliceSettings + _rev: 1-64d4a1f179db5c1848fe52967b47c166 + '400': + description: >- + Document ID is not in an allowed format therefore is invalid. + + + This could be because it is over 250 characters or is prefixed with + an underscore ("_"). + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '501': + description: >- + Not Implemented. It is likely this error was caused due to trying to + use an enterprise-only feature on the community edition. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + put: + summary: Upsert a document + operationId: put_keyspace-docid + tags: + - Document + description: >- + This will upsert a document meaning if it does not exist, then it will + be created. Otherwise a new revision will be made for the existing + document. A revision ID must be provided if targetting an existing + document. + + + A document ID must be specified for this endpoint. To let Sync Gateway + generate the ID, use the `POST /{db}/` endpoint. + + + If a document does exist, then replace the document content with the + request body. This means unspecified fields will be removed in the new + revision. + + + The maximum size for a document is 20MB. + parameters: + - name: roundtrip + in: query + required: false + schema: + type: boolean + description: Block until document has been received by change cache + - name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. + This is an enterprise-edition only feature. + - name: new_edits + in: query + required: false + schema: + type: boolean + default: true + description: >- + Setting this to false indicates that the request body is an + already-existing revision that should be directly inserted into the + database, instead of a modification to apply to the current + document. This mode is used for replication. This option must be + used in conjunction with the `_revisions` property in the request + body. + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: If-Match + in: header + required: false + schema: + type: string + description: The revision ID to target. + requestBody: + content: + application/json: + schema: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. The + expiration time is set and managed on the Couchbase Server + document. The value can be specified in two ways; in + ISO-8601 format, for example the 6th of July 2022 at 17:00 + in the BST timezone would be `2016-07-06T17:00:00+01:00`; it + can also be specified as a numeric Couchbase Server expiry + value. Couchbase Server expiry values are specified as Unix + time, and if the desired TTL is below 30 days then it can + also represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 + seconds after it is written to Couchbase Server). The + document expiration time is returned in the response of `GET + /{db}/{doc} ` when `show_exp=true` is included in the query. + + + As with the existing explicit purge mechanism, this applies + only to the local database; it has nothing to do with + replication. This expiration time is not propagated when the + document is replicated. The purge of the document does not + cause it to be deleted on any other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, it is a + tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: >- + Array of valid revision IDs, in reverse order (latest + first). + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + responses: + '201': + description: Created + headers: + Etag: + schema: + type: string + description: >- + The revision of the written document. Not set if query option + `new_edits` is true. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '415': + description: Invalid content type + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + delete: + summary: Delete a document + operationId: delete_keyspace-docid + tags: + - Document + description: >- + Delete a document from the database. A new revision is created so the + database can track the deletion in synchronized copies. + + + A revision ID either in the header or on the query parameters is + required. + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: If-Match + in: header + required: false + schema: + type: string + description: The revision ID to target. + responses: + '200': + description: New revision created successfully + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + head: + summary: Check if a document exists + operationId: head_keyspace-docid + tags: + - Document + description: Return a status code based on if the document exists or not. + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: open_revs + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Option to fetch specified revisions of the document. The value can + be all to fetch all leaf revisions or an array of revision numbers + (i.e. open_revs=["rev1", "rev2"]). Only leaf revision bodies that + haven't been pruned are guaranteed to be returned. If this option is + specified the response will be in multipart format. Use the `Accept: + application/json` request header to get the result as a JSON object. + - name: show_exp + in: query + required: false + schema: + type: boolean + description: Whether to show the expiry property (`_exp`) in the response. + - name: revs_from + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Trim the revision history to stop at the first revision in the + provided list. If no match is found, the revisions will be trimmed + to the `revs_limit`. + - name: atts_since + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Include attachments only since specified revisions. Excludes the + attachments for the specified revisions. Only gets used if + `attachments=true`. + - name: revs_limit + in: query + required: false + schema: + type: integer + description: Maximum amount of revisions to return for each document. + - name: attachments + in: query + required: false + schema: + type: boolean + description: Include attachment bodies in response. + - name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. + This is an enterprise-edition only feature. + responses: + '200': + description: Document exists + '400': + description: >- + Document ID is not in an allowed format therefore is invalid. + + + This could be because it is over 250 characters or is prefixed with + an underscore ("_"). + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/{docid}/{attach}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + - name: attach + in: path + description: >- + The attachment name. This value must be URL encoded. For example, if + the attachment name is `blob_/avatar`, the path component passed to + the URL should be `blob_%2Favatar` (tested with + [URLEncoder](https://www.urlencoder.org/)). + required: true + schema: + type: string + get: + summary: Get an attachment from a document + operationId: get_keyspace-docid-attach + tags: + - Document Attachment + description: >- + This request retrieves a file attachment associated with the document. + + + The raw data of the associated attachment is returned (just as if you + were accessing a static file). The `Content-Type` response header is the + same content type set when the document attachment was added to the + database. The `Content-Disposition` response header will be set if the + content type is considered unsafe to display in a browser (unless + overridden by by database config option + `serve_insecure_attachment_types`) which will force the attachment to be + downloaded. + + + If the `meta` query parameter is set then the response will be in JSON + with the additional metadata tags. + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + - name: content_encoding + in: query + description: Set to false to disable the `Content-Encoding` response header. + schema: + type: boolean + default: true + - name: Range + in: header + description: RFC-2616 bytes range header. + schema: + type: string + example: bytes=123-456 + - name: meta + in: query + description: Return only the metadata of the attachment in the response body. + schema: + type: boolean + default: false + responses: + '200': + description: Found attachment successfully. + headers: + Content-Length: + schema: + type: number + description: Length of the attachment in bytes + Etag: + schema: + type: string + description: >- + The attachment digest. Does not get set when request + `meta=true`. + '206': + description: Partial attachment content returned + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '416': + description: Requested range exceeds content length + put: + summary: Create or update an attachment on a document + operationId: put_keyspace-docid-attach + tags: + - Document Attachment + description: >- + This request adds or updates an attachment associated with the document. + If the document does not exist, it will be created and the attachment + will be added to it. + + + If the attachment already exists, the data of the existing attachment + will be replaced in the new revision. + + + The maximum content size of an attachment is 20MB. The `Content-Type` + header of the request specifies the content type of the attachment. + parameters: + - name: Content-Type + in: header + description: The content type of the attachment. + schema: + type: string + default: application/octet-stream + - name: rev + in: query + description: >- + The existing document revision ID to modify. Required only when + modifying an existing document. + schema: + type: string + - name: If-Match + in: header + description: An alternative way of specifying the document revision ID. + schema: + type: string + requestBody: + description: The attachment data + content: + Attachment content type: + schema: + description: The content to store in the body + type: string + responses: + '201': + description: Attachment added to new or existing document successfully + headers: + Etag: + schema: + type: string + description: The ID of the new revision. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + head: + summary: Check if attachment exists + operationId: head_keyspace-docid-attach + tags: + - Document Attachment + description: This request check if the attachment exists on the specified document. + parameters: + - name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + responses: + '200': + description: The document exists and the attachment exists on the document. + headers: + Content-Length: + schema: + description: Length of the attachment in bytes + type: number + Etag: + schema: + type: string + description: The attachment digest. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + delete: + summary: Delete an attachment on a document + operationId: delete_keyspace-docid-attach + tags: + - Document Attachment + description: >- + This request deletes an attachment associated with the document. + + + If the attachment exists, the attachment will be removed from the + document. + parameters: + - name: rev + in: query + description: The existing document revision ID to modify. + schema: + type: string + - name: If-Match + in: header + description: An alternative way of specifying the document revision ID. + schema: + type: string + responses: + '200': + description: Attachment removed from the document successfully + headers: + Etag: + schema: + type: string + description: The ID of the new revision. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{keyspace}/_changes': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + get: + summary: Get changes list + operationId: get_keyspace-_changes + tags: + - Document + description: >- + This request retrieves a sorted list of changes made to documents in the + database, in time order of application. Each document appears at most + once, ordered by its most recent change, regardless of how many times it + has been changed. + + + This request can be used to listen for update and modifications to the + database for post processing or synchronization. A continuously + connected changes feed is a reasonable approach for generating a + real-time log for most applications. + parameters: + - name: limit + in: query + description: Maximum number of changes to return. + schema: + type: integer + - name: since + in: query + description: >- + Starts the results from the change immediately after the given + sequence ID. Sequence IDs should be considered opaque; they come + from the last_seq property of a prior response. + schema: + type: string + - name: style + in: query + description: >- + Controls whether to return the current winning revision + (`main_only`) or all the leaf revision including conflicts and + deleted former conflicts (`all_docs`). + schema: + type: string + default: main_only + enum: + - main_only + - all_docs + - name: active_only + in: query + description: >- + Set true to exclude deleted documents and notifications for + documents the user no longer has access to from the changes feed. + schema: + type: boolean + default: false + - name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + - name: revocations + in: query + description: 'If true, revocation messages will be sent on the changes feed.' + schema: + type: boolean + - name: filter + in: query + description: Set a filter to either filter by channels or document IDs. + schema: + type: string + enum: + - sync_gateway/bychannel + - _doc_ids + - name: channels + in: query + description: >- + A comma-separated list of channel names to filter the response to + only the channels specified. To use this option, the `filter` query + option must be set to `sync_gateway/bychannels`. + schema: + type: string + - name: doc_ids + in: query + description: >- + A valid JSON array of document IDs to filter the documents in the + response to only the documents specified. To use this option, the + `filter` query option must be set to `_doc_ids` and the `feed` + parameter must be `normal`. Also accepts a comma separated list of + document IDs instead. + schema: + type: array + items: + type: string + - name: heartbeat + in: query + description: >- + The interval (in milliseconds) to send an empty line (CRLF) in the + response. This is to help prevent gateways from deciding the socket + is idle and therefore closing it. This is only applicable to + `feed=longpoll` or `feed=continuous`. This will override any + timeouts to keep the feed alive indefinitely. Setting to 0 results + in no heartbeat. The maximum heartbeat can be set in the server + replication configuration. If heartbeat is non zero, it must be at + least 25000 milliseconds. + schema: + type: integer + default: 0 + - name: timeout + in: query + description: >- + This is the maximum period (in milliseconds) to wait for a change + before the response is sent, even if there are no results. This is + only applicable for `feed=longpoll` or `feed=continuous` changes + feeds. Setting to 0 results in no timeout. + schema: + type: integer + default: 300000 + maximum: 900000 + minimum: 0 + - name: feed + in: query + description: 'The type of changes feed to use. ' + schema: + type: string + default: normal + enum: + - normal + - longpoll + - continuous + - websocket + responses: + '200': + description: Successfully returned the changes feed + content: + application/json: + schema: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing + only a `rev` field. + type: array + items: + type: object + properties: + rev: + description: >- + The new revision that was caused by that + change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Get changes list + description: >- + This request retrieves a sorted list of changes made to documents in the + database, in time order of application. Each document appears at most + once, ordered by its most recent change, regardless of how many times it + has been changed. + + + This request can be used to listen for update and modifications to the + database for post processing or synchronization. A continuously + connected changes feed is a reasonable approach for generating a + real-time log for most applications. + requestBody: + content: + application/json: + schema: + type: object + properties: + limit: + description: Maximum number of changes to return. + type: string + style: + description: >- + Controls whether to return the current winning revision + (`main_only`) or all the leaf revision including conflicts + and deleted former conflicts (`all_docs`). + type: string + active_only: + description: >- + Set true to exclude deleted documents and notifications for + documents the user no longer has access to from the changes + feed. + type: string + include_docs: + description: Include the body associated with each document. + type: boolean + revocations: + description: >- + If true, revocation messages will be sent on the changes + feed. + type: string + filter: + description: Set a filter to either filter by channels or document IDs. + type: string + channels: + description: >- + A comma-separated list of channel names to filter the + response to only the channels specified. To use this option, + the `filter` query option must be set to + `sync_gateway/bychannels`. + type: string + doc_ids: + description: >- + A valid JSON array of document IDs to filter the documents + in the response to only the documents specified. To use this + option, the `filter` query option must be set to `_doc_ids` + and the `feed` parameter must be `normal`. + type: string + heartbeat: + description: >- + The interval (in milliseconds) to send an empty line (CRLF) + in the response. This is to help prevent gateways from + deciding the socket is idle and therefore closing it. This + is only applicable to `feed=longpoll` or `feed=continuous`. + This will override any timeouts to keep the feed alive + indefinitely. Setting to 0 results in no heartbeat. The + maximum heartbeat can be set in the server replication + configuration. + type: string + timeout: + description: >- + This is the maximum period (in milliseconds) to wait for a + change before the response is sent, even if there are no + results. This is only applicable for `feed=longpoll` or + `feed=continuous` changes feeds. Setting to 0 results in no + timeout. + type: string + feed: + description: 'The type of changes feed to use. ' + type: string + operationId: post_keyspace-_changes + tags: + - Document + responses: + '200': + description: Successfully returned the changes feed + content: + application/json: + schema: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing + only a `rev` field. + type: array + items: + type: object + properties: + rev: + description: >- + The new revision that was caused by that + change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_all_docs': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + get: + summary: Gets all the documents in the database with the given parameters + operationId: get_keyspace-_all_docs + tags: + - Document + description: >- + Returns all documents in the database based on the specified parameters. + + + This endpoint is not recommended for larger datasets or production + workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more + efficient implementations and should be used instead. + parameters: + - name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + - name: channels + in: query + required: false + schema: + type: boolean + description: >- + Include the channels each document is part of that the calling user + also has access too. + - name: access + in: query + required: false + schema: + type: boolean + description: Include what user/roles that each document grants access too. + - name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + - name: update_seq + in: query + required: false + schema: + type: boolean + description: >- + Include the document sequence number `update_seq` property for each + document. + - name: keys + in: query + required: false + schema: + type: array + items: + type: string + description: An array of document ID strings to filter by. + - name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + - name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + - name: limit + in: query + required: false + schema: + type: number + description: >- + This limits the number of result rows returned. Using a value of `0` + has the same effect as the value `1`. + responses: + '200': + description: Operation ran successfully + content: + application/json: + schema: + type: object + properties: + rows: + type: array + items: + type: object + properties: + key: + type: string + id: + type: string + value: + type: object + properties: + rev: + type: string + uniqueItems: true + total_rows: + type: number + update_seq: + type: number + required: + - rows + - total_rows + - update_seq + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '403': + description: This API endpoint has been disabled by the administrator. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: Get all the documents in the database using a built-in view + operationId: post_keyspace-_all_docs + tags: + - Document + description: >- + Returns all documents in the database based on the specified parameters. + + + This endpoint is not recommended for larger datasets or production + workloads. + + [GET /{keyspace}/_changes](#operation/get_keyspace-_changes) or [POST + /{keyspace}/_bulk_get](#operation/post_keyspace-_bulk_get) have more + efficient implementations and should be used instead. + parameters: + - name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + - name: channels + in: query + required: false + schema: + type: boolean + description: >- + Include the channels each document is part of that the calling user + also has access too. + - name: access + in: query + required: false + schema: + type: boolean + description: Include what user/roles that each document grants access too. + - name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + - name: update_seq + in: query + required: false + schema: + type: boolean + description: >- + Include the document sequence number `update_seq` property for each + document. + - name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + - name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + - name: limit + in: query + required: false + schema: + type: number + description: >- + This limits the number of result rows returned. Using a value of `0` + has the same effect as the value `1`. + requestBody: + content: + application/json: + schema: + type: object + properties: + keys: + description: List of the documents to retrieve. + type: array + items: + type: string + required: + - keys + responses: + '200': + description: Operation ran successfully + content: + application/json: + schema: + type: object + properties: + rows: + type: array + items: + type: object + properties: + key: + type: string + id: + type: string + value: + type: object + properties: + rev: + type: string + uniqueItems: true + total_rows: + type: number + update_seq: + type: number + required: + - rows + - total_rows + - update_seq + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '403': + description: This API endpoint has been disabled by the administrator. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_bulk_docs': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Bulk document operations + description: >- + This will allow multiple documented to be created, updated or deleted in + bulk. + + + To create a new document, simply add the body in an object under `docs`. + A doc ID will be generated by Sync Gateway unless `_id` is specified. + + + To update an existing document, provide the document ID (`_id`) and + revision ID (`_rev`) as well as the new body values. + + + To delete an existing document, provide the document ID (`_id`), + revision ID (`_rev`), and set the deletion flag (`_deleted`) to true. + requestBody: + content: + application/json: + schema: + type: object + properties: + new_edits: + description: >- + This controls whether to assign new revision identifiers to + new edits (`true`) or use the existing ones (`false`). + type: boolean + default: true + docs: + type: array + items: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. + The expiration time is set and managed on the + Couchbase Server document. The value can be specified + in two ways; in ISO-8601 format, for example the 6th + of July 2022 at 17:00 in the BST timezone would be + `2016-07-06T17:00:00+01:00`; it can also be specified + as a numeric Couchbase Server expiry value. Couchbase + Server expiry values are specified as Unix time, and + if the desired TTL is below 30 days then it can also + represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 + seconds after it is written to Couchbase Server). The + document expiration time is returned in the response + of `GET /{db}/{doc} ` when `show_exp=true` is included + in the query. + + + As with the existing explicit purge mechanism, this + applies only to the local database; it has nothing to + do with replication. This expiration time is not + propagated when the document is replicated. The purge + of the document does not cause it to be deleted on any + other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, + it is a tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: >- + Array of valid revision IDs, in reverse order + (latest first). + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + required: + - docs + example: + new_edits: true + docs: + - _id: FooBar + foo: bar + - _id: AliceSettings + _rev: 5-832a6db48ed130adadede928aee54576 + FailedLoginAttempts: 7 + - _id: BobSettings + _rev: 1-fa76ba41ee5fdfee1b91fc478ed09e59 + _deleted: true + operationId: post_keyspace-_bulk_docs + tags: + - Document + responses: + '201': + description: >- + Executed all operations. + + + Each object in the returned array represents a document. Each + document should be checked to make sure it was successfully added to + the database. + content: + application/json: + schema: + type: array + items: + type: object + properties: + id: + description: >- + The ID of the document that the operation was performed + on. + type: string + rev: + description: >- + The new revision of the document if the operation was a + success. + type: string + error: + description: The error type if the operation of the document failed. + type: string + reason: + description: The reason the operation failed. + type: string + status: + description: The HTTP status code for why the operation failed. + type: integer + required: + - id + uniqueItems: true + examples: + Success: + value: + - id: FooBar + rev: 1-cd809becc169215072fd567eebd8b8de + - id: AliceSettings + rev: 6-b3e8dcf825b71ccee112f3572ec4323c + - id: BobSettings + rev: 2-5145e1086bb8d1d71a531e9f6b543c58 + PartialSuccess: + summary: Partial success + value: + - error: conflict + id: FooBar + reason: Document exists + status: 409 + - id: AliceSettings + rev: 6-b3e8dcf825b71ccee112f3572ec4323c + - error: conflict + id: BobSettings + reason: Document revision conflict + status: 409 + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_bulk_get': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Get multiple documents in a MIME multipart response + operationId: post_keyspace-_bulk_get + tags: + - Document + description: > + This request returns any number of documents, as individual bodies in a + MIME multipart response. + + + Each enclosed body contains one requested document. The bodies appear in + the same order as in the request, but can also be identified by their + `X-Doc-ID` and `X-Rev-ID` headers (if the `attachments` query is + `true`). + + + A body for a document with no attachments will have content type + `application/json` and contain the document itself. + + + A body for a document that has attachments will be written as a nested + `multipart/related` body. + parameters: + - name: attachments + in: query + description: >- + This is for whether to include attachments in each of the documents + returned or not. + schema: + type: boolean + default: false + - name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + - name: revs_limit + in: query + description: >- + The number of revisions to include in the response from the document + history. This parameter only makes a different if the `revs` query + parameter is set to `true`. The full revision history will be + returned if `revs` is set but this is not. + schema: + type: integer + - name: X-Accept-Part-Encoding + in: header + description: >- + If this header includes `gzip` then the part HTTP compression + encoding will be done. + schema: + type: string + - name: Accept-Encoding + in: header + description: >- + If this header includes `gzip` then the the HTTP response will be + compressed. This takes priority over `X-Accept-Part-Encoding`. Only + part compression will be done if `X-Accept-Part-Encoding=gzip` and + the `User-Agent` is below 1.2 due to clients not being able to + handle full compression. + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + properties: + docs: + type: array + items: + type: object + properties: + id: + description: ID of the document to retrieve. + type: string + required: + - id + required: + - docs + example: + docs: + - id: FooBar + - id: attachment + - id: AliceSettings + responses: + '200': + description: Returned the requested docs as `multipart/mixed` response type + '400': + description: Bad Request + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_local/{docid}': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + - name: docid + in: path + description: The name of the local document ID excluding the `_local/` prefix. + required: true + schema: + type: string + get: + summary: Get local document + operationId: get_keyspace-_local-docid + tags: + - Document + description: >- + This request retrieves a local document. + + + Local document IDs begin with `_local/`. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by Couchbase + Lite's replicator, as a place to store replication checkpoint data. + responses: + '200': + description: Successfully found local document + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + put: + summary: Upsert a local document + description: >- + This request creates or updates a local document. Updating a local + document requires that the revision ID be put in the body under `_rev`. + + + Local document IDs are given a `_local/` prefix. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by the + client's replicator, as a place to store replication checkpoint data. + requestBody: + description: The body of the document + content: + application/json: + schema: + type: object + properties: + _rev: + description: >- + Revision to replace. Required if updating existing local + document. + type: string + operationId: put_keyspace-_local-docid + tags: + - Document + responses: + '201': + description: >- + Document successfully written. The document ID will be prefixed with + `_local/`. + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: >- + A revision ID conflict would result from updating this document + revision. + delete: + summary: Delete a local document + operationId: delete_keyspace-_local-docid + tags: + - Document + description: >- + This request deletes a local document. + + + Local document IDs begin with `_local/`. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by Couchbase + Lite's replicator, as a place to store replication checkpoint data. + parameters: + - name: rev + in: query + description: The revision ID of the revision to delete. + required: true + schema: + type: string + responses: + '200': + description: Successfully removed the local document. + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '409': + description: >- + A revision ID conflict would result from deleting this document + revision. + head: + summary: Check if local document exists + operationId: head_keyspace-_local-docid + tags: + - Document + description: >- + This request checks if a local document exists. + + + Local document IDs begin with `_local/`. Local documents are not + replicated or indexed, don't support attachments, and don't save + revision histories. In practice they are almost only used by Couchbase + Lite's replicator, as a place to store replication checkpoint data. + responses: + '200': + description: Document exists + '400': + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{keyspace}/_revs_diff': + parameters: + - name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, + and optionally a named scope and collection. + post: + summary: Compare revisions to what is in the database + description: >- + Takes a set of document IDs, each with a set of revision IDs. For each + document, an array of unknown revisions are returned with an array of + known revisions that may be recent ancestors. + requestBody: + content: + application/json: + schema: + type: object + properties: + docid: + description: >- + The document ID with an array of revisions to use for the + comparison. + type: array + items: + type: string + operationId: post_keyspace-_revs_diff + tags: + - Document + responses: + '200': + description: Comparisons successful + content: + application/json: + schema: + type: object + properties: + docid: + description: The document ID. + type: object + properties: + missing: + description: >- + The revisions that are not in the database (and + therefore `missing`). + type: array + items: + type: string + possible_ancestors: + description: >- + An array of known revisions that might be the recent + ancestors. + type: array + items: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_oidc': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect authentication initiation via Location header redirect + operationId: get_db-_oidc + tags: + - Authentication + description: >- + Called by clients to initiate the OpenID Connect Authorization Code + Flow. Redirects to the OpenID Connect provider if successful. + parameters: + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + - name: offline + in: query + required: false + schema: + type: string + description: >- + If true, the OpenID Connect provider is requested to confirm with + the user the permissions requested and refresh the OIDC token. To do + this, access_type=offline and prompt=consent is set on the + redirection link. + responses: + '302': + description: >- + Successfully connected with the OpenID Connect provider so now + redirecting to the requested OIDC provider for authentication. + headers: + Location: + schema: + type: string + description: The link to redirect to so the client can authenticate. + '400': + description: >- + The provider provided is not defined in the Sync Gateway config. If + no provided was specified then there is no default provider set. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + '/{db}/_oidc_challenge': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect authentication initiation via WWW-Authenticate header + operationId: get_db-_oidc_challenge + tags: + - Authentication + description: >- + Called by clients to initiate the OpenID Connect Authorization Code + Flow. This will establish a connection with the provider, then put the + redirect URL in the `WWW-Authenticate` header. + parameters: + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + - name: offline + in: query + required: false + schema: + type: string + description: >- + If true, the OpenID Connect provider is requested to confirm with + the user the permissions requested and refresh the OIDC token. To do + this, access_type=offline and prompt=consent is set on the + redirection link. + responses: + '400': + description: >- + The provider provided is not defined in the Sync Gateway config. If + no provided was specified then there is no default provider set. + '401': + description: >- + Successfully connected with the OpenID Connect provider so now the + client can login. + headers: + WWW-Authenticate: + schema: + type: string + description: The OpenID Connect authentication URL. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + '/{db}/_oidc_callback': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect authentication callback + operationId: get_db-_oidc_callback + tags: + - Authentication + description: >- + The callback URL that the client is redirected to after authenticating + with the OpenID Connect provider. + parameters: + - name: error + in: query + description: 'The OpenID Connect error, if any occurred.' + schema: + type: string + - name: code + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication code. + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + - name: state + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect state to verify against the state cookie. This is + used to prevent cross-site request forgery (CSRF). This is not + required if `disable_callback_state=true` for the provider config + (NOT recommended). + responses: + '200': + description: Successfully authenticated with OpenID Connect. + content: + application/json: + schema: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + '400': + description: A problem occurred when reading the callback request body + '401': + description: >- + An error was received from the OpenID Connect provider. This means + the error query parameter was filled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: A problem occurred in regards to the token + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '/{db}/_oidc_refresh': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect token refresh + operationId: get_db-_oidc_refresh + tags: + - Authentication + description: Refresh the OpenID Connect token based on the provided refresh token. + parameters: + - name: refresh_token + in: query + description: The OpenID Connect refresh token. + required: true + schema: + type: string + - name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + responses: + '200': + description: Successfully authenticated with OpenID Connect. + content: + application/json: + schema: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + '400': + description: >- + The provider provided is not defined in the Sync Gateway config. If + no provided was specified then there is no default provider set. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + '/{db}/_oidc_testing/.well-known/openid-configuration': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect mock provider + operationId: get_db-_oidc_testing-.well-known-openid-configuration + tags: + - Unsupported + description: >- + Mock an OpenID Connect provider response for testing purposes. This + returns a response that is the same structure as what Sync Gateway + expects from an OIDC provider after initiating OIDC authentication. + responses: + '200': + description: 'Successfully generated OpenID Connect provider mock response. ' + headers: + Expiry: + schema: + type: string + description: the time until the response expires. + content: + application/json: + schema: + type: object + properties: + issuer: + type: string + authorization_endpoint: + type: string + token_endpoint: + type: string + jwks_uri: + type: string + userinfo_endpoint: + type: string + id_token_signing_alg_values_supported: + type: string + response_types_supported: + type: string + subject_types_supported: + type: string + scopes_supported: + type: string + claims_supported: + type: string + token_endpoint_auth_methods_supported: + type: string + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_oidc_testing/authorize': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect mock login page + operationId: get_db-_oidc_testing-authorize + tags: + - Unsupported + description: Show a mock OpenID Connect login page for the client to log in to. + parameters: + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + responses: + '200': + description: OK + '400': + description: A validation error occurred with the scope. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: An error occurred. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + post: + summary: OpenID Connect mock login page + operationId: post_db-_oidc_testing-authorize + tags: + - Unsupported + description: Show a mock OpenID Connect login page for the client to log in to. + parameters: + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + responses: + '200': + description: OK + '400': + description: A validation error occurred with the scope. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: An error occurred. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + '/{db}/_oidc_testing/token': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: OpenID Connect mock token + description: Return a mock OpenID Connect token for the OIDC authentication flow. + requestBody: + content: + application/json: + schema: + type: object + properties: + grant_type: + description: >- + The grant type of the token to request. Can either be an + `authorization_code` or `refresh_token`. + type: string + code: + description: >- + **`grant_type=authorization_code` only**: The OpenID Connect + authentication token. + type: string + refresh_token: + description: >- + **`grant_type=refresh_token` only**: The OpenID Connect + refresh token. + type: string + required: + - grant_type + operationId: post_db-_oidc_testing-token + tags: + - Unsupported + responses: + '200': + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + content: + application/json: + schema: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + type: object + properties: + access_token: + type: string + token_type: + type: string + refresh_token: + type: string + expires_in: + type: string + id_token: + type: string + title: OIDC-token + '400': + description: Invalid token provided + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_oidc_testing/certs': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect public certificates for signing keys + operationId: get_db-_oidc_testing-certs + tags: + - Unsupported + description: Return a mock OpenID Connect public key to be used as signing keys. + responses: + '200': + description: Returned public key successfully + content: + application/json: + schema: + type: object + properties: + keys: + type: array + items: + type: object + properties: + Key: + type: object + KeyID: + type: string + Use: + type: string + Certificates: + type: array + items: + type: object + Algorithm: + type: string + required: + - Key + - KeyID + - Use + required: + - keys + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '500': + description: An error occurred while getting the private RSA key + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '/{db}/_oidc_testing/authenticate': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: OpenID Connect mock login page handler + operationId: get_db-_oidc_testing-authenticate + tags: + - Unsupported + description: >- + Used to handle the login page displayed for the `GET + /{db}/_oidc_testing/authorize` endpoint. + parameters: + - name: redirect_uri + in: query + required: false + schema: + type: string + description: The Sync Gateway OpenID Connect callback URL. + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + - name: username + in: query + required: true + schema: + type: string + - name: tokenttl + in: query + required: true + schema: + type: integer + - name: identity-token-formats + in: query + required: true + schema: + type: string + - name: authenticated + in: query + required: true + schema: + type: string + responses: + '302': + description: Redirecting to Sync Gateway OpenID Connect callback URL + headers: + Location: + schema: + type: string + description: The location to the Sync Gateway OpenID Connect callback URL. + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + post: + summary: OpenID Connect mock login page handler + operationId: post_db-_oidc_testing-authenticate + tags: + - Unsupported + description: >- + Used to handle the login page displayed for the `GET + /{db}/_oidc_testing/authorize` endpoint. + parameters: + - name: redirect_uri + in: query + required: false + schema: + type: string + description: The Sync Gateway OpenID Connect callback URL. + - name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + requestBody: + content: + application/json: + schema: + description: >- + Properties passed from the OpenID Connect mock login page to the + handler + type: object + properties: + username: + type: string + tokenttl: + type: string + identity-token-formats: + type: string + authenticated: + type: string + required: + - username + - tokenttl + - identity-token-formats + - authenticated + description: >- + Properties passed from the OpenID Connect mock login page to the + handler + responses: + '302': + description: Redirecting to Sync Gateway OpenID Connect callback URL + headers: + Location: + schema: + type: string + description: The location to the Sync Gateway OpenID Connect callback URL. + '403': + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is + not enabled. To use this endpoint, this option must be enabled. + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '/{db}/_blipsync': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + get: + summary: Handle incoming BLIP Sync web socket request + operationId: get_db-_blipsync + tags: + - Replication + description: >- + This handles incoming BLIP Sync requests from either Couchbase Lite or + another Sync Gateway node. The connection has to be upgradable to a + websocket connection or else the request will fail. + parameters: + - name: client + in: query + description: >- + This is the client type that is making the BLIP Sync request. Used + to control client-type specific replication behaviour. + schema: + type: string + default: cbl2 + enum: + - cbl2 + - sgr2 + responses: + '101': + description: Upgraded to a web socket connection + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '426': + description: Cannot upgrade connection to a web socket connection + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Upgrade Required + reason: Can't upgrade this request to websocket connection + '/{targetdb}/': + parameters: + - name: targetdb + in: path + description: The database name to target. + required: true + schema: + type: string + put: + summary: Create DB public API stub + operationId: put_targetdb- + tags: + - Database Management + description: >- + A stub that always returns an error on the Public API, for + createTarget/CouchDB compatibility. + responses: + '403': + description: Database does not exist and cannot be created over the public API + '412': + description: Database exists + '/{db}/_facebook': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Create a new Facebook-based session + operationId: post_db-_facebook + description: >- + Creates a new session based on a Facebook user. On a successful session + creation, a session cookie is stored to keep the user authenticated for + future API calls. + + + If `Origin` header is passed to this endpoint, the `Origin` header must + match both the `cors.login_origin` and `cors.origin` configuration + options. + requestBody: + content: + application/json: + schema: + type: object + properties: + access_token: + description: Facebook access token to base the new session on. + type: string + required: + - access_token + responses: + '200': + description: Session created successfully + '400': + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + '401': + description: Received error from Facebook verifier + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '502': + description: Received invalid response from the Facebook verifier + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '504': + description: Unable to send request to Facebook API + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + deprecated: true + tags: + - Authentication + '/{db}/_google': + x-capella: false + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Create a new Google-based session + operationId: post_db-_google + description: >- + Creates a new session based on a Google user. On a successful session + creation, a session cookie is stored to keep the user authenticated for + future API calls. + + + If `Origin` header is passed to this endpoint, the `Origin` header must + match both the `cors.login_origin` and `cors.origin` configuration + options. + requestBody: + content: + application/json: + schema: + type: object + properties: + id_token: + description: Google ID token to base the new session on. + type: string + required: + - id_token + responses: + '200': + description: Session created successfully + '400': + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + '401': + description: >- + Received error from Google token verifier or invalid application ID + in the config + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '404': + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + '502': + description: Received invalid response from the Google token verifier + content: + application/json: + schema: + type: object + properties: + error: + type: string + reason: + type: string + '504': + description: Unable to send request to the Google token verifier + deprecated: true + tags: + - Authentication + '/{db}/_ensure_full_commit': + parameters: + - name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + post: + summary: Ensure Full Commit + description: >- + This endpoint is non-functional but is present for CouchDB + compatibility. This was deprecated in CouchDB 3.0. + + + Required Sync Gateway RBAC roles: + + + * Sync Gateway Application + + * Sync Gateway Application Read Only + deprecated: true + operationId: post_db-_ensure_full_commit + tags: + - Database Management + responses: + '201': + description: OK + content: + application/json: + schema: + type: object + properties: + instance_start_time: + description: >- + Timestamp of when the database opened, in microseconds + since the Unix epoch. + type: integer + example: 1644600082279583 + ok: + type: boolean + example: true + default: true +components: + parameters: + db: + name: db + in: path + required: true + schema: + type: string + example: db1 + description: The name of the database to run the operation against. + keyspace: + name: keyspace + in: path + required: true + schema: + type: string + examples: + default: + summary: Default scope and collection + value: db1 + description: Default scope and collection + namedInDefault: + summary: Named collection within the default scope + value: db1.collection1 + description: Named collection within the default scope + fullyQualified: + summary: Fully-qualified scope and collection + value: db1.scope1.collection1 + description: Fully-qualified scope and collection + description: >- + The keyspace to run the operation against. + + + A keyspace is a dot-separated string, comprised of a database name, and + optionally a named scope and collection. + roundtrip: + name: roundtrip + in: query + required: false + schema: + type: boolean + description: Block until document has been received by change cache + ddoc: + name: ddoc + in: path + required: true + schema: + type: string + description: The design document name. + view: + name: view + in: path + required: true + schema: + type: string + description: The view to target. + inclusive_end: + name: inclusive_end + in: query + required: false + description: >- + Indicates whether the specified end key should be included in the + result. + schema: + type: boolean + descending: + name: descending + in: query + required: false + description: Return documents in descending order. + schema: + type: boolean + include_docs-cbs3: + name: include_docs + in: query + required: false + description: >- + Only works when using Couchbase Server 3.0 and earlier. Indicates + whether to include the full content of the documents in the response. + schema: + type: boolean + reduce: + name: reduce + in: query + required: false + description: Whether to execute a reduce function on the response or not. + schema: + type: boolean + group: + name: group + in: query + required: false + description: Group the results using the reduce function to a group or single row. + schema: + type: boolean + skip: + name: skip + in: query + required: false + description: >- + Skip the specified number of documents before starting to return + results. + schema: + type: integer + limit: + name: limit + in: query + required: false + description: Return only the specified number of documents + schema: + type: integer + group_level: + name: group_level + in: query + required: false + description: Specify the group level to be used. + schema: + type: integer + startkey_docid: + name: startkey_docid + in: query + required: false + description: Return documents starting with the specified document identifier. + schema: + type: string + endkey_docid: + name: endkey_docid + in: query + required: false + description: >- + Stop returning records when the specified document identifier is + reached. + schema: + type: string + stale: + name: stale + in: query + required: false + description: >- + Allow the results from a stale view to be used, without triggering a + rebuild of all views within the encompassing design document. + schema: + type: string + enum: + - ok + - update_after + startkey: + name: startkey + in: query + required: false + schema: + type: string + description: Return records starting with the specified key. + endkey: + name: endkey + in: query + required: false + schema: + type: string + description: Stop returning records when this key is reached. + key: + name: key + in: query + required: false + description: Return only the document that matches the specified key. + schema: + type: string + keys: + name: keys + in: query + required: false + schema: + type: array + items: + type: string + description: An array of document ID strings to filter by. + docid: + name: docid + in: path + required: true + schema: + type: string + example: doc1 + description: The document ID to run the operation against. + rev: + name: rev + in: query + required: false + schema: + type: string + example: 2-5145e1086bb8d1d71a531e9f6b543c58 + description: The document revision to target. + open_revs: + name: open_revs + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Option to fetch specified revisions of the document. The value can be + all to fetch all leaf revisions or an array of revision numbers (i.e. + open_revs=["rev1", "rev2"]). Only leaf revision bodies that haven't been + pruned are guaranteed to be returned. If this option is specified the + response will be in multipart format. Use the `Accept: application/json` + request header to get the result as a JSON object. + show_exp: + name: show_exp + in: query + required: false + schema: + type: boolean + description: Whether to show the expiry property (`_exp`) in the response. + revs_from: + name: revs_from + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Trim the revision history to stop at the first revision in the provided + list. If no match is found, the revisions will be trimmed to the + `revs_limit`. + atts_since: + name: atts_since + in: query + required: false + schema: + type: array + items: + type: string + description: >- + Include attachments only since specified revisions. Excludes the + attachments for the specified revisions. Only gets used if + `attachments=true`. + revs_limit: + name: revs_limit + in: query + required: false + schema: + type: integer + description: Maximum amount of revisions to return for each document. + includeAttachments: + name: attachments + in: query + required: false + schema: + type: boolean + description: Include attachment bodies in response. + replicator2: + name: replicator2 + in: query + required: false + schema: + type: boolean + description: >- + Returns the document with the required properties for replication. This + is an enterprise-edition only feature. + new_edits: + name: new_edits + in: query + required: false + schema: + type: boolean + default: true + description: >- + Setting this to false indicates that the request body is an + already-existing revision that should be directly inserted into the + database, instead of a modification to apply to the current document. + This mode is used for replication. This option must be used in + conjunction with the `_revisions` property in the request body. + If-Match: + name: If-Match + in: header + required: false + schema: + type: string + description: The revision ID to target. + include_docs: + name: include_docs + in: query + required: false + schema: + type: boolean + description: Include the body associated with each document. + Include-channels: + name: channels + in: query + required: false + schema: + type: boolean + description: >- + Include the channels each document is part of that the calling user also + has access too. + include-access: + name: access + in: query + required: false + schema: + type: boolean + description: Include what user/roles that each document grants access too. + include-revs: + name: revs + in: query + required: false + schema: + type: boolean + description: >- + Include all the revisions for each document under the `_revisions` + property. + include-seqs: + name: update_seq + in: query + required: false + schema: + type: boolean + description: >- + Include the document sequence number `update_seq` property for each + document. + limit-result-rows: + name: limit + in: query + required: false + schema: + type: number + description: >- + This limits the number of result rows returned. Using a value of `0` has + the same effect as the value `1`. + provider: + name: provider + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect provider to use for authentication. The list of + providers are defined in the Sync Gateway config. If left empty, the + default provider will be used. + offline: + name: offline + in: query + required: false + schema: + type: string + description: >- + If true, the OpenID Connect provider is requested to confirm with the + user the permissions requested and refresh the OIDC token. To do this, + access_type=offline and prompt=consent is set on the redirection link. + oidc-code: + name: code + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication code. + oidc-state: + name: state + in: query + required: false + schema: + type: string + description: >- + The OpenID Connect state to verify against the state cookie. This is + used to prevent cross-site request forgery (CSRF). This is not required + if `disable_callback_state=true` for the provider config (NOT + recommended). + oidc-scope: + name: scope + in: query + required: true + schema: + type: string + description: The OpenID Connect authentication scope. + oidc-redirect_uri: + name: redirect_uri + in: query + required: false + schema: + type: string + description: The Sync Gateway OpenID Connect callback URL. + schemas: + User-session-information: + type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to authenticate as a + user. Used for CouchDB compatibility. Always contains "default" and + "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection that the user is + in along with the sequence number the user was granted access. + This does not include inherited channels through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + HTTP-Error: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + DatabaseState: + description: The state of the database. + type: string + enum: + - Online + - Offline + - Starting + - Stopping + - Resyncing + x-enumDescriptions: + Online: The database is online and available for use. + Offline: >- + The database is offline, resync and other offline only endpoints are + allowed. + Starting: The database is in the process of going online. + Stopping: >- + The database is no longer accepting connections and is being taken + offline or deleted. + Resyncing: The database is offline and performing a resync operation. + Vendor: + description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + NodeInfo: + type: object + properties: + ADMIN: + description: '`true` if the request is from the Admin API - otherwise omitted.' + type: boolean + example: true + couchdb: + description: CouchDB welcome + type: string + example: Welcome + vendor: + allOf: + - description: Product vendor + type: object + properties: + name: + description: Product name + type: string + example: Couchbase Sync Gateway + version: + description: |- + API version. + Omitted if `api.hide_product_version=true` + type: string + example: 3.1 + required: + - name + title: Vendor + version: + description: >- + Product version, including the build number and edition (i.e. `EE` + or `CE`) + + Omitted if `api.hide_product_version=true` + type: string + example: Couchbase Sync Gateway/3.1.0(1;a765231) EE + persistent_config: + description: >- + Indication for whether sync gateway is running in persistent config + mode or legacy config mode. + + `true` if the sync gateway node is running in persistent config + mode. + type: boolean + example: true + required: + - couchdb + - vendor + Document: + description: The configurable Sync Gateway properties of a document. + type: object + additionalProperties: true + properties: + _id: + description: The ID of the document. + type: string + _rev: + description: The revision of the document. + type: string + _exp: + description: >- + Expiry time after which the document will be purged. The expiration + time is set and managed on the Couchbase Server document. The value + can be specified in two ways; in ISO-8601 format, for example the + 6th of July 2022 at 17:00 in the BST timezone would be + `2016-07-06T17:00:00+01:00`; it can also be specified as a numeric + Couchbase Server expiry value. Couchbase Server expiry values are + specified as Unix time, and if the desired TTL is below 30 days then + it can also represent an interval in seconds from the current time + (for example, a value of 5 will remove the document 5 seconds after + it is written to Couchbase Server). The document expiration time is + returned in the response of `GET /{db}/{doc} ` when `show_exp=true` + is included in the query. + + + As with the existing explicit purge mechanism, this applies only to + the local database; it has nothing to do with replication. This + expiration time is not propagated when the document is replicated. + The purge of the document does not cause it to be deleted on any + other database. + type: string + _deleted: + description: >- + Whether the document is a tombstone or not. If true, it is a + tombstone. + type: boolean + _revisions: + type: object + properties: + start: + description: Prefix number for the latest revision. + type: number + ids: + description: 'Array of valid revision IDs, in reverse order (latest first).' + type: array + items: + type: string + _attachments: + type: object + additionalProperties: + x-additionalPropertiesName: attachmentname + description: The name of the attachment. + type: object + properties: + content_type: + description: Content type of the attachment. + type: string + data: + description: The data in the attachment in base64. + type: string + New-revision: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + Design-doc: + description: Properties of a design document + type: object + properties: + language: + type: string + views: + type: object + additionalProperties: + x-additionalPropertiesName: viewname + description: The name of the view. + type: object + properties: + map: + type: string + reduce: + type: string + options: + type: object + properties: + local_seq: + type: string + include_design: + type: string + raw: + type: string + index_xattr_on_deleted_docs: + type: string + Changes-feed: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing only a `rev` + field. + type: array + items: + type: object + properties: + rev: + description: The new revision that was caused by that change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + OIDC-callback: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + OIDC-token: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + type: object + properties: + access_token: + type: string + token_type: + type: string + refresh_token: + type: string + expires_in: + type: string + id_token: + type: string + title: OIDC-token + OIDC-login-page-handler: + description: Properties passed from the OpenID Connect mock login page to the handler + type: object + properties: + username: + type: string + tokenttl: + type: string + identity-token-formats: + type: string + authenticated: + type: string + required: + - username + - tokenttl + - identity-token-formats + - authenticated + responses: + User-session-information: + description: Properties associated with a user session + content: + application/json: + schema: + type: object + properties: + authentication_handlers: + description: >- + The ways authentication can be established to authenticate as + a user. Used for CouchDB compatibility. Always contains + "default" and "cookie". + type: array + enum: + - - default + - cookie + default: + - default + - cookie + ok: + description: Used for CouchDB compatibility. Always true. + type: boolean + enum: + - true + userCtx: + type: object + properties: + channels: + description: >- + A map of the channels in the default collection that the + user is in along with the sequence number the user was + granted access. This does not include inherited channels + through roles. + type: object + additionalProperties: + x-additionalPropertiesName: channelName + type: number + minimum: 1 + description: The sequence number the user was granted access. + title: sequence number + example: + '!': 1 + channelA: 2 + name: + description: The name of the user. + type: string + minLength: 1 + required: + - channels + - name + required: + - authentication_handlers + - ok + - userCtx + title: User Session Information + Unauthorized: + description: 'User does not have access to resource, or resource does not exist' + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + Invalid-CORS-LoginOrigin: + description: >- + Value of `Origin` is not in the approved list of allowed origins in + `LoginOrigin` of Sync Gateway bootstrap or database configuration. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: Bad Request + reason: No CORS + Not-found: + description: Resource could not be found + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + example: + error: not_found + reason: no such database "invalid-db" + request-problem: + description: There was a problem with your request + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + Conflict: + description: Resource already exists under that name + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + Invalid-content-type: + description: Invalid content type + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + ddoc-forbidden: + description: >- + Forbidden access possibly due to not using the Admin API or the design + document is a built-in Sync Gateway one. + invalid-doc-id: + description: >- + Document ID is not in an allowed format therefore is invalid. + + + This could be because it is over 250 characters or is prefixed with an + underscore ("_"). + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + New-revision: + description: New revision created successfully + content: + application/json: + schema: + description: Properties returned when a new document revision is created + type: object + properties: + id: + description: The ID of the document. + type: string + ok: + description: Whether the request completed successfully. + type: boolean + rev: + description: The revision of the document. + type: string + required: + - id + - ok + - rev + title: New-revision + changes-feed: + description: Successfully returned the changes feed + content: + application/json: + schema: + description: Properties of a changes feed + type: object + properties: + results: + type: array + items: + type: object + properties: + seq: + description: The change sequence number. + type: number + id: + description: The document ID the change happened on. + type: string + changes: + description: >- + List of document leafs with each leaf containing only a + `rev` field. + type: array + items: + type: object + properties: + rev: + description: The new revision that was caused by that change. + type: string + uniqueItems: true + uniqueItems: true + last_seq: + description: The last change sequence number. + type: string + all-docs: + description: Operation ran successfully + content: + application/json: + schema: + type: object + properties: + rows: + type: array + items: + type: object + properties: + key: + type: string + id: + type: string + value: + type: object + properties: + rev: + type: string + uniqueItems: true + total_rows: + type: number + update_seq: + type: number + required: + - rows + - total_rows + - update_seq + OIDC-invalid-provider: + description: >- + The provider provided is not defined in the Sync Gateway config. If no + provided was specified then there is no default provider set. + OIDC-connection: + description: >- + Unable to connect and validate with the OpenID Connect provider + requested + OIDC-callback: + description: Successfully authenticated with OpenID Connect. + content: + application/json: + schema: + type: object + properties: + id_token: + description: The OpenID Connect ID token + type: string + refresh_token: + description: The OpenID Connect ID refresh token + type: string + session_id: + description: The Sync Gateway session token + type: string + name: + description: The Sync Gateway user + type: string + access_token: + description: The OpenID Connect access token + type: string + token_type: + description: The OpenID Connect ID token type + type: string + expires_in: + description: The time until the id_token expires (TTL). + type: number + title: OpenID Connect callback properties + OIDC-test-provider-disabled: + description: >- + The OpenID Connect unsupported config option `oidc_test_provider` is not + enabled. To use this endpoint, this option must be enabled. + OIDC-invalid-scope: + description: A validation error occurred with the scope. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + OIDC-testing-internal-error: + description: An error occurred. + content: + application/json: + schema: + type: object + properties: + error: + description: The error name. + type: string + reason: + description: The error description. + type: string + required: + - error + - reason + title: HTTP-Error + OIDC-token: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + content: + application/json: + schema: + description: >- + Properties expected back from an OpenID Connect provider after + successful authentication + type: object + properties: + access_token: + type: string + token_type: + type: string + refresh_token: + type: string + expires_in: + type: string + id_token: + type: string + title: OIDC-token + OIDC-testing-redirect: + description: Redirecting to Sync Gateway OpenID Connect callback URL + headers: + Location: + schema: + type: string + description: The location to the Sync Gateway OpenID Connect callback URL. + requestBodies: + OIDC-login-page-handler: + content: + application/json: + schema: + description: >- + Properties passed from the OpenID Connect mock login page to the + handler + type: object + properties: + username: + type: string + tokenttl: + type: string + identity-token-formats: + type: string + authenticated: + type: string + required: + - username + - tokenttl + - identity-token-formats + - authenticated + description: Properties passed from the OpenID Connect mock login page to the handler +x-overlaid: false + From 998235c3397af535131458316f3e0c561090ec24 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 17:50:13 +0100 Subject: [PATCH 06/20] Add service-desc attributes --- modules/rest-api/pages/rest-api-admin.adoc | 2 +- modules/rest-api/pages/rest-api-metrics.adoc | 4 ++-- modules/rest-api/pages/rest-api.adoc | 4 ++-- modules/rest-api/pages/rest_api_admin.adoc | 2 ++ modules/rest-api/pages/rest_api_metric.adoc | 2 ++ modules/rest-api/pages/rest_api_public.adoc | 2 ++ 6 files changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/rest-api/pages/rest-api-admin.adoc b/modules/rest-api/pages/rest-api-admin.adoc index 4b872db8f..a545c44e1 100644 --- a/modules/rest-api/pages/rest-api-admin.adoc +++ b/modules/rest-api/pages/rest-api-admin.adoc @@ -3,7 +3,7 @@ ifdef::show_edition[:page-edition: {release}] ifdef::prerelease[:page-status: {prerelease}] :page-role: -toc -:page-content: Reference +:page-topic-type: reference :description: Description of the Sync Gateway Admin REST API include::ROOT:partial$_set_page_context.adoc[] diff --git a/modules/rest-api/pages/rest-api-metrics.adoc b/modules/rest-api/pages/rest-api-metrics.adoc index bc5a945e4..000e37f5b 100644 --- a/modules/rest-api/pages/rest-api-metrics.adoc +++ b/modules/rest-api/pages/rest-api-metrics.adoc @@ -3,8 +3,8 @@ ifdef::show_edition[:page-edition: {release}] ifdef::prerelease[:page-status: {prerelease}] :page-role: -:page-content: conceptual -:description: Description of the Sync Gateway Metrics Rest API +:page-topic-type: reference +:description: Description of the Sync Gateway Metrics REST API include::ROOT:partial$_set_page_context.adoc[] diff --git a/modules/rest-api/pages/rest-api.adoc b/modules/rest-api/pages/rest-api.adoc index ed26bac91..09eb25c84 100644 --- a/modules/rest-api/pages/rest-api.adoc +++ b/modules/rest-api/pages/rest-api.adoc @@ -3,8 +3,8 @@ :page-role: -toc ifdef::show_edition[:page-edition: {release}] ifdef::prerelease[:page-status: {prerelease}] -:page-content: conceptual -:description: Description of the Sync Gateway Rest API +:page-topic-type: reference +:description: Description of the Sync Gateway REST API include::ROOT:partial$_set_page_context.adoc[] diff --git a/modules/rest-api/pages/rest_api_admin.adoc b/modules/rest-api/pages/rest_api_admin.adoc index 7616f223a..885f5fb93 100644 --- a/modules/rest-api/pages/rest_api_admin.adoc +++ b/modules/rest-api/pages/rest_api_admin.adoc @@ -2,6 +2,8 @@ :page-aliases: ROOT:rest_api_admin_static.adoc, ROOT:rest_api_admin.adoc :doctitle: Sync Gateway Admin API Reference :navtitle: Admin API Reference +:page-service-desc: _attachments/admin.overlaid.yaml +:page-service-desc-type: application/vnd.oai.openapi+yaml ++++ include::ROOT:partial$sgw-openapi-admin.html[] diff --git a/modules/rest-api/pages/rest_api_metric.adoc b/modules/rest-api/pages/rest_api_metric.adoc index 3b99566d1..8cd631cd7 100644 --- a/modules/rest-api/pages/rest_api_metric.adoc +++ b/modules/rest-api/pages/rest_api_metric.adoc @@ -2,6 +2,8 @@ :doctitle: Sync Gateway Metrics API Reference :navtitle: Metrics API Reference :page-aliases: ROOT:rest_api_metrics_static.adoc, ROOT:rest_api_metric.adoc +:page-service-desc: _attachments/metric.overlaid.yaml +:page-service-desc-type: application/vnd.oai.openapi+yaml ++++ include::ROOT:partial$sgw-openapi-metric.html[] diff --git a/modules/rest-api/pages/rest_api_public.adoc b/modules/rest-api/pages/rest_api_public.adoc index 484fffb03..18bf6abb7 100644 --- a/modules/rest-api/pages/rest_api_public.adoc +++ b/modules/rest-api/pages/rest_api_public.adoc @@ -2,6 +2,8 @@ :doctitle: Sync Gateway Public API Reference :navtitle: Public API Reference :page-aliases: ROOT:rest_api_public_static.adoc, ROOT:rest_api_public.adoc +:page-service-desc: _attachments/public.overlaid.yaml +:page-service-desc-type: application/vnd.oai.openapi+yaml ++++ include::ROOT:partial$sgw-openapi-public.html[] From f2c9f0ddfb2f0d51299e8452012b9a96e226f13f Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 17:59:53 +0100 Subject: [PATCH 07/20] Update configuration schema template blocks --- .../attachments/configuration-properties-legacy.yaml | 0 .../configuration/pages/configuration-schema-bootstrap.adoc | 2 +- .../configuration/pages/configuration-schema-database.adoc | 2 +- .../configuration/pages/configuration-schema-db-security.adoc | 4 ++-- modules/configuration/pages/configuration-schema-isgr.adoc | 2 +- modules/{ROOT => configuration}/partials/json_ui_listing.hbs | 0 6 files changed, 5 insertions(+), 5 deletions(-) rename modules/{ROOT/assets => configuration}/attachments/configuration-properties-legacy.yaml (100%) rename modules/{ROOT => configuration}/partials/json_ui_listing.hbs (100%) diff --git a/modules/ROOT/assets/attachments/configuration-properties-legacy.yaml b/modules/configuration/attachments/configuration-properties-legacy.yaml similarity index 100% rename from modules/ROOT/assets/attachments/configuration-properties-legacy.yaml rename to modules/configuration/attachments/configuration-properties-legacy.yaml diff --git a/modules/configuration/pages/configuration-schema-bootstrap.adoc b/modules/configuration/pages/configuration-schema-bootstrap.adoc index c0e6cbb3d..e330e7064 100644 --- a/modules/configuration/pages/configuration-schema-bootstrap.adoc +++ b/modules/configuration/pages/configuration-schema-bootstrap.adoc @@ -47,7 +47,7 @@ This schema identifies all the configurable properties. .Configuration Schema -[template,ROOT:attachment$bundled-admin.yaml, partials="ROOT:partial$json_ui_listing.hbs"] +[template,rest-api:attachment$admin.overlaid.yaml, partials="partial$json_ui_listing.hbs"] -- {{#each-openapi components.schemas.Startup-config }} {{> json_ui_listing}} diff --git a/modules/configuration/pages/configuration-schema-database.adoc b/modules/configuration/pages/configuration-schema-database.adoc index f0d11a4ad..e4f8e1043 100644 --- a/modules/configuration/pages/configuration-schema-database.adoc +++ b/modules/configuration/pages/configuration-schema-database.adoc @@ -153,7 +153,7 @@ This section shows Sync Gateway's database configuration settings in schema form The configuration settings described here are provisioned through the {rest-api-admin--xref--database-configuration} endpoints. -[template,ROOT:attachment$bundled-admin.yaml, partials="ROOT:partial$json_ui_listing.hbs"] +[template,rest-api:attachment$admin.overlaid.yaml, partials="partial$json_ui_listing.hbs"] -- {{#each-openapi components.schemas.Database}} {{> json_ui_listing}} diff --git a/modules/configuration/pages/configuration-schema-db-security.adoc b/modules/configuration/pages/configuration-schema-db-security.adoc index 33acc2c2d..acf4b3234 100644 --- a/modules/configuration/pages/configuration-schema-db-security.adoc +++ b/modules/configuration/pages/configuration-schema-db-security.adoc @@ -153,7 +153,7 @@ The configuration settings described here are provisioned through the Admin REST [#Role2] === Role -[template,ROOT:attachment$bundled-admin.yaml, partials="ROOT:partial$json_ui_listing.hbs"] +[template,rest-api:attachment$admin.overlaid.yaml, partials="partial$json_ui_listing.hbs"] -- {{#each-openapi components.schemas.Role }} {{> json_ui_listing}} @@ -163,7 +163,7 @@ The configuration settings described here are provisioned through the Admin REST [#User2] === User -[template,ROOT:attachment$bundled-admin.yaml, partials="ROOT:partial$json_ui_listing.hbs"] +[template,rest-api:attachment$admin.overlaid.yaml, partials="partial$json_ui_listing.hbs"] -- {{#each-openapi components.schemas.User }} {{> json_ui_listing}} diff --git a/modules/configuration/pages/configuration-schema-isgr.adoc b/modules/configuration/pages/configuration-schema-isgr.adoc index 1c146e27e..f7b19f21e 100644 --- a/modules/configuration/pages/configuration-schema-isgr.adoc +++ b/modules/configuration/pages/configuration-schema-isgr.adoc @@ -111,7 +111,7 @@ This section shows Sync Gateway's replication configuration settings in schema f The configuration settings described here are provisioned through the {rest-api-admin--xref--replication} endpoints. -[template,ROOT:attachment$bundled-admin.yaml, partials="ROOT:partial$json_ui_listing.hbs"] +[template,rest-api:attachment$admin.overlaid.yaml, partials="partial$json_ui_listing.hbs"] -- {{#each-openapi components.schemas.Replication}} {{> json_ui_listing}} diff --git a/modules/ROOT/partials/json_ui_listing.hbs b/modules/configuration/partials/json_ui_listing.hbs similarity index 100% rename from modules/ROOT/partials/json_ui_listing.hbs rename to modules/configuration/partials/json_ui_listing.hbs From b1d39ec4b0b28486c00f86630b8b0783d0cf882e Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 1 Apr 2026 18:00:44 +0100 Subject: [PATCH 08/20] Remove adoc yaml parser --- modules/ROOT/assets/attachments/README.adoc | 6 ------ .../config/adoc_yaml_parser_config.yaml | 13 ------------- .../assets/attachments/dist/adoc_yaml_parser | Bin 7129360 -> 0 bytes 3 files changed, 19 deletions(-) delete mode 100644 modules/ROOT/assets/attachments/README.adoc delete mode 100644 modules/ROOT/assets/attachments/config/adoc_yaml_parser_config.yaml delete mode 100755 modules/ROOT/assets/attachments/dist/adoc_yaml_parser diff --git a/modules/ROOT/assets/attachments/README.adoc b/modules/ROOT/assets/attachments/README.adoc deleted file mode 100644 index 007d761fb..000000000 --- a/modules/ROOT/assets/attachments/README.adoc +++ /dev/null @@ -1,6 +0,0 @@ -= Generating Data Schemas - -Within modules/ROOT/assets/attachments, run `adoc_yaml_parser` -This will generate the required `SG_` files used by the `configuration-schema-.adoc` pages. - -The run is controlled by configuration settings in `config.yaml`. diff --git a/modules/ROOT/assets/attachments/config/adoc_yaml_parser_config.yaml b/modules/ROOT/assets/attachments/config/adoc_yaml_parser_config.yaml deleted file mode 100644 index f2230a2dd..000000000 --- a/modules/ROOT/assets/attachments/config/adoc_yaml_parser_config.yaml +++ /dev/null @@ -1,13 +0,0 @@ -params: - inDir: ./ - inFile: rest-api-admin - outDir: ./ - selectors: - - Bootstrap_model - - Database_model - - Replication_model - - Role_and_User_model -pyyaml_settings: - encoding: utf-8 - default_flow_style: false - sort_keys: false diff --git a/modules/ROOT/assets/attachments/dist/adoc_yaml_parser b/modules/ROOT/assets/attachments/dist/adoc_yaml_parser deleted file mode 100755 index c01abee2fb2b533563339eb7936a1a9fb70de620..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7129360 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

LLo;!-mUy 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%0AX0E!CP7^b*_YH(v?2|Lz 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

q7U@HH3XCS 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�%$3x&DcOwnJq>qvr&` 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%0A60>X}WLT9iAqu=z9m% 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

uJpgTO#yxyd4rN&M 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

_=yM!?JV^$1I&r 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⁡ln6y(`hpXx<5i;D7b$$m3RH{|7^% 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

qN(#ut?qlj*5 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 G);N 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

b^tz>0aSuP+c#=Mg!T0aj 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�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

;_WQ5(cz#5XFElJinDJTAeuCxZ^-CKFU& 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� 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

gx)ujEXPmw!)-Ush(QFFQl)oqkJ>6TOZZU| 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ⅆXH6l?^UHO4 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≺ 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ℑ@j|5(_fz1^_`1 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

i`4(CGh9_wHXT`}d4zQZ! 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 z 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

3^KpBnkM97TUmKIXJ>-LR=)Dg~Y$5vQT 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 bc^+N6?_#gT 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 z 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 z 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≥9lEFpz5_#E@0+Vk7e-O!wzBpu0|k+WoUsX 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

ZtW{ieO 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

mcBo?({8z{H|#UvDi_5i(Or1 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

h&fc1>kmQHFMEB}DS-~D{ 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
Sz8b(l){aVgyz|gW5lqacVB!hbp6@?P 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%0AUIhgBfX++G7R2iH1p=7KnLdnj}Jjo!>r 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

vrsXUJC97A6n<~62^hkP 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

3?9eAHtX)-W^MI1%N)L0gVko?zPdeHtpTzg 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%0D#+5w-Z+&%|^-2YR-+jUIX?KLulU@B=~ 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�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%0AHkR*T)6I`1!(ul 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