CRDB REST API Specifications

GET /crdb_tasks/{task_id}

Get the status of an executed task.

The status of a completed task is kept for 500 seconds by default.

Use the X-Result-TTL header parameter to control the task TTL.

Parameters:
  • task_id (string) – Task ID.
Status Codes:
Response JSON Object:
 
  • crdb_guid (string) – (read only)
  • errors[].cluster_name (string) – Cluster on which error occurred.
  • errors[].description (string) – Returned or generated error description.
  • errors[].error_code (string) – Returned or generated error code.
  • id (string) – (read only)
  • status (string) – Options: queued started finished failed (read only)
GET /crdbs

Get a list of all Active-Active database on the cluster.

Status Codes:
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • crdbs[].causal_consistency (boolean) – Enables causal consistency across crdt instances
  • crdbs[].default_db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • crdbs[].default_db_config.authentication_admin_pass (string) – Administrative databases access token
  • crdbs[].default_db_config.authentication_redis_pass (string) – Redis AUTH password
  • crdbs[].default_db_config.bigstore (boolean) – Database driver is Redis on Flash
  • crdbs[].default_db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • crdbs[].default_db_config.data_persistence (string) – Database on-disk persistence
  • crdbs[].default_db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • crdbs[].default_db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • crdbs[].default_db_config.memory_size (integer) – Database memory size limit, in bytes.
  • crdbs[].default_db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • crdbs[].default_db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • crdbs[].default_db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • crdbs[].default_db_config.port (integer) – TCP port for database access
  • crdbs[].default_db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • crdbs[].default_db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • crdbs[].default_db_config.replication (boolean) – Database replication
  • crdbs[].default_db_config.shard_key_regex[].regex (string) – (required)
  • crdbs[].default_db_config.shards_count (integer) – Number of database shards
  • crdbs[].default_db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • crdbs[].default_db_config.snapshot_policy[].secs (integer) – (required)
  • crdbs[].default_db_config.snapshot_policy[].writes (integer) – (required)
  • crdbs[].default_db_config.tls_mode (string) – Encrypt communication
  • crdbs[].encryption (boolean) – Encrypt communication
  • crdbs[].featureset_version (integer) – Active-Active database active FeatureSet version
  • crdbs[].guid (string) – The GUID of the Active-Active database.
  • crdbs[].instances[].cluster.credentials.password (string) – (required)
  • crdbs[].instances[].cluster.credentials.username (string) – (required)
  • crdbs[].instances[].cluster.name (string) – Cluster fully qualified name, used to unique identify the cluster. Typically this is the same as the hostname used in the URL, although in some configruations the URL may point to a different name/address. (required)
  • crdbs[].instances[].cluster.replication_endpoint (string) – Address to use for peer replication. If not specified, it is assumed that standard cluster naming conventions apply.
  • crdbs[].instances[].cluster.replication_tls_sni (string) – Cluster SNI for TLS connections.
  • crdbs[].instances[].cluster.url (string) – Cluster access URL. (required)
  • crdbs[].instances[].compression (integer) – Compression level when syncing from this source.
  • crdbs[].instances[].db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • crdbs[].instances[].db_config.authentication_admin_pass (string) – Administrative databases access token
  • crdbs[].instances[].db_config.authentication_redis_pass (string) – Redis AUTH password
  • crdbs[].instances[].db_config.bigstore (boolean) – Database driver is Redis on Flash
  • crdbs[].instances[].db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • crdbs[].instances[].db_config.data_persistence (string) – Database on-disk persistence
  • crdbs[].instances[].db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • crdbs[].instances[].db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • crdbs[].instances[].db_config.memory_size (integer) – Database memory size limit, in bytes.
  • crdbs[].instances[].db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • crdbs[].instances[].db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • crdbs[].instances[].db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • crdbs[].instances[].db_config.port (integer) – TCP port for database access
  • crdbs[].instances[].db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • crdbs[].instances[].db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • crdbs[].instances[].db_config.replication (boolean) – Database replication
  • crdbs[].instances[].db_config.shard_key_regex[].regex (string) – (required)
  • crdbs[].instances[].db_config.shards_count (integer) – Number of database shards
  • crdbs[].instances[].db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • crdbs[].instances[].db_config.snapshot_policy[].secs (integer) – (required)
  • crdbs[].instances[].db_config.snapshot_policy[].writes (integer) – (required)
  • crdbs[].instances[].db_config.tls_mode (string) – Encrypt communication
  • crdbs[].instances[].db_uid (string) – ID of local database instance. This field is likely to be empty for instances other than the local one.
  • crdbs[].instances[].id (integer) – Unique instance ID.
  • crdbs[].local_databases[].bdb_uid (string) – Local cluster Bdatabases UID.
  • crdbs[].local_databases[].id (integer) – Unique instance ID.
  • crdbs[].name (string) – Name of Active-Active database.
  • crdbs[].protocol_version (integer) – Active-Active database active protocol version
POST /crdbs

Create a new Active-Active database.

Request JSON Object:
 
  • causal_consistency (boolean) – Enables causal consistency across crdt instances
  • default_db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • default_db_config.authentication_admin_pass (string) – Administrative databases access token
  • default_db_config.authentication_redis_pass (string) – Redis AUTH password
  • default_db_config.bigstore (boolean) – Database driver is Redis on Flash
  • default_db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • default_db_config.data_persistence (string) – Database on-disk persistence
  • default_db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • default_db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • default_db_config.memory_size (integer) – Database memory size limit, in bytes.
  • default_db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • default_db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • default_db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • default_db_config.port (integer) – TCP port for database access
  • default_db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • default_db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • default_db_config.replication (boolean) – Database replication
  • default_db_config.shard_key_regex[].regex (string) – (required)
  • default_db_config.shards_count (integer) – Number of database shards
  • default_db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • default_db_config.snapshot_policy[].secs (integer) – (required)
  • default_db_config.snapshot_policy[].writes (integer) – (required)
  • default_db_config.tls_mode (string) – Encrypt communication
  • encryption (boolean) – Encrypt communication
  • featureset_version (integer) – Active-Active database active FeatureSet version
  • guid (string) – The GUID of the Active-Active database.
  • instances[].cluster.credentials.password (string) – (required)
  • instances[].cluster.credentials.username (string) – (required)
  • instances[].cluster.name (string) – Cluster fully qualified name, used to unique identify the cluster. Typically this is the same as the hostname used in the URL, although in some configruations the URL may point to a different name/address. (required)
  • instances[].cluster.replication_endpoint (string) – Address to use for peer replication. If not specified, it is assumed that standard cluster naming conventions apply.
  • instances[].cluster.replication_tls_sni (string) – Cluster SNI for TLS connections.
  • instances[].cluster.url (string) – Cluster access URL. (required)
  • instances[].compression (integer) – Compression level when syncing from this source.
  • instances[].db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • instances[].db_config.authentication_admin_pass (string) – Administrative databases access token
  • instances[].db_config.authentication_redis_pass (string) – Redis AUTH password
  • instances[].db_config.bigstore (boolean) – Database driver is Redis on Flash
  • instances[].db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • instances[].db_config.data_persistence (string) – Database on-disk persistence
  • instances[].db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • instances[].db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • instances[].db_config.memory_size (integer) – Database memory size limit, in bytes.
  • instances[].db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • instances[].db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • instances[].db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • instances[].db_config.port (integer) – TCP port for database access
  • instances[].db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • instances[].db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • instances[].db_config.replication (boolean) – Database replication
  • instances[].db_config.shard_key_regex[].regex (string) – (required)
  • instances[].db_config.shards_count (integer) – Number of database shards
  • instances[].db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • instances[].db_config.snapshot_policy[].secs (integer) – (required)
  • instances[].db_config.snapshot_policy[].writes (integer) – (required)
  • instances[].db_config.tls_mode (string) – Encrypt communication
  • instances[].db_uid (string) – ID of local database instance. This field is likely to be empty for instances other than the local one.
  • instances[].id (integer) – Unique instance ID.
  • local_databases[].bdb_uid (string) – Local cluster Bdatabases UID.
  • local_databases[].id (integer) – Unique instance ID.
  • name (string) – Name of Active-Active database.
  • protocol_version (integer) – Active-Active database active protocol version
Status Codes:
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • crdb_guid (string) – (read only)
  • errors[].cluster_name (string) – Cluster on which error occurred.
  • errors[].description (string) – Returned or generated error description.
  • errors[].error_code (string) – Returned or generated error code.
  • id (string) – (read only)
  • status (string) – Options: queued started finished failed (read only)
GET /crdbs/{crdb_guid}

Get a specific Active-Active database.

Parameters:
  • crdb_guid (string) – Globally unique Active-Active database ID (GUID).
Query Parameters:
 
  • instance_id (integer) – Instance from which to get the Active-Active database information.
Status Codes:
  • 200 OK – Active-Active database information is returned.
  • 401 Unauthorized – Unauthorized request. Invalid credentials
  • 404 Not Found – Database or configuration do not exist.
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • causal_consistency (boolean) – Enables causal consistency across crdt instances
  • default_db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • default_db_config.authentication_admin_pass (string) – Administrative databases access token
  • default_db_config.authentication_redis_pass (string) – Redis AUTH password
  • default_db_config.bigstore (boolean) – Database driver is Redis on Flash
  • default_db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • default_db_config.data_persistence (string) – Database on-disk persistence
  • default_db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • default_db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • default_db_config.memory_size (integer) – Database memory size limit, in bytes.
  • default_db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • default_db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • default_db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • default_db_config.port (integer) – TCP port for database access
  • default_db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • default_db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • default_db_config.replication (boolean) – Database replication
  • default_db_config.shard_key_regex[].regex (string) – (required)
  • default_db_config.shards_count (integer) – Number of database shards
  • default_db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • default_db_config.snapshot_policy[].secs (integer) – (required)
  • default_db_config.snapshot_policy[].writes (integer) – (required)
  • default_db_config.tls_mode (string) – Encrypt communication
  • encryption (boolean) – Encrypt communication
  • featureset_version (integer) – Active-Active database active FeatureSet version
  • guid (string) – The GUID of the Active-Active database.
  • instances[].cluster.credentials.password (string) – (required)
  • instances[].cluster.credentials.username (string) – (required)
  • instances[].cluster.name (string) – Cluster fully qualified name, used to unique identify the cluster. Typically this is the same as the hostname used in the URL, although in some configruations the URL may point to a different name/address. (required)
  • instances[].cluster.replication_endpoint (string) – Address to use for peer replication. If not specified, it is assumed that standard cluster naming conventions apply.
  • instances[].cluster.replication_tls_sni (string) – Cluster SNI for TLS connections.
  • instances[].cluster.url (string) – Cluster access URL. (required)
  • instances[].compression (integer) – Compression level when syncing from this source.
  • instances[].db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • instances[].db_config.authentication_admin_pass (string) – Administrative databases access token
  • instances[].db_config.authentication_redis_pass (string) – Redis AUTH password
  • instances[].db_config.bigstore (boolean) – Database driver is Redis on Flash
  • instances[].db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • instances[].db_config.data_persistence (string) – Database on-disk persistence
  • instances[].db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • instances[].db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • instances[].db_config.memory_size (integer) – Database memory size limit, in bytes.
  • instances[].db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • instances[].db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • instances[].db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • instances[].db_config.port (integer) – TCP port for database access
  • instances[].db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • instances[].db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • instances[].db_config.replication (boolean) – Database replication
  • instances[].db_config.shard_key_regex[].regex (string) – (required)
  • instances[].db_config.shards_count (integer) – Number of database shards
  • instances[].db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • instances[].db_config.snapshot_policy[].secs (integer) – (required)
  • instances[].db_config.snapshot_policy[].writes (integer) – (required)
  • instances[].db_config.tls_mode (string) – Encrypt communication
  • instances[].db_uid (string) – ID of local database instance. This field is likely to be empty for instances other than the local one.
  • instances[].id (integer) – Unique instance ID.
  • local_databases[].bdb_uid (string) – Local cluster Bdatabases UID.
  • local_databases[].id (integer) – Unique instance ID.
  • name (string) – Name of Active-Active database.
  • protocol_version (integer) – Active-Active database active protocol version
DELETE /crdbs/{crdb_guid}

Delete an Active-Active database.

Parameters:
  • crdb_guid (string) – Globally unique Active-Active database ID (GUID).
Status Codes:
  • 200 OK – Action was successful.
  • 401 Unauthorized – Unauthorized request. Invalid credentials
  • 404 Not Found – Configuration or Active-Active database not found.
  • 406 Not Acceptable – The Active-Active GUID is invalid or the Active-Active database was already deleted.
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • crdb_guid (string) – (read only)
  • errors[].cluster_name (string) – Cluster on which error occurred.
  • errors[].description (string) – Returned or generated error description.
  • errors[].error_code (string) – Returned or generated error code.
  • id (string) – (read only)
  • status (string) – Options: queued started finished failed (read only)
PATCH /crdbs/{crdb_guid}

Update Active-Active configuration.

This API is used to change CRDB configuration.

In order to add or remove instances please use POST crdbs/<crdb_guid>/updates

Parameters:
  • crdb_guid (string) – Globally unique Active-Active database ID (GUID).
Request JSON Object:
 
  • causal_consistency (boolean) – Enables causal consistency across crdt instances
  • default_db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • default_db_config.authentication_admin_pass (string) – Administrative databases access token
  • default_db_config.authentication_redis_pass (string) – Redis AUTH password
  • default_db_config.bigstore (boolean) – Database driver is Redis on Flash
  • default_db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • default_db_config.data_persistence (string) – Database on-disk persistence
  • default_db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • default_db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • default_db_config.memory_size (integer) – Database memory size limit, in bytes.
  • default_db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • default_db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • default_db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • default_db_config.port (integer) – TCP port for database access
  • default_db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • default_db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • default_db_config.replication (boolean) – Database replication
  • default_db_config.shard_key_regex[].regex (string) – (required)
  • default_db_config.shards_count (integer) – Number of database shards
  • default_db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • default_db_config.snapshot_policy[].secs (integer) – (required)
  • default_db_config.snapshot_policy[].writes (integer) – (required)
  • default_db_config.tls_mode (string) – Encrypt communication
  • encryption (boolean) – Encrypt communication
  • featureset_version (integer) – Active-Active database active FeatureSet version
  • guid (string) – The GUID of the Active-Active database.
  • instances[].cluster.credentials.password (string) – (required)
  • instances[].cluster.credentials.username (string) – (required)
  • instances[].cluster.name (string) – Cluster fully qualified name, used to unique identify the cluster. Typically this is the same as the hostname used in the URL, although in some configruations the URL may point to a different name/address. (required)
  • instances[].cluster.replication_endpoint (string) – Address to use for peer replication. If not specified, it is assumed that standard cluster naming conventions apply.
  • instances[].cluster.replication_tls_sni (string) – Cluster SNI for TLS connections.
  • instances[].cluster.url (string) – Cluster access URL. (required)
  • instances[].compression (integer) – Compression level when syncing from this source.
  • instances[].db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • instances[].db_config.authentication_admin_pass (string) – Administrative databases access token
  • instances[].db_config.authentication_redis_pass (string) – Redis AUTH password
  • instances[].db_config.bigstore (boolean) – Database driver is Redis on Flash
  • instances[].db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • instances[].db_config.data_persistence (string) – Database on-disk persistence
  • instances[].db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • instances[].db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • instances[].db_config.memory_size (integer) – Database memory size limit, in bytes.
  • instances[].db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • instances[].db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • instances[].db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • instances[].db_config.port (integer) – TCP port for database access
  • instances[].db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • instances[].db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • instances[].db_config.replication (boolean) – Database replication
  • instances[].db_config.shard_key_regex[].regex (string) – (required)
  • instances[].db_config.shards_count (integer) – Number of database shards
  • instances[].db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • instances[].db_config.snapshot_policy[].secs (integer) – (required)
  • instances[].db_config.snapshot_policy[].writes (integer) – (required)
  • instances[].db_config.tls_mode (string) – Encrypt communication
  • instances[].db_uid (string) – ID of local database instance. This field is likely to be empty for instances other than the local one.
  • instances[].id (integer) – Unique instance ID.
  • local_databases[].bdb_uid (string) – Local cluster Bdatabases UID.
  • local_databases[].id (integer) – Unique instance ID.
  • name (string) – Name of Active-Active database.
  • protocol_version (integer) – Active-Active database active protocol version
Status Codes:
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • crdb_guid (string) – (read only)
  • errors[].cluster_name (string) – Cluster on which error occurred.
  • errors[].description (string) – Returned or generated error description.
  • errors[].error_code (string) – Returned or generated error code.
  • id (string) – (read only)
  • status (string) – Options: queued started finished failed (read only)
PUT /crdbs/{crdb_guid}/flush

Flush an Active-Active database.

Parameters:
  • crdb_guid (string) – Globally unique Active-Active database ID (GUID).
Status Codes:
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • crdb_guid (string) – (read only)
  • errors[].cluster_name (string) – Cluster on which error occurred.
  • errors[].description (string) – Returned or generated error description.
  • errors[].error_code (string) – Returned or generated error code.
  • id (string) – (read only)
  • status (string) – Options: queued started finished failed (read only)
PUT /crdbs/{crdb_guid}/purge

Purge the data from an instance that was removed from the Active-Active database by force.

When you force the removal of an instance from an Active-Active database, the removed instance keeps the data and configuration according to the last successful synchronization.

To delete the data and configuration from the (forcefully) removed instance you must use this API (Must be executed locally on the removed instance).

Parameters:
  • crdb_guid (string) – Globally unique Active-Active database ID (GUID).
Request JSON Object:
 
  • instances[] (integer) – Unique instance ID.
Status Codes:
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • crdb_guid (string) – (read only)
  • errors[].cluster_name (string) – Cluster on which error occurred.
  • errors[].description (string) – Returned or generated error description.
  • errors[].error_code (string) – Returned or generated error code.
  • id (string) – (read only)
  • status (string) – Options: queued started finished failed (read only)
POST /crdbs/{crdb_guid}/updates

Modify Active-Active confgurarion.

IMPORTANT: This is a very powerful API and can cause damage if used wrongly.

In order to update topology (i.e. add or remove instances) you must use this API. For simple configuration updates it is recommended to use PATCH on /crdbs/<crdb_guid>

Updating default_db_config affects both existing and new instances that may be added.

When you update db_config, it changes the configuration of the database that you specify. This field overrides corresponding fields (if any) in default_db_config.

Parameters:
  • crdb_guid (string) – Globally unique Active-Active database ID (GUID).
Request JSON Object:
 
  • add_instances[].cluster.credentials.password (string) – (required)
  • add_instances[].cluster.credentials.username (string) – (required)
  • add_instances[].cluster.name (string) – Cluster fully qualified name, used to unique identify the cluster. Typically this is the same as the hostname used in the URL, although in some configruations the URL may point to a different name/address. (required)
  • add_instances[].cluster.replication_endpoint (string) – Address to use for peer replication. If not specified, it is assumed that standard cluster naming conventions apply.
  • add_instances[].cluster.replication_tls_sni (string) – Cluster SNI for TLS connections.
  • add_instances[].cluster.url (string) – Cluster access URL. (required)
  • add_instances[].compression (integer) – Compression level when syncing from this source.
  • add_instances[].db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • add_instances[].db_config.authentication_admin_pass (string) – Administrative databases access token
  • add_instances[].db_config.authentication_redis_pass (string) – Redis AUTH password
  • add_instances[].db_config.bigstore (boolean) – Database driver is Redis on Flash
  • add_instances[].db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • add_instances[].db_config.data_persistence (string) – Database on-disk persistence
  • add_instances[].db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • add_instances[].db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • add_instances[].db_config.memory_size (integer) – Database memory size limit, in bytes.
  • add_instances[].db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • add_instances[].db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • add_instances[].db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • add_instances[].db_config.port (integer) – TCP port for database access
  • add_instances[].db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • add_instances[].db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • add_instances[].db_config.replication (boolean) – Database replication
  • add_instances[].db_config.shard_key_regex[].regex (string) – (required)
  • add_instances[].db_config.shards_count (integer) – Number of database shards
  • add_instances[].db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • add_instances[].db_config.snapshot_policy[].secs (integer) – (required)
  • add_instances[].db_config.snapshot_policy[].writes (integer) – (required)
  • add_instances[].db_config.tls_mode (string) – Encrypt communication
  • add_instances[].db_uid (string) – ID of local database instance. This field is likely to be empty for instances other than the local one.
  • add_instances[].id (integer) – Unique instance ID.
  • crdb.causal_consistency (boolean) – Enables causal consistency across crdt instances
  • crdb.default_db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • crdb.default_db_config.authentication_admin_pass (string) – Administrative databases access token
  • crdb.default_db_config.authentication_redis_pass (string) – Redis AUTH password
  • crdb.default_db_config.bigstore (boolean) – Database driver is Redis on Flash
  • crdb.default_db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • crdb.default_db_config.data_persistence (string) – Database on-disk persistence
  • crdb.default_db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • crdb.default_db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • crdb.default_db_config.memory_size (integer) – Database memory size limit, in bytes.
  • crdb.default_db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • crdb.default_db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • crdb.default_db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • crdb.default_db_config.port (integer) – TCP port for database access
  • crdb.default_db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • crdb.default_db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • crdb.default_db_config.replication (boolean) – Database replication
  • crdb.default_db_config.shard_key_regex[].regex (string) – (required)
  • crdb.default_db_config.shards_count (integer) – Number of database shards
  • crdb.default_db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • crdb.default_db_config.snapshot_policy[].secs (integer) – (required)
  • crdb.default_db_config.snapshot_policy[].writes (integer) – (required)
  • crdb.default_db_config.tls_mode (string) – Encrypt communication
  • crdb.encryption (boolean) – Encrypt communication
  • crdb.featureset_version (integer) – Active-Active database active FeatureSet version
  • crdb.guid (string) – The GUID of the Active-Active database.
  • crdb.instances[].cluster.credentials.password (string) – (required)
  • crdb.instances[].cluster.credentials.username (string) – (required)
  • crdb.instances[].cluster.name (string) – Cluster fully qualified name, used to unique identify the cluster. Typically this is the same as the hostname used in the URL, although in some configruations the URL may point to a different name/address. (required)
  • crdb.instances[].cluster.replication_endpoint (string) – Address to use for peer replication. If not specified, it is assumed that standard cluster naming conventions apply.
  • crdb.instances[].cluster.replication_tls_sni (string) – Cluster SNI for TLS connections.
  • crdb.instances[].cluster.url (string) – Cluster access URL. (required)
  • crdb.instances[].compression (integer) – Compression level when syncing from this source.
  • crdb.instances[].db_config.aof_policy (string) – Policy for Append-Only File data persistence
  • crdb.instances[].db_config.authentication_admin_pass (string) – Administrative databases access token
  • crdb.instances[].db_config.authentication_redis_pass (string) – Redis AUTH password
  • crdb.instances[].db_config.bigstore (boolean) – Database driver is Redis on Flash
  • crdb.instances[].db_config.bigstore_ram_size (integer) – Memory size of RAM size
  • crdb.instances[].db_config.data_persistence (string) – Database on-disk persistence
  • crdb.instances[].db_config.max_aof_file_size (integer) – Hint for maximum AOF file size
  • crdb.instances[].db_config.max_aof_load_time (integer) – Hint for maximum AOF reload time
  • crdb.instances[].db_config.memory_size (integer) – Database memory size limit, in bytes.
  • crdb.instances[].db_config.oss_cluster (boolean) – Enables OSS Cluster mode
  • crdb.instances[].db_config.oss_cluster_api_preferred_ip_type (string) – Indicates preferred ip type in oss cluster API: internal/external
  • crdb.instances[].db_config.oss_sharding (boolean) – An alternative to shard_key_regex for using the common case of the oss shard hashing policy
  • crdb.instances[].db_config.port (integer) – TCP port for database access
  • crdb.instances[].db_config.proxy_policy (string) – The policy used for proxy binding to the endpoint
  • crdb.instances[].db_config.rack_aware (boolean) – Require the database to be always replicated across multiple racks
  • crdb.instances[].db_config.replication (boolean) – Database replication
  • crdb.instances[].db_config.shard_key_regex[].regex (string) – (required)
  • crdb.instances[].db_config.shards_count (integer) – Number of database shards
  • crdb.instances[].db_config.shards_placement (string) – Control the density of shards: should they reside on as few or as many nodes as possible
  • crdb.instances[].db_config.snapshot_policy[].secs (integer) – (required)
  • crdb.instances[].db_config.snapshot_policy[].writes (integer) – (required)
  • crdb.instances[].db_config.tls_mode (string) – Encrypt communication
  • crdb.instances[].db_uid (string) – ID of local database instance. This field is likely to be empty for instances other than the local one.
  • crdb.instances[].id (integer) – Unique instance ID.
  • crdb.local_databases[].bdb_uid (string) – Local cluster Bdatabases UID.
  • crdb.local_databases[].id (integer) – Unique instance ID.
  • crdb.name (string) – Name of Active-Active database.
  • crdb.protocol_version (integer) – Active-Active database active protocol version
  • force_update (boolean) – (Warning: This flag can cause unintended and dangerous changes) Force the configuration update and increment the configuration version even if there is no change to the configuration parameters. If you use force, you can mistakenly cause the other instances to update to the configuration version even though it was not changed.
  • remove_instances.force_remove (boolean) – Force removal of instance from the Active-Active database. Before we remove an instance from an Active-Active database, all of the operations that the instance received from clients must be propagated to the other instances. This is the safe method to remove an instance from the Active-Active database. If the instance does not have connectivity to other instances, the propagation fails and removal fails. To remove an instance that does not have connectivity to other instances, you must use the force flag. The removed instance keeps its data and configuration for the instance. After you remove an instance by force, you must use the purge_instances API on the removed instance.
  • remove_instances.instances[] (integer) – Unique instance ID.
Status Codes:
  • 200 OK – The request has been accepted.
  • 400 Bad Request – The posted Active-Active database contains invalid parameters.
  • 401 Unauthorized – Unauthorized request. Invalid credentials
  • 404 Not Found – Configuration, instance or Active-Active database not found.
  • 406 Not Acceptable – The posted Active-Active database cannot be accepted.
Request Headers:
 
  • X-Task-ID – Specified task ID.
  • X-Result-TTL – Time (in seconds) to keep task result.
Response JSON Object:
 
  • crdb_guid (string) – (read only)
  • errors[].cluster_name (string) – Cluster on which error occurred.
  • errors[].description (string) – Returned or generated error description.
  • errors[].error_code (string) – Returned or generated error code.
  • id (string) – (read only)
  • status (string) – Options: queued started finished failed (read only)