{
"openapi": "3.0.1",
"info": {
"title": "Redis Cloud API",
"description": "Redis Cloud API",
"contact": {
"name": "Customer Support",
"url": "https://support.redislabs.com",
"email": "support@redis.com"
},
"version": "Version 1"
},
"servers": [
{
"url": "https://api.redislabs.com/v1"
}
],
"security": [
{
"x-api-key": []
},
{
"x-api-secret-key": []
}
],
"tags": [
{
"name": "Account",
"description": "Current account and ownership information",
"x-order": "0"
},
{
"name": "Subscriptions - Flexible",
"description": "All operations related to flexible subscriptions lifecycle",
"x-order": "1"
},
{
"name": "Databases - Flexible",
"description": "All operations related to flexible databases lifecycle",
"x-order": "2"
},
{
"name": "Subscriptions - Fixed",
"description": "All operations related to fixed subscriptions lifecycle",
"x-order": "3"
},
{
"name": "Databases - Fixed",
"description": "All operations related to fixed databases lifecycle",
"x-order": "4"
},
{
"name": "Access Control List",
"description": "Data and operations related to access control list",
"x-order": "5"
},
{
"name": "Cloud Accounts",
"description": "All operations related to cloud accounts (AWS only)",
"x-order": "6"
},
{
"name": "Users",
"description": "Data and operations related to account's users",
"x-order": "7"
},
{
"name": "Tasks",
"description": "Displays information on long running operations",
"x-order": "8"
}
],
"paths": {
"/users/{userId}": {
"get": {
"tags": [
"Users"
],
"summary": "Get user by id",
"description": "Information on user identified by user Id",
"operationId": "getUserById",
"parameters": [
{
"name": "userId",
"in": "path",
"description": "User Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountUser"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Users"
],
"summary": "Update user",
"description": "Update an existing user by Id",
"operationId": "updateUser",
"parameters": [
{
"name": "userId",
"in": "path",
"description": "User Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountUserUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Users"
],
"summary": "Delete user",
"description": "Delete a user from current account",
"operationId": "deleteUserById",
"parameters": [
{
"name": "userId",
"in": "path",
"description": "User Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}": {
"get": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Get subscription by id",
"description": "Information on subscription identified by subscription Id",
"operationId": "getSubscriptionById",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Subscription"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Update subscription",
"description": "Update an existing subscription by Id",
"operationId": "updateSubscription",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SubscriptionUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Delete subscription",
"description": "Delete a subscription identified by subscription Id (subscription must be empty, i.e. cannot contain databases)",
"operationId": "deleteSubscriptionById",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/regions/peerings/{peeringId}": {
"put": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Update an active-active subscription VPC peering",
"description": "Update an existing VPC peering in an existing active-active subscription.",
"operationId": "updateActiveActiveVpcPeering",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "peeringId",
"in": "path",
"description": "VpcPeering Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveActiveVpcPeeringUpdateAwsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Delete an active-active subscription VPC peering",
"description": "Delete a VPC peering from an existing active-active subscription.",
"operationId": "deleteActiveActiveVpcPeering",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "peeringId",
"in": "path",
"description": "VpcPeering Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/peerings/{peeringId}": {
"put": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Update subscription peering",
"description": "Update an existing VPC peering in an existing subscription.",
"operationId": "updateVpcPeering",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "peeringId",
"in": "path",
"description": "VpcPeering Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VpcPeeringUpdateAwsRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Delete subscription peering",
"description": "Deletes a VPC peering identified by an id",
"operationId": "deleteVpcPeering",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "peeringId",
"in": "path",
"description": "VpcPeering Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/databases/{databaseId}": {
"get": {
"tags": [
"Databases - Flexible"
],
"summary": "Get database by id",
"description": "Information on a specific database identified by subscription Id and database Id",
"operationId": "getSubscriptionDatabaseByID",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Database"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Databases - Flexible"
],
"summary": "Update database",
"description": "Update an existing database",
"operationId": "updateDatabase",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DatabaseUpdateRequest"
},
"example": "{  \"dryRun\": false,  \"name\": \"Redis-database-example\",  \"memoryLimitInGb\": 5,  \"throughputMeasurement\": {    \"by\": \"operations-per-second\",    \"value\": 10000  },  \"dataPersistence\": \"none\",  \"dataEvictionPolicy\": \"allkeys-lru\",  \"alerts\": [    {      \"name\": \"dataset-size\",      \"value\": 85    }  ]}"
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Databases - Flexible"
],
"summary": "Delete database",
"description": "Delete a specific database identified by subscription Id and database Id",
"operationId": "deleteDatabaseById",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/databases/{databaseId}/regions": {
"put": {
"tags": [
"Databases - Flexible"
],
"summary": "Update active-active regions",
"description": "Update active-active local database properties",
"operationId": "updateCrdbLocalProperties",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CrdbUpdatePropertiesRequest"
},
"example": "{  \"memoryLimitInGb\": 5,  \"regions\": [    {      \"region\": \"us-east-1\",      \"localThroughputMeasurement\": {        \"region\": \"us-east-1\",        \"writeOperationsPerSecond\": 1000,        \"readOperationsPerSecond\": 2000      },      \"alerts\": [        {          \"name\": \"dataset-size\",          \"value\": 80        }      ]    }  ],  \"dataEvictionPolicy\": \"allkeys-lru\"}"
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/cidr": {
"get": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Get subscription CIDR",
"description": "Get CIDR  whitelist",
"operationId": "getCidrWhiteList",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Update subscription CIDR",
"description": "Update subscription CIDR whitelist",
"operationId": "updateSubscriptionCidrWhiteList",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CidrWhiteListUpdateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/subscriptions/{subscriptionId}": {
"get": {
"tags": [
"Subscriptions - Fixed"
],
"summary": "Get fixed subscription by id",
"description": "Information on fixed subscription identified by subscription Id",
"operationId": "getSubscriptionById_1",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedSubscription"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Subscriptions - Fixed"
],
"summary": "Update fixed subscription",
"description": "Update a fixed subscription",
"operationId": "updateSubscription_1",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedSubscriptionUpdateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Subscriptions - Fixed"
],
"summary": "Delete fixed subscription",
"description": "Delete a fixed subscription identified by subscription Id (subscription must be empty, i.e. cannot contain databases)",
"operationId": "deleteSubscriptionById_1",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/subscriptions/{subscriptionId}/databases/{databaseId}": {
"get": {
"tags": [
"Databases - Fixed"
],
"summary": "Get fixed database by id",
"description": "Information on a specific database identified by fixed subscription Id and database Id",
"operationId": "getSubscriptionDatabaseByID_1",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedDatabase"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Databases - Fixed"
],
"summary": "Update fixed database",
"description": "Update a specific database identified by a fixed subscription Id and database Id",
"operationId": "deleteFixedDatabaseByID",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedDatabaseUpdateRequest"
},
"example": "{  \"name\": \"Redis-fixed-database-example\",  \"dataPersistence\": \"none\",  \"dataEvictionPolicy\": \"allkeys-lru\",  \"replication\": true,  \"enableDefaultUser\": true,  \"alerts\": [    {      \"name\": \"datasets-size\",      \"value\": 80    }  ]}"
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Databases - Fixed"
],
"summary": "Delete fixed database",
"description": "Delete a specific database identified by a fixed subscription Id and database Id",
"operationId": "deleteFixedDatabaseByID_1",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/cloud-accounts/{cloudAccountId}": {
"get": {
"tags": [
"Cloud Accounts"
],
"summary": "Get cloud account by id",
"description": "Information on a specific cloud account",
"operationId": "getCloudAccountById",
"parameters": [
{
"name": "cloudAccountId",
"in": "path",
"description": "Cloud Account Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloudAccount"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Cloud Accounts"
],
"summary": "Update cloud account",
"description": "Update cloud account",
"operationId": "updateCloudAccount",
"parameters": [
{
"name": "cloudAccountId",
"in": "path",
"description": "Cloud Account Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloudAccountUpdateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Cloud Accounts"
],
"summary": "Delete cloud account",
"description": "Delete specified cloud account",
"operationId": "deleteCloudAccount",
"parameters": [
{
"name": "cloudAccountId",
"in": "path",
"description": "Cloud Account Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/acl/users/{aclUserId}": {
"get": {
"tags": [
"Access Control List"
],
"summary": "Get ACL user by id",
"description": "Information on an ACL user identified by ACL user Id",
"operationId": "getUserByID",
"parameters": [
{
"name": "aclUserId",
"in": "path",
"description": "ACL user ID",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ACLUser"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"put": {
"tags": [
"Access Control List"
],
"summary": "Update ACL user",
"description": "Update a new ACL user",
"operationId": "updateUser_1",
"parameters": [
{
"name": "aclUserId",
"in": "path",
"description": "ACL user ID",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AclUserUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Access Control List"
],
"summary": "Delete ACL user",
"description": "Delete an ACL user",
"operationId": "deleteUser",
"parameters": [
{
"name": "aclUserId",
"in": "path",
"description": "ACL user ID",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/acl/roles/{aclRoleId}": {
"put": {
"tags": [
"Access Control List"
],
"summary": "Update ACL role",
"description": "Update an ACL role",
"operationId": "updateRole",
"parameters": [
{
"name": "aclRoleId",
"in": "path",
"description": "ACL role ID",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AclRoleUpdateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Access Control List"
],
"summary": "Delete ACL role",
"description": "Delete an ACL role",
"operationId": "deleteAclRole",
"parameters": [
{
"name": "aclRoleId",
"in": "path",
"description": "ACL role ID",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/acl/redisRules/{aclRedisRuleId}": {
"put": {
"tags": [
"Access Control List"
],
"summary": "Update ACL redis rule",
"description": "Update an ACL redis rule",
"operationId": "updateRedisRule",
"parameters": [
{
"name": "aclRedisRuleId",
"in": "path",
"description": "ACL redis rule ID",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AclRedisRuleUpdateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Access Control List"
],
"summary": "Delete ACL redis rule",
"description": "Delete an ACL redis rule",
"operationId": "deleteRedisRule",
"parameters": [
{
"name": "aclRedisRuleId",
"in": "path",
"description": "ACL redis rule ID",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions": {
"get": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Get subscriptions",
"description": "Information on current account's subscriptions",
"operationId": "getAllSubscriptions",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountSubscriptions"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Create subscription",
"description": "Create a new subscription",
"operationId": "createSubscription",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SubscriptionCreateRequest"
},
"example": "{  \"name\": \"My new subscription\",  \"dryRun\": false,  \"deploymentType\": \"single-region\",  \"paymentMethod\": \"credit-card\",  \"paymentMethodId\": 0,  \"memoryStorage\": \"ram\",  \"persistentStorageEncryption\": true,  \"cloudProviders\": [    {      \"provider\": \"AWS\",      \"cloudAccountId\": 1,      \"regions\": [        {          \"region\": \"us-east-1\",          \"multipleAvailabilityZones\": false,          \"preferredAvailabilityZones\": [            \"string\"          ],          \"networking\": {            \"deploymentCIDR\": \"10.0.0.0/24\",            \"vpcId\": \"<vpc-identifier>\"          }        }      ]    }  ],  \"databases\": [    {      \"name\": \"Redis-database-example\",      \"protocol\": \"redis\",      \"memoryLimitInGb\": 1,      \"supportOSSClusterApi\": false,      \"dataPersistence\": \"none\",      \"replication\": true,      \"throughputMeasurement\": {        \"by\": \"operations-per-second\",        \"value\": 10000      },      \"localThroughputMeasurement\": [        {          \"region\": \"string\",          \"writeOperationsPerSecond\": 0,          \"readOperationsPerSecond\": 0        }      ],      \"modules\": [        {          \"name\": \"string\",          \"parameters\": {}        }      ],      \"quantity\": 1,      \"averageItemSizeInBytes\": 0    }  ]}"
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/regions": {
"get": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Get active-active subscription regions",
"description": "Get all regions of an active-active subscription",
"operationId": "getRegionsFromActiveActiveSubscription",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveActiveSubscriptionRegions"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Create active-active subscription region",
"description": "Create a new region in an active-active subscription",
"operationId": "addNewRegionToActiveActiveSubscription",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveActiveRegionCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"delete": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Delete active-active subscription regions",
"description": "Delete one or more regions from an active-active subscription",
"operationId": "deleteRegionsFromActiveActiveSubscription",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveActiveRegionDeleteRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/regions/peerings": {
"get": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Get an active-active subscription VPC peering",
"description": "Get VPC peering details for an active-active subscription.",
"operationId": "getActiveActiveVpcPeerings",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Create an active-active subscription VPC peering",
"description": "Create a new VPC peering in an existing active-active subscription.",
"operationId": "createActiveActiveVpcPeering",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveActiveVpcPeeringCreateBaseRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/peerings": {
"get": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Get Subscription peering",
"description": "Get VPC peering details. VPC peering for Google Cloud Provider must be enabled using the GCloud command line. For details, see documentation.",
"operationId": "getVpcPeering",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Subscriptions - Flexible"
],
"summary": "Create subscription peering",
"description": "Create a new VPC peering in an existing subscription. VPC peering for Google Cloud Provider must be enabled using the GCloud command line. For details, see documentation.",
"operationId": "createVpcPeering",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VpcPeeringCreateBaseRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/databases": {
"get": {
"tags": [
"Databases - Flexible"
],
"summary": "Get databases",
"description": "Information on databases belonging to subscription identified by subscription Id",
"operationId": "getSubscriptionDatabases",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
},
{
"name": "offset",
"in": "query",
"description": "Number of items to skip",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
},
"example": 0
},
{
"name": "limit",
"in": "query",
"description": "Maximum number of items to return",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
},
"example": 100
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountSubscriptionDatabases"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Databases - Flexible"
],
"summary": "Create database",
"description": "Create a new database",
"operationId": "createDatabase",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DatabaseCreateRequest"
},
"example": "{  \"dryRun\": false,  \"name\": \"Redis-database-example\",  \"port\": 10000,  \"memoryLimitInGb\": 1,  \"dataEvictionPolicy\": \"allkeys-lru\",  \"replication\": true,  \"throughputMeasurement\": {    \"by\": \"operations-per-second\",    \"value\": 10000  },  \"alerts\": [    {      \"name\": \"dataset-size\",      \"value\": 80    }  ]}"
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/databases/{databaseId}/import": {
"post": {
"tags": [
"Databases - Flexible"
],
"summary": "Import database",
"description": "Import data from an RDB file or a different Redis database",
"operationId": "importDatabase",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DatabaseImportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/subscriptions/{subscriptionId}/databases/{databaseId}/backup": {
"post": {
"tags": [
"Databases - Flexible"
],
"summary": "Backup database",
"description": "Manually backup a database into the destination defined for it",
"operationId": "backupDatabase",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DatabaseBackupRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/subscriptions": {
"get": {
"tags": [
"Subscriptions - Fixed"
],
"summary": "Get fixed subscriptions",
"description": "Information on current account's fixed subscriptions",
"operationId": "getAllSubscriptions_1",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedSubscriptions"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Subscriptions - Fixed"
],
"summary": "Create fixed subscription",
"description": "Create a new fixed subscription",
"operationId": "createSubscription_1",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedSubscriptionCreateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/subscriptions/{subscriptionId}/databases": {
"get": {
"tags": [
"Databases - Fixed"
],
"summary": "Get fixed databases",
"description": "Information on databases belonging to a fixed subscription identified by subscription Id",
"operationId": "getFixedSubscriptionDatabases",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32"
}
},
{
"name": "offset",
"in": "query",
"description": "Number of items to skip",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
},
"example": 0
},
{
"name": "limit",
"in": "query",
"description": "Maximum number of items to return",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
},
"example": 100
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountFixedSubscriptionDatabases"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Databases - Fixed"
],
"summary": "Create fixed database",
"description": "Create a new fixed database",
"operationId": "createFixedDatabase",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedDatabaseCreateRequest"
},
"example": "{  \"name\": \"Redis-fixed-database-example\",  \"protocol\": \"stack\",  \"dataPersistence\": \"none\",  \"dataEvictionPolicy\": \"allkeys-lru\",  \"replication\": true,  \"alerts\": [    {      \"name\": \"datasets-size\",      \"value\": 80    }  ]}"
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/import": {
"post": {
"tags": [
"Databases - Fixed"
],
"summary": "Import fixed database",
"description": "Import data from an RDB file or a different Redis database",
"operationId": "importDatabase_1",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedDatabaseImportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/backup": {
"post": {
"tags": [
"Databases - Fixed"
],
"summary": "Backup fixed database",
"description": "Manually backup a fixed database into the destination defined for it",
"operationId": "backupDatabase_1",
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"description": "Subscription Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "databaseId",
"in": "path",
"description": "Database Id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with new updated name)"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/cloud-accounts": {
"get": {
"tags": [
"Cloud Accounts"
],
"summary": "Get cloud accounts",
"description": "List all configured cloud accounts",
"operationId": "getCloudAccounts",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloudAccounts"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Cloud Accounts"
],
"summary": "Create cloud account",
"description": "Create cloud account",
"operationId": "createCloudAccount",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloudAccountCreateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/acl/users": {
"get": {
"tags": [
"Access Control List"
],
"summary": "Get ACL users",
"description": "Information on current account's ACL users",
"operationId": "getAllUsers_1",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountACLUsers"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Access Control List"
],
"summary": "Create ACL user",
"description": "Create a new ACL user",
"operationId": "createUser",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AclUserCreateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/acl/roles": {
"get": {
"tags": [
"Access Control List"
],
"summary": "Get ACL roles",
"description": "Information on current account's ACL roles",
"operationId": "getRoles",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountACLRoles"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Access Control List"
],
"summary": "Create ACL role",
"description": "Create a new ACL role",
"operationId": "createRole",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AclRoleCreateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/acl/redisRules": {
"get": {
"tags": [
"Access Control List"
],
"summary": "Get ACL redis rules",
"description": "Information on current account's ACL users",
"operationId": "getAllRedisRules",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountACLRedisRules"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
},
"post": {
"tags": [
"Access Control List"
],
"summary": "Create ACL redis rule",
"description": "Create a new ACL redis rule",
"operationId": "createRedisRule",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AclRedisRuleCreateRequest"
}
}
},
"required": true
},
"responses": {
"202": {
"description": "Accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to create requested resource (primarily due to not active resource)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"408": {
"description": "Request Timeout - The server didn't receive a complete request message within the server's allotted timeout period"
},
"409": {
"description": "Conflict - request could not be processed because of a conflict (primarily due to another resource that exist with the new name"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"422": {
"description": "Unprocessable Entity - The server understands the request, and the syntax of the request is correct, but it was unable to process the contained instructions"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/users": {
"get": {
"tags": [
"Users"
],
"summary": "Get users",
"description": "Information on current account's users",
"operationId": "getAllUsers",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountUsers"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/tasks": {
"get": {
"tags": [
"Tasks"
],
"summary": "Get tasks",
"description": "Currently active long running operations",
"operationId": "getAllTasks",
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TasksStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/tasks/{taskId}": {
"get": {
"tags": [
"Tasks"
],
"summary": "Get task by id",
"description": "Get specific long running operation, identified by Task Id",
"operationId": "getTaskById",
"parameters": [
{
"name": "taskId",
"in": "path",
"description": "Task Id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/regions": {
"get": {
"tags": [
"Account"
],
"summary": "Get flexible plans regions",
"description": "Lookup list of regions for cloud provider",
"operationId": "getSupportedRegions",
"parameters": [
{
"name": "provider",
"in": "query",
"description": "Provider Name",
"required": false,
"schema": {
"type": "string",
"enum": [
"AWS",
"GCP"
]
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Regions"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/payment-methods": {
"get": {
"tags": [
"Account"
],
"summary": "Get payment methods",
"description": "Lookup list of current Account's payment methods",
"operationId": "getAccountPaymentMethods",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaymentMethods"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/logs": {
"get": {
"tags": [
"Account"
],
"summary": "Get system log",
"description": "System log information for current account",
"operationId": "getAccountSystemLogs",
"parameters": [
{
"name": "offset",
"in": "query",
"description": "Number of items to skip",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
},
"example": 0
},
{
"name": "limit",
"in": "query",
"description": "Maximum number of items to return",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
},
"example": 100
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountSystemLogEntries"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/plans": {
"get": {
"tags": [
"Subscriptions - Fixed"
],
"summary": "Get Plans",
"description": "Lookup list of plans",
"operationId": "getAllFixedSubscriptionsPlans",
"parameters": [
{
"name": "provider",
"in": "query",
"description": "Cloud Provider Name",
"required": false,
"schema": {
"type": "string",
"enum": [
"AWS",
"GCP",
"AZURE"
]
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedSubscriptionsPlans"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/fixed/plans/{planId}": {
"get": {
"tags": [
"Subscriptions - Fixed"
],
"summary": "Get fixed subscription plan by id",
"description": "Information on a specific fixed subscription plan identified by plan Id",
"operationId": "getFixedSubscriptionsPlanById",
"parameters": [
{
"name": "planId",
"in": "path",
"description": "Fixed Subscription Plan ID",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FixedSubscriptionsPlan"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/database-modules": {
"get": {
"tags": [
"Account"
],
"summary": "Get modules",
"description": "Lookup list of database modules supported in current account (support may differ based on subscription and database settings)",
"operationId": "getSupportedDatabaseModules",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModulesData"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/data-persistence": {
"get": {
"tags": [
"Account"
],
"summary": "Get list of data persistence options",
"description": "Lookup list of data persistence values",
"operationId": "getDataPersistenceOptions",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataPersistenceOptions"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
},
"/": {
"get": {
"tags": [
"Account"
],
"summary": "Get current Account",
"description": "Current account and related information",
"operationId": "getCurrentAccount",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RootAccount"
}
}
}
},
"400": {
"description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error"
},
"401": {
"description": "Unauthorized - Authentication failed for requested resource"
},
"403": {
"description": "Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)"
},
"404": {
"description": "Not Found - The resource you were trying to reach was not found or does not exist"
},
"412": {
"description": "Precondition Failed - Feature flag for this flow is off"
},
"429": {
"description": "Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)"
},
"500": {
"description": "Internal system error - If this error persists, please contact customer support"
},
"503": {
"description": "Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support "
}
}
}
}
},
"components": {
"schemas": {
"FixedDatabaseUpdateRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"databaseId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"name": {
"type": "string",
"description": "Optional. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)",
"example": "Redis-fixed-database-example"
},
"memoryLimitInGb": {
"minimum": 0.1,
"exclusiveMinimum": false,
"type": "number",
"description": "Optional. Maximum memory usage for this specific database. Supported only for 'Pay-As-You-Go' subscriptions",
"format": "double",
"example": 1
},
"supportOSSClusterApi": {
"type": "boolean",
"description": "Optional. Support Redis open-source (OSS) Cluster API. Supported only for 'Pay-As-You-Go' subscriptions",
"example": true
},
"useExternalEndpointForOSSClusterApi": {
"type": "boolean",
"description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled. Supported only for 'Pay-As-You-Go' subscriptions",
"example": true
},
"enableDatabaseClustering": {
"type": "boolean",
"description": "Optional. Distributes database data to different cloud instances. Default: 'false'. Supported only for 'Pay-As-You-Go' subscriptions",
"example": false
},
"dataPersistence": {
"type": "string",
"description": "Optional. Rate of database data persistence (in persistent storage)",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"dataEvictionPolicy": {
"type": "string",
"description": "Optional. Data items eviction method",
"enum": [
"allkeys-lru",
"allkeys-lfu",
"allkeys-random",
"volatile-lru",
"volatile-lfu",
"volatile-random",
"volatile-ttl",
"noeviction"
]
},
"replication": {
"type": "boolean",
"description": "Optional. Databases replication"
},
"periodicBackupPath": {
"type": "string",
"description": "Optional. If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.",
"example": "s3://<backup-path>"
},
"sourceIps": {
"type": "array",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'",
"items": {
"type": "string",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'"
}
},
"replicaOf": {
"type": "array",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] ).",
"items": {
"type": "string",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] )."
}
},
"regexRules": {
"type": "array",
"description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions",
"items": {
"type": "string",
"description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions"
}
},
"clientSslCertificate": {
"type": "string",
"description": "Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Supported only for 'Pay-As-You-Go' subscriptions"
},
"enableTls": {
"type": "boolean",
"description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided. Supported only for 'Pay-As-You-Go' subscriptions"
},
"password": {
"type": "string",
"description": "Optional. Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated"
},
"enableDefaultUser": {
"type": "boolean",
"description": "Optional. When 'true', enables connecting to the database with the 'default' user. Default: 'true'"
},
"alerts": {
"type": "array",
"description": "Optional. Redis database alerts",
"items": {
"$ref": "#/components/schemas/DatabaseAlertSpec"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Fixed database update request"
},
"AclUserCreateRequest": {
"required": [
"name",
"password",
"role"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. ACL user name",
"example": "ACL-user-example"
},
"role": {
"type": "string",
"description": "Required. ACL role name",
"example": "Redis-role-example"
},
"password": {
"type": "string",
"description": "Required. Password to identify as user after creation.",
"example": "some-random-password"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "ACL user create request"
},
"AccountUserUpdateRequest": {
"required": [
"name"
],
"type": "object",
"properties": {
"userId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"name": {
"type": "string",
"description": "User name",
"example": "My new user name"
},
"role": {
"type": "string",
"description": "Role name",
"enum": [
"Owner",
"Member",
"Viewer",
"Manager"
]
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "User update request"
},
"CloudAccountCreateRequest": {
"required": [
"accessKeyId",
"accessSecretKey",
"consolePassword",
"consoleUsername",
"name",
"signInLoginUrl"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. Cloud account display name",
"example": "My new Cloud Account"
},
"provider": {
"type": "string",
"description": "Optional. Cloud provider. Default: 'AWS'",
"example": "AWS",
"enum": [
"AWS",
"GCP"
]
},
"accessKeyId": {
"type": "string",
"description": "Required. Cloud provider access key",
"example": "****"
},
"accessSecretKey": {
"type": "string",
"description": "Required. Cloud provider secret key",
"example": "****"
},
"consoleUsername": {
"type": "string",
"description": "Required. Cloud provider management console username",
"example": "me@mycompany.com"
},
"consolePassword": {
"type": "string",
"description": "Required. Cloud provider management console password",
"example": "****"
},
"signInLoginUrl": {
"type": "string",
"description": "Required. Cloud provider management console login URL",
"example": "https://<aws-account-identifier>.signin.aws.amazon.com/console"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Cloud Account definition"
},
"ModulesData": {
"type": "object",
"properties": {
"modules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Module"
}
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"example": "{  \"modules\": [    {      \"name\": \"RedisBloom\",      \"description\": \"Bloom Filter Module for Redis\",      \"parameters\": []    },    {      \"name\": \"RedisGraph\",      \"description\": \"A graph database on top of Redis which supports Open-Cypher query language\",      \"parameters\": [        {          \"name\": \"number-of-threads\",          \"description\": \"Number of threads used by RedisGraph\",          \"type\": \"integer\",          \"defaultValue\": 1,          \"required\": false        }      ]    },    {      \"name\": \"RedisJSON\",      \"description\": \"Native JSON Data Type for Redis\",      \"parameters\": []    },    {      \"name\": \"RediSearch\",      \"description\": \"High performance search index on top of Redis\",      \"parameters\": [        {          \"name\": \"number-of-documents\",          \"description\": \"Expected number of documents the database module will be indexing\",          \"type\": \"integer\",          \"defaultValue\": 1000000,          \"required\": false        }      ]    },    {      \"name\": \"RedisTimeSeries\",      \"description\": \"Time-Series data structure for redis\",      \"parameters\": []    }  ]}"
},
"ActiveActiveRegionDeleteRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"regions": {
"type": "array",
"description": "List of name of regions to delete",
"items": {
"$ref": "#/components/schemas/ActiveActiveRegionToDelete"
}
},
"dryRun": {
"type": "boolean",
"description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'true'",
"example": false
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Active active region deletion request message"
},
"PaymentMethods": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs Account payment methods",
"example": "{  \"accountId\": 1001,  \"paymentMethods\": [    {      \"id\": 2,      \"type\": \"Visa\",      \"creditCardEndsWith\": \"9**9\",      \"nameOnCard\": \"CAPI User\",      \"expirationMonth\": 2,      \"expirationYear\": 2023,      \"links\": []    }  ]}"
},
"AccountACLUsers": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "Redis list of ACL users in current account",
"example": "{  \"accountId\": 1001,  \"users\": [    {      \"id\": 1,      \"name\": \"user\",      \"role\": \"role-name\",      \"status\": \"active\",      \"links\": []    }  ]}"
},
"AclRoleRedisRuleSpec": {
"required": [
"databases",
"ruleName"
],
"type": "object",
"properties": {
"ruleName": {
"type": "string",
"description": "Required. ACL redis rule name",
"example": "Read-Only"
},
"databases": {
"type": "array",
"description": "Required. List of databaseId and subscriptionId pairs associated with the requested ACL role",
"items": {
"$ref": "#/components/schemas/AclRoleDatabaseSpec"
}
}
},
"description": "Optional. List of ACL redis rules to associated with the requested ACL role"
},
"AclRoleDatabaseSpec": {
"required": [
"databaseId",
"subscriptionId"
],
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"description": "Required. Subscription Id of the given database",
"format": "int32"
},
"databaseId": {
"type": "integer",
"description": "Required. Database Id that belong to the subscription",
"format": "int32"
},
"regions": {
"type": "array",
"description": "Optional. AA regions name belong to the given database, list of String comma separated",
"example": [],
"items": {
"type": "string",
"description": "Optional. AA regions name belong to the given database, list of String comma separated",
"example": "[]"
}
}
},
"description": "Required. List of databaseId and subscriptionId pairs associated with the requested ACL role"
},
"ActiveActiveSubscriptionRegions": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "List of active-active subscription regions",
"example": "{  \"subscriptionId\": 126,  \"regions\": [    {      \"regionId\": 1,      \"region\": \"us-east-1\",      \"deploymentCidr\": \"10.0.0.0/24\",      \"vpcId\": \"vpc-0bf863584c46321e4\",      \"databases\": [        {          \"databaseId\": 862,          \"databaseName\": \"Bdb\",          \"readOperationsPerSecond\": 500,          \"writeOperationsPerSecond\": 500,          \"links\": []        },        {          \"databaseId\": 864,          \"databaseName\": \"Bdb2\",          \"readOperationsPerSecond\": 1000,          \"writeOperationsPerSecond\": 1000,          \"links\": []        }      ],      \"links\": []    },    {      \"regionId\": 4,      \"region\": \"eu-west-1\",      \"deploymentCidr\": \"10.0.1.0/24\",      \"vpcId\": \"vpc-0108fb753063ecf8b\",      \"databases\": [        {          \"databaseId\": 862,          \"databaseName\": \"Bdb\",          \"readOperationsPerSecond\": 500,          \"writeOperationsPerSecond\": 500,          \"links\": []        },        {          \"databaseId\": 864,          \"databaseName\": \"Bdb2\",          \"readOperationsPerSecond\": 1000,          \"writeOperationsPerSecond\": 1000,          \"links\": []        }      ],      \"links\": []    }  ],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"https://api-cloudapi.qa.redislabs.com/v1/subscriptions/133876/regions\",      \"type\": \"GET\"    }  ]}"
},
"AccountFixedSubscriptionDatabases": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs Account Subscription Databases information",
"example": "{  \"accountId\": 40131,  \"subscription\": {    \"subscriptionId\": 154714,    \"numberOfDatabases\": 2,    \"databases\": [      {        \"databaseId\": 51324587,        \"name\": \"bdb\",        \"protocol\": \"stack\",        \"provider\": \"AWS\",        \"region\": \"us-east-1\",        \"status\": \"draft\",        \"planMemoryLimit\": 250,        \"memoryLimitMeasurementUnit\": \"MB\",        \"memoryUsedInMb\": 1,        \"memoryStorage\": \"ram\",        \"dataPersistence\": \"none\",        \"replication\": true,        \"dataEvictionPolicy\": \"noeviction\",        \"clustering\": {          \"enabled\": false,          \"regexRules\": [            {              \"ordinal\": 0,              \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"            },            {              \"ordinal\": 1,              \"pattern\": \"(?<tag>.*)\"            }          ],          \"hashingPolicy\": \"standard\"        },        \"security\": {          \"defaultUserEnabled\": true,          \"sourceIps\": [            \"0.0.0.0/0\"          ]        },        \"modules\": [          {            \"id\": 18534,            \"name\": \"searchlight\",            \"version\": \"2.2.6\",            \"description\": \"High performance search index on top of Redis (without clustering)\",            \"parameters\": []          },          {            \"id\": 18535,            \"name\": \"RedisBloom\",            \"version\": \"2.2.12\",            \"description\": \"Probabilistic Data Structures for Redis\",            \"parameters\": []          },          {            \"id\": 18536,            \"name\": \"RedisJSON\",            \"version\": \"2.0.6\",            \"description\": \"Native JSON Data Type for Redis\",            \"parameters\": []          },          {            \"id\": 18537,            \"name\": \"RedisTimeSeries\",            \"version\": \"1.6.8\",            \"description\": \"A time series database for Redis\",            \"parameters\": []          }        ],        \"alerts\": [          {            \"name\": \"connections-limit\",            \"value\": 80,            \"defaultValue\": 80          }        ],        \"backup\": {          \"remoteBackupEnabled\": false        },        \"links\": []      },      {        \"databaseId\": 51324586,        \"name\": \"firstDB\",        \"protocol\": \"stack\",        \"provider\": \"AWS\",        \"region\": \"us-east-1\",        \"status\": \"draft\",        \"planMemoryLimit\": 250,        \"memoryLimitMeasurementUnit\": \"MB\",        \"memoryUsedInMb\": 1,        \"memoryStorage\": \"ram\",        \"dataPersistence\": \"none\",        \"replication\": true,        \"dataEvictionPolicy\": \"noeviction\",        \"clustering\": {          \"enabled\": false,          \"regexRules\": [            {              \"ordinal\": 0,              \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"            },            {              \"ordinal\": 1,              \"pattern\": \"(?<tag>.*)\"            }          ],          \"hashingPolicy\": \"standard\"        },        \"security\": {          \"defaultUserEnabled\": true,          \"sourceIps\": [            \"0.0.0.0/0\"          ]        },        \"modules\": [          {            \"id\": 18529,            \"name\": \"searchlight\",            \"version\": \"2.2.6\",            \"description\": \"High performance search index on top of Redis (without clustering)\",            \"parameters\": []          },          {            \"id\": 18530,            \"name\": \"RedisBloom\",            \"version\": \"2.2.12\",            \"description\": \"Probabilistic Data Structures for Redis\",            \"parameters\": []          },          {            \"id\": 18531,            \"name\": \"RedisJSON\",            \"version\": \"2.0.6\",            \"description\": \"Native JSON Data Type for Redis\",            \"parameters\": []          },          {            \"id\": 18532,            \"name\": \"RedisTimeSeries\",            \"version\": \"1.6.8\",            \"description\": \"A time series database for Redis\",            \"parameters\": []          }        ],        \"alerts\": [          {            \"name\": \"connections-limit\",            \"value\": 80,            \"defaultValue\": 80          }        ],        \"backup\": {          \"remoteBackupEnabled\": false        },        \"links\": []      }    ],    \"links\": []  },  \"links\": [  ]}"
},
"DatabaseAlertSpec": {
"required": [
"name",
"value"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. Alert name",
"example": "dataset-size",
"enum": [
"dataset-size",
"datasets-size",
"throughput-higher-than",
"throughput-lower-than",
"latency",
"syncsource-error",
"syncsource-lag",
"connections-limit"
]
},
"value": {
"type": "integer",
"description": "Required. Alert value",
"format": "int32",
"example": 80
}
},
"description": "Optional. Redis database alerts"
},
"LocalThroughput": {
"type": "object",
"properties": {
"region": {
"type": "string"
},
"writeOperationsPerSecond": {
"type": "integer",
"format": "int64"
},
"readOperationsPerSecond": {
"type": "integer",
"format": "int64"
}
},
"description": "Local throughput for the regional instance of an Active-Active database"
},
"RootAccount": {
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"example": "{  \"account\": {    \"id\": 1001,    \"name\": \"Redis Labs\",    \"createdTimestamp\": \"2018-12-23T15:15:31Z\",    \"updatedTimestamp\": \"2022-10-12T10:54:10Z\",    \"pocStatus\": \"inactive\",    \"marketplaceStatus\": \"active\",    \"key\": {      \"name\": \"capi-api-key-name\",      \"accountId\": 1001,      \"accountName\": \"Redis Labs\",      \"allowedSourceIps\": [        \"0.0.0.0/0\"      ],      \"createdTimestamp\": \"2022-05-11T12:05:47Z\",      \"owner\": {        \"name\": \"CAPI user\",        \"email\": \"capi.user@redis.com\"      },      \"userAccountId\": 1,      \"httpSourceIp\": \"79.0.0.173\"    }  }}"
},
"ActiveActiveVpcPeeringCreateAwsRequest": {
"required": [
"awsAccountId",
"destinationRegion",
"vpcId"
],
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"sourceRegion": {
"type": "string",
"description": "Name of region to create a VPC peering from"
},
"destinationRegion": {
"type": "string",
"description": "Name of region to create a VPC peering to",
"example": "us-east-1"
},
"awsAccountId": {
"type": "string",
"description": "AWS Account uid",
"example": "<aws-account-id>"
},
"vpcId": {
"type": "string",
"description": "VPC Id",
"example": "<vpc-identifier>"
},
"vpcCidr": {
"type": "string",
"description": "Optional. VPC CIDR",
"example": "<10.10.10.0/24>"
},
"vpcCidrs": {
"type": "array",
"description": "Optional. List of VPC CIDRs",
"example": [
"<10.10.10.0/24>",
"<10.10.20.0/24>"
],
"items": {
"type": "string",
"description": "Optional. List of VPC CIDRs",
"example": "[\"<10.10.10.0/24>\",\"<10.10.20.0/24>\"]"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "VPC peering creation request message"
},
"SubscriptionUpdateRequest": {
"required": [
"name"
],
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"name": {
"type": "string",
"description": "Subscription name",
"example": "My new subscription name"
},
"paymentMethodId": {
"type": "integer",
"description": "Payment method Id",
"format": "int32"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Subscription update request"
},
"TaskStateUpdate": {
"type": "object",
"properties": {
"taskId": {
"type": "string",
"format": "uuid"
},
"commandType": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"initialized",
"received",
"processing-in-progress",
"processing-completed",
"processing-error"
]
},
"description": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"response": {
"$ref": "#/components/schemas/ProcessorResponse"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
}
},
"Database": {
"type": "object",
"properties": {
"databaseId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"example": "{  \"databaseId\": 1,  \"name\": \"DB-RCP-2-81-7\",  \"protocol\": \"redis\",  \"provider\": \"AWS\",  \"region\": \"us-east-1\",  \"redisVersionCompliance\": \"6.2.3\",  \"status\": \"active\",  \"memoryLimitInGb\": 2,  \"memoryUsedInMb\": 4,  \"memoryStorage\": \"ram\",  \"supportOSSClusterApi\": true,  \"useExternalEndpointForOSSClusterApi\": true,  \"dataPersistence\": \"snapshot-every-1-hour\",  \"replication\": false,  \"dataEvictionPolicy\": \"noeviction\",  \"throughputMeasurement\": {    \"by\": \"operations-per-second\",    \"value\": 2500  },  \"activatedOn\": \"2021-08-29T13:03:08Z\",  \"lastModified\": \"2021-08-29T13:03:08Z\",  \"publicEndpoint\": \"redis-17571.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571\",  \"privateEndpoint\": \"redis-17571.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571\",  \"replicaOf\": null,  \"clustering\": {    \"numberOfShards\": 1,    \"regexRules\": [      {        \"ordinal\": 1,        \"pattern\": \"(?<tag>.*)\"      },      {        \"ordinal\": 0,        \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"      }    ],    \"hashingPolicy\": \"standard\"  },  \"security\": {    \"enableDefaultUser\": true,    \"password\": \"redis123456redis\",    \"sslClientAuthentication\": false,    \"enableTls\": false,    \"sourceIps\": [      \"0.0.0.0/0\"    ]  },  \"modules\": [    {      \"id\": 18536,      \"name\": \"RedisJSON\",      \"version\": \"2.0.6\",      \"description\": \"Native JSON Data Type for Redis\",      \"parameters\": []    }  ],  \"alerts\": [],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"https://api-cloudapi.qa.redislabs.com/v1/subscriptions/120416/databases/51170941\",      \"type\": \"GET\"    }  ]}"
},
"FixedSubscriptionsPlan": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"size": {
"type": "number",
"format": "double"
},
"sizeMeasurementUnit": {
"type": "string"
},
"provider": {
"type": "string"
},
"region": {
"type": "string"
},
"regionId": {
"type": "integer",
"format": "int32"
},
"price": {
"type": "integer",
"format": "int32"
},
"priceCurrency": {
"type": "string"
},
"pricePeriod": {
"type": "string"
},
"maximumDatabases": {
"type": "integer",
"format": "int32"
},
"availability": {
"type": "string"
},
"connections": {
"type": "string"
},
"cidrAllowRules": {
"type": "integer",
"format": "int32"
},
"supportDataPersistence": {
"type": "boolean"
},
"supportInstantAndDailyBackups": {
"type": "boolean"
},
"supportReplication": {
"type": "boolean"
},
"supportClustering": {
"type": "boolean"
},
"customerSupport": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "Redis fixed subscription plan information",
"example": "{  \"id\": 16583,  \"name\": \"Cache 5GB\",  \"size\": 5,  \"sizeMeasurementUnit\": \"GB\",  \"provider\": \"AWS\",  \"region\": \"eu-west-1\",  \"regionId\": 4,  \"price\": 114,  \"priceCurrency\": \"USD\",  \"pricePeriod\": \"Month\",  \"maximumDatabases\": 32,  \"availability\": \"No replication\",  \"connections\": \"unlimited\",  \"cidrAllowRules\": 4,  \"supportDataPersistence\": true,  \"supportInstantAndDailyBackups\": true,  \"supportReplication\": false,  \"supportClustering\": true,  \"supportedAlerts\": [    \"throughput-higher-than\"  ],  \"customerSupport\": \"Standard\",  \"links\": [    {      \"rel\": \"self\",      \"href\": \"http://localhost:8081/v1/fixed/plans/16583\",      \"type\": \"GET\"    }  ]}"
},
"AccountACLRoles": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "Redis list of ACL roles in current account",
"example": "{  \"accountId\": 1001,  \"roles\": [    {      \"id\": 395,      \"name\": \"role-name\",      \"redisRules\": [        {          \"ruleId\": 7,          \"ruleName\": \"Full-Access\",          \"databases\": [            {              \"subscriptionId\": 126,              \"databaseId\": 1,              \"databaseName\": \"DB-RCP-2-81-7\"            }          ]        }      ],      \"users\": [],      \"status\": \"error\"    }  ]}"
},
"SubscriptionDatabaseSpec": {
"required": [
"memoryLimitInGb",
"name",
"protocol"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)",
"example": "Redis-database-example"
},
"protocol": {
"type": "string",
"description": "Optional. Database protocol: either 'redis' or 'memcached'. Default: 'redis'",
"enum": [
"redis",
"memcached"
]
},
"memoryLimitInGb": {
"minimum": 0.1,
"exclusiveMinimum": false,
"type": "number",
"description": "Required. Maximum memory usage for this specific database",
"format": "double",
"example": 1
},
"supportOSSClusterApi": {
"type": "boolean",
"description": "Optional. Support Redis open-source (OSS) Cluster API. Default: 'false'",
"example": false
},
"dataPersistence": {
"type": "string",
"description": "Optional. Rate of database data persistence (in persistent storage). Default: 'none'",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"replication": {
"type": "boolean",
"description": "Optional. Databases replication. Default: 'true'"
},
"throughputMeasurement": {
"$ref": "#/components/schemas/DatabaseThroughputSpec"
},
"localThroughputMeasurement": {
"type": "array",
"description": "Optional. Throughput measurement for an active-active subscription",
"items": {
"$ref": "#/components/schemas/LocalThroughput"
}
},
"modules": {
"type": "array",
"description": "Optional. Redis modules to be provisioned in the database",
"items": {
"$ref": "#/components/schemas/DatabaseModuleSpec"
}
},
"quantity": {
"type": "integer",
"description": "Optional. Number of databases (of this type) that will be created. Default: 1",
"format": "int32",
"example": 1
},
"averageItemSizeInBytes": {
"type": "integer",
"description": "Optional. Relevant only to ram-and-flash clusters. Estimated average size (measured in bytes) of the items stored in the database. Default: 1000",
"format": "int64"
}
},
"description": "Required. Databases specifications for each planned database"
},
"Subscription": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"paymentMethodId": {
"type": "integer",
"format": "int32"
},
"status": {
"type": "string"
},
"memoryStorage": {
"type": "string",
"enum": [
"ram",
"ram-and-flash"
]
},
"numberOfDatabases": {
"type": "integer",
"format": "int32"
},
"paymentMethodType": {
"type": "string",
"enum": [
"credit-card",
"marketplace"
]
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs Subscription information",
"example": "{  \"id\": 1206,  \"name\": \"updated new name\",  \"status\": \"active\",  \"deploymentType\": \"single-region\",  \"paymentMethodId\": 2,  \"memoryStorage\": \"ram\",  \"numberOfDatabases\": 6,  \"paymentMethodType\": \"credit-card\",  \"storageEncryption\": false,  \"subscriptionPricing\": [    {      \"type\": \"Shards\",      \"typeDetails\": \"high-throughput\",      \"quantity\": 7,      \"quantityMeasurement\": \"shards\",      \"pricePerUnit\": 0.124,      \"priceCurrency\": \"USD\",      \"pricePeriod\": \"hour\"    },    {      \"type\": \"EBS Volume\",      \"quantity\": 357,      \"quantityMeasurement\": \"GB\"    },    {      \"type\": \"c5.xlarge\",      \"quantity\": 4,      \"quantityMeasurement\": \"instances\"    },    {      \"type\": \"c5.4xlarge\",      \"quantity\": 2,      \"quantityMeasurement\": \"instances\"    },    {      \"type\": \"m5.large\",      \"quantity\": 1,      \"quantityMeasurement\": \"instances\"    }  ],  \"cloudDetails\": [    {      \"provider\": \"AWS\",      \"cloudAccountId\": 2,      \"totalSizeInGb\": 0.0272,      \"regions\": [        {          \"region\": \"us-east-1\",          \"networking\": [            {              \"deploymentCIDR\": \"10.0.0.0/24\",              \"subnetId\": \"subnet-009ce004ed90da8a6\"            }          ],          \"preferredAvailabilityZones\": [            \"us-east-1a\"          ],          \"multipleAvailabilityZones\": false        }      ],      \"links\": []    }  ],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"https://api-cloudapi.qa.redislabs.com/v1/subscriptions/120416\",      \"type\": \"GET\"    }  ]}"
},
"SubscriptionSpec": {
"required": [
"regions"
],
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "Optional. Cloud provider. Default: 'AWS'",
"example": "AWS",
"enum": [
"AWS",
"GCP"
]
},
"cloudAccountId": {
"type": "integer",
"description": "Optional. Cloud account identifier. Default: Redis internal cloud account (using Cloud Account Id = 1 implies using Redis internal cloud account). Note that a GCP subscription can be created only with Redis internal cloud account.",
"format": "int32",
"example": 1
},
"regions": {
"type": "array",
"description": "Required. Cloud networking details, per region (single region or multiple regions for Active-Active cluster only)",
"items": {
"$ref": "#/components/schemas/SubscriptionRegionSpec"
}
}
},
"description": "Required. Cloud hosting & networking details"
},
"CidrWhiteListUpdateRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"cidrIps": {
"type": "array",
"description": "CIDR values in an array format (example: ['10.1.1.0/32'])",
"items": {
"type": "string",
"description": "CIDR values in an array format (example: ['10.1.1.0/32'])"
}
},
"securityGroupIds": {
"type": "array",
"description": "AWS Security group identifier",
"items": {
"type": "string",
"description": "AWS Security group identifier"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Update subscription"
},
"FixedDatabaseCreateRequest": {
"required": [
"name"
],
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"name": {
"type": "string",
"description": "Required. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)",
"example": "Redis-fixed-database-example"
},
"protocol": {
"type": "string",
"description": "Optional. Database protocol: 'redis', 'memcached' or 'stack'. Default: 'stack'",
"enum": [
"redis",
"memcached",
"stack"
]
},
"memoryLimitInGb": {
"minimum": 0.1,
"exclusiveMinimum": false,
"type": "number",
"description": "Optional. Maximum memory usage for this specific database. Supported only for 'Pay-As-You-Go' subscriptions",
"format": "double",
"example": 1
},
"supportOSSClusterApi": {
"type": "boolean",
"description": "Optional. Support Redis open-source (OSS) Cluster API. Supported only for 'Pay-As-You-Go' subscriptions",
"example": true
},
"useExternalEndpointForOSSClusterApi": {
"type": "boolean",
"description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled. Supported only for 'Pay-As-You-Go' subscriptions",
"example": true
},
"enableDatabaseClustering": {
"type": "boolean",
"description": "Optional. Distributes database data to different cloud instances. Supported only for 'Pay-As-You-Go' subscriptions",
"example": false
},
"dataPersistence": {
"type": "string",
"description": "Optional. Rate of database data persistence (in persistent storage). Default: 'none'",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"dataEvictionPolicy": {
"type": "string",
"description": "Optional. Data items eviction method",
"enum": [
"allkeys-lru",
"allkeys-lfu",
"allkeys-random",
"volatile-lru",
"volatile-lfu",
"volatile-random",
"volatile-ttl",
"noeviction"
]
},
"replication": {
"type": "boolean",
"description": "Optional. Databases replication. Default: 'true'"
},
"periodicBackupPath": {
"type": "string",
"description": "Optional. If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.",
"example": "s3://<backup-path>"
},
"sourceIps": {
"type": "array",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'",
"items": {
"type": "string",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'"
}
},
"regexRules": {
"type": "array",
"description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions",
"items": {
"type": "string",
"description": "Optional. Shard regex rules. Relevant only for a sharded database. Supported only for 'Pay-As-You-Go' subscriptions"
}
},
"replicaOf": {
"type": "array",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] ).",
"items": {
"type": "string",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] )."
}
},
"clientSslCertificate": {
"type": "string",
"description": "Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Supported only for 'Pay-As-You-Go' subscriptions"
},
"enableTls": {
"type": "boolean",
"description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided. Supported only for 'Pay-As-You-Go' subscriptions"
},
"password": {
"type": "string",
"description": "Optional. Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated"
},
"alerts": {
"type": "array",
"description": "Optional. Redis database alerts",
"items": {
"$ref": "#/components/schemas/DatabaseAlertSpec"
}
},
"modules": {
"type": "array",
"description": "Optional. Redis modules to be provisioned in the database",
"items": {
"$ref": "#/components/schemas/DatabaseModuleSpec"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Fixed database definition"
},
"DatabaseModuleSpec": {
"required": [
"name"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. Redis module Id"
},
"parameters": {
"type": "object",
"additionalProperties": {
"type": "object",
"description": "Optional. Redis database module parameters (name and value), as relevant to the specific module (see modules parameters specification) ",
"example": {}
},
"description": "Optional. Redis database module parameters (name and value), as relevant to the specific module (see modules parameters specification) ",
"example": {}
}
},
"description": "Optional. Redis modules to be provisioned in the database"
},
"DatabaseUpdateRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"databaseId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"dryRun": {
"type": "boolean",
"description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'false'",
"example": false
},
"name": {
"type": "string",
"description": "Optional. Database name",
"example": "Redis-database-example-updated"
},
"memoryLimitInGb": {
"minimum": 0.1,
"exclusiveMinimum": false,
"type": "number",
"description": "Optional. Maximum memory usage for this specific database",
"format": "double",
"example": 1
},
"throughputMeasurement": {
"$ref": "#/components/schemas/DatabaseThroughputSpec"
},
"dataPersistence": {
"type": "string",
"description": "Optional. Rate of database data persistence (in persistent storage)",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"dataEvictionPolicy": {
"type": "string",
"description": "Optional. Data items eviction method",
"enum": [
"allkeys-lru",
"allkeys-lfu",
"allkeys-random",
"volatile-lru",
"volatile-lfu",
"volatile-random",
"volatile-ttl",
"noeviction"
]
},
"replication": {
"type": "boolean",
"description": "Optional. Databases replication"
},
"regexRules": {
"type": "array",
"description": "Optional. Shard regex rules. Relevant only for a sharded database",
"items": {
"type": "string",
"description": "Optional. Shard regex rules. Relevant only for a sharded database"
}
},
"replicaOf": {
"type": "array",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] ).",
"items": {
"type": "string",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'] )."
}
},
"supportOSSClusterApi": {
"type": "boolean",
"description": "Optional. Support Redis open-source (OSS) Cluster API",
"example": false
},
"useExternalEndpointForOSSClusterApi": {
"type": "boolean",
"description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled'. Default: 'false'",
"example": false
},
"password": {
"type": "string",
"description": "Optional. If specified, this password will be used to access the database. Can only be set if Database Protocol is REDIS",
"example": "P@ssw0rd"
},
"saslUsername": {
"type": "string",
"description": "Optional. If specified, this Memcached (SASL) username will be used to access the database. Can only be set if Database Protocol is Memcached",
"example": "mc-HR7gb"
},
"saslPassword": {
"type": "string",
"description": "Optional. If specified, this Memcached (SASL) password will be used to access the database. Can only be set if Database Protocol is Memcached",
"example": "7igza2WZ0UPgMyqjsxuIZtla8xBdzkJT"
},
"sourceIp": {
"type": "array",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )",
"items": {
"type": "string",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )"
}
},
"clientSslCertificate": {
"type": "string",
"description": "Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\""
},
"enableTls": {
"type": "boolean",
"description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided). If enableTls is set to false it will also remove the mTLS requirement (by erasing the content of the clientSslCertificate property). Default: 'false'"
},
"enableDefaultUser": {
"type": "boolean",
"description": "Optional. When 'true', enables connecting to the database with the 'default' user. Default: 'true'. Can only be set if Database Protocol is REDIS"
},
"periodicBackupPath": {
"type": "string",
"description": "Deprecated - If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.",
"example": "s3://<backup-path>"
},
"remoteBackup": {
"$ref": "#/components/schemas/DatabaseBackupConfig"
},
"alerts": {
"type": "array",
"description": "Optional. Redis database alerts",
"items": {
"$ref": "#/components/schemas/DatabaseAlertSpec"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Database update request"
},
"LocalRegionProperties": {
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Required. Name of the region to update its properties"
},
"remoteBackup": {
"$ref": "#/components/schemas/DatabaseBackupConfig"
},
"localThroughputMeasurement": {
"$ref": "#/components/schemas/LocalThroughput"
},
"dataPersistence": {
"type": "string",
"description": "Optional. Regional instance of an Active-Active database data persistence rate (in persistent storage)",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"password": {
"type": "string",
"description": "Optional. If specified, this regional instance of an Active-Active database password will be used to access the database",
"example": "P@ssw0rd"
},
"sourceIp": {
"type": "array",
"description": "Optional. List of regional instance of an Active-Active database source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )",
"items": {
"type": "string",
"description": "Optional. List of regional instance of an Active-Active database source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )"
}
},
"alerts": {
"type": "array",
"description": "Optional. Redis regional instance of an Active-Active database alerts",
"items": {
"$ref": "#/components/schemas/DatabaseAlertSpec"
}
}
},
"description": "Optional. List or regions to update"
},
"FixedSubscriptionCreateRequest": {
"required": [
"name",
"planId"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Fixed subscription name",
"example": "My new subscription"
},
"planId": {
"type": "integer",
"description": "A predefined fixed plan Id (see lookup API '/fixed/plans'). The plan defines the billing, deployment and configuration for the created subscription based on specific plan details",
"format": "int32"
},
"paymentMethodId": {
"type": "integer",
"description": "Optional. A valid payment method (credit card, wire transfer etc) pre-defined in the current account. It will be billed for any charges related to the created subscription.",
"format": "int32"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Fixed subscription create request"
},
"ActiveActiveVpcPeeringCreateBaseRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"sourceRegion": {
"type": "string",
"description": "Name of region to create a VPC peering from"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Active-Active VPC peering creation request message",
"oneOf": [
{
"$ref": "#/components/schemas/ActiveActiveVpcPeeringCreateAwsRequest"
},
{
"$ref": "#/components/schemas/ActiveActiveVpcPeeringCreateGcpRequest"
}
]
},
"SubscriptionRegionNetworkingSpec": {
"required": [
"deploymentCIDR"
],
"type": "object",
"properties": {
"deploymentCIDR": {
"type": "string",
"description": "Optional. Deployment CIDR mask. \nDefault: If using Redis internal cloud account, 192.168.0.0/24",
"example": "10.0.0.0/24"
},
"vpcId": {
"type": "string",
"description": "Optional. Either an existing VPC Id (already exists in the specific region) or create a new VPC (if no VPC is specified). VPC Identifier must be in a valid format (for example: 'vpc-0125be68a4625884ad') and existing within the hosting account",
"example": "<vpc-identifier>"
}
},
"description": "Optional. Cloud networking details, per region (single region or multiple regions for Active-Active cluster only). Default: if using Redis internal cloud account, 192.168.0.0/24"
},
"Regions": {
"type": "object",
"properties": {
"regions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Region"
}
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"example": "{  \"regions\": [    {      \"name\": \"us-east-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"us-west-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"us-west-2\",      \"provider\": \"AWS\"    },    {      \"name\": \"eu-west-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"eu-central-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"ap-northeast-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"ap-southeast-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"ap-southeast-2\",      \"provider\": \"AWS\"    },    {      \"name\": \"sa-east-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"us-east-2\",      \"provider\": \"AWS\"    },    {      \"name\": \"eu-west-2\",      \"provider\": \"AWS\"    },    {      \"name\": \"eu-west-3\",      \"provider\": \"AWS\"    },    {      \"name\": \"eu-north-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"ca-central-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"ap-east-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"ap-south-1\",      \"provider\": \"AWS\"    },    {      \"name\": \"asia-east1\",      \"provider\": \"GCP\"    },    {      \"name\": \"asia-east2\",      \"provider\": \"GCP\"    },    {      \"name\": \"asia-northeast1\",      \"provider\": \"GCP\"    },    {      \"name\": \"asia-northeast2\",      \"provider\": \"GCP\"    },    {      \"name\": \"asia-south1\",      \"provider\": \"GCP\"    },    {      \"name\": \"asia-southeast1\",      \"provider\": \"GCP\"    },    {      \"name\": \"australia-southeast1\",      \"provider\": \"GCP\"    },    {      \"name\": \"europe-north1\",      \"provider\": \"GCP\"    },    {      \"name\": \"europe-west1\",      \"provider\": \"GCP\"    },    {      \"name\": \"europe-west2\",      \"provider\": \"GCP\"    },    {      \"name\": \"europe-west3\",      \"provider\": \"GCP\"    },    {      \"name\": \"europe-west4\",      \"provider\": \"GCP\"    },    {      \"name\": \"europe-west6\",      \"provider\": \"GCP\"    },    {      \"name\": \"northamerica-northeast1\",      \"provider\": \"GCP\"    },    {      \"name\": \"southamerica-east1\",      \"provider\": \"GCP\"    },    {      \"name\": \"us-central1\",      \"provider\": \"GCP\"    },    {      \"name\": \"us-east1\",      \"provider\": \"GCP\"    },    {      \"name\": \"us-east4\",      \"provider\": \"GCP\"    },    {      \"name\": \"us-west1\",      \"provider\": \"GCP\"    },    {      \"name\": \"us-west2\",      \"provider\": \"GCP\"    }  ]}"
},
"FixedSubscriptionsPlans": {
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "Redis list of fixed subscriptions plans",
"example": "{  \"plans\": [    {      \"id\": 16643,      \"name\": \"Multi-AZ 5GB\",      \"size\": 5,      \"sizeMeasurementUnit\": \"GB\",      \"provider\": \"AWS\",      \"region\": \"us-east-1\",      \"regionId\": 1,      \"price\": 439,      \"priceCurrency\": \"USD\",      \"pricePeriod\": \"Month\",      \"maximumDatabases\": 32,      \"availability\": \"Multi-zone\",      \"connections\": \"unlimited\",      \"cidrAllowRules\": 16,      \"supportDataPersistence\": true,      \"supportInstantAndDailyBackups\": true,      \"supportReplication\": true,      \"supportClustering\": false,      \"supportedAlerts\": [        \"datasets-size\",        \"latency\",        \"throughput-lower-than\",        \"throughput-higher-than\"      ],      \"customerSupport\": \"Standard\",      \"links\": []    },    {      \"id\": 16708,      \"name\": \"Multi-AZ 250MB\",      \"size\": 250,      \"sizeMeasurementUnit\": \"MB\",      \"provider\": \"AWS\",      \"region\": \"us-east-1\",      \"regionId\": 1,      \"price\": 23,      \"priceCurrency\": \"USD\",      \"pricePeriod\": \"Month\",      \"maximumDatabases\": 8,      \"availability\": \"Multi-zone\",      \"connections\": \"256\",      \"cidrAllowRules\": 4,      \"supportDataPersistence\": true,      \"supportInstantAndDailyBackups\": true,      \"supportReplication\": true,      \"supportClustering\": false,      \"supportedAlerts\": [        \"connections-limit\",        \"latency\",        \"throughput-lower-than\",        \"throughput-higher-than\",        \"datasets-size\"      ],      \"customerSupport\": \"Standard\",      \"links\": []    }  ],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"http://localhost:8081/v1/fixed/plans?cloud_provider=AWS\",      \"type\": \"GET\"    }  ]}"
},
"ActiveActiveVpcPeeringUpdateAwsRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"vpcPeeringId": {
"type": "integer",
"description": "VPC Peering id to update",
"format": "int32",
"readOnly": true
},
"vpcCidr": {
"type": "string",
"description": "Optional. VPC CIDR",
"example": "<10.10.10.0/24>"
},
"vpcCidrs": {
"type": "array",
"description": "Optional. List of VPC CIDRs",
"example": [
"<10.10.10.0/24>",
"<10.10.22.0/24>"
],
"items": {
"type": "string",
"description": "Optional. List of VPC CIDRs",
"example": "[\"<10.10.10.0/24>\",\"<10.10.22.0/24>\"]"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Active-Active VPC peering update request message"
},
"AccountUsers": {
"type": "object",
"properties": {
"account": {
"type": "integer",
"format": "int32"
}
},
"description": "RedisLabs list of users in current account",
"example": "{  \"account\": 1001,  \"users\": [    {      \"id\": 60192,      \"name\": \"Clifford O'neill\",      \"email\": \"clifford.mail@gmail.com\",      \"role\": \"Viewer\",      \"userType\": \"Local\",      \"hasApiKey\": false,      \"options\": {        \"billing\": false,        \"emailAlerts\": false,        \"operationalEmails\": false,        \"mfaEnabled\": false      }    }  ]}"
},
"DataPersistenceEntry": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"description": "RedisLabs data persistence information"
},
"CloudAccounts": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs Cloud Accounts information",
"example": "{  \"accountId\": 40131,  \"cloudAccounts\": [    {      \"id\": 1,      \"name\": \"Redis Labs Internal Resources\",      \"provider\": \"AWS\",      \"status\": \"active\",      \"links\": []    },    {      \"id\": 2,      \"name\": \"CAPI User \",      \"provider\": \"AWS\",      \"status\": \"active\",      \"accessKeyId\": \"A***A\",      \"links\": []    },    {      \"id\": 3,      \"name\": \"API Cloud account\",      \"provider\": \"AWS\",      \"status\": \"active\",      \"accessKeyId\": \"A***4\",      \"links\": []    }  ],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"https://api-cloudapi.qa.redislabs.com/v1/cloud-accounts\",      \"type\": \"GET\"    }  ]}"
},
"CrdbUpdatePropertiesRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"databaseId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"name": {
"type": "string",
"description": "Optional. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)",
"example": "Redis-database-example"
},
"dryRun": {
"type": "boolean",
"description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'false'",
"example": false
},
"memoryLimitInGb": {
"minimum": 0.1,
"exclusiveMinimum": false,
"type": "number",
"description": "Optional. Maximum memory usage for this specific database",
"format": "double"
},
"supportOSSClusterApi": {
"type": "boolean",
"description": "Optional. Support Redis open-source (OSS) Cluster API"
},
"useExternalEndpointForOSSClusterApi": {
"type": "boolean",
"description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled. Default: 'false'",
"example": false
},
"clientSslCertificate": {
"type": "string",
"description": "Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'"
},
"enableTls": {
"type": "boolean",
"description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided)"
},
"globalDataPersistence": {
"type": "string",
"description": "Optional. Global rate of database data persistence (in persistent storage) of regions that dont override global settings. Default: 'none'",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"globalPassword": {
"type": "string",
"description": "Optional. Password to access the database of regions that dont override global settings."
},
"globalSourceIp": {
"type": "array",
"description": "Optional. List of source IP addresses or subnet masks of regions that dont override global settings. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )",
"items": {
"type": "string",
"description": "Optional. List of source IP addresses or subnet masks of regions that dont override global settings. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges (example: ['192.168.10.0/32', '192.168.12.0/24'] )"
}
},
"globalAlerts": {
"type": "array",
"description": "Optional. Redis database alerts of regions that don't override global settings",
"items": {
"$ref": "#/components/schemas/DatabaseAlertSpec"
}
},
"regions": {
"type": "array",
"description": "Optional. List or regions to update",
"items": {
"$ref": "#/components/schemas/LocalRegionProperties"
}
},
"dataEvictionPolicy": {
"type": "string",
"description": "Optional. Data items eviction method.",
"enum": [
"allkeys-lru",
"allkeys-lfu",
"allkeys-random",
"volatile-lru",
"volatile-lfu",
"volatile-random",
"volatile-ttl",
"noeviction"
]
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Active-Active database update local properties request message"
},
"AclRedisRuleCreateRequest": {
"required": [
"name",
"redisRule"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. ACL redis rule name",
"example": "ACL-rule-example"
},
"redisRule": {
"type": "string",
"description": "Required. ACL redis rule pattern"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "ACL redis rule create request"
},
"SubscriptionRegionSpec": {
"required": [
"region"
],
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Required. Deployment region as defined by cloud provider",
"example": "us-east-1"
},
"multipleAvailabilityZones": {
"type": "boolean",
"description": "Optional. Support deployment on multiple availability zones within the selected region. Default: 'false'",
"example": false
},
"preferredAvailabilityZones": {
"type": "array",
"description": "Optional. Availability zones deployment preferences (for the selected provider & region). Example = '['us-east-1a', 'us-east-1c', 'us-east-2e']'",
"items": {
"type": "string",
"description": "Optional. Availability zones deployment preferences (for the selected provider & region). Example = '['us-east-1a', 'us-east-1c', 'us-east-2e']'"
}
},
"networking": {
"$ref": "#/components/schemas/SubscriptionRegionNetworkingSpec"
}
},
"description": "Required. Cloud networking details, per region (single region or multiple regions for Active-Active cluster only)"
},
"VpcPeeringUpdateAwsRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"vpcPeeringId": {
"type": "integer",
"description": "VPC Peering ID to update",
"format": "int32",
"readOnly": true
},
"vpcCidr": {
"type": "string",
"description": "Optional. VPC CIDR",
"example": "<10.10.10.0/24>"
},
"vpcCidrs": {
"type": "array",
"description": "Optional. List of VPC CIDRs",
"example": [
"<10.10.10.0/24>",
"<10.10.20.0/24>"
],
"items": {
"type": "string",
"description": "Optional. List of VPC CIDRs",
"example": "[\"<10.10.10.0/24>\",\"<10.10.20.0/24>\"]"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "VPC peering update request message"
},
"FixedSubscriptions": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs list of fixed subscriptions in current account",
"example": "{  \"accountId\": 40131,  \"subscriptions\": [    {      \"id\": 151367,      \"name\": \"fixed-1\",      \"status\": \"active\",      \"paymentMethodId\": 8241,      \"paymentMethodType\": \"credit-card\",      \"planId\": 16755,      \"planName\": \"Standard 1GB\",      \"size\": 1,      \"sizeMeasurementUnit\": \"GB\",      \"provider\": \"AWS\",      \"region\": \"us-east-1\",      \"price\": 71,      \"pricePeriod\": \"Month\",      \"priceCurrency\": \"USD\",      \"maximumDatabases\": 16,      \"availability\": \"Single-zone\",      \"connections\": \"1024\",      \"cidrAllowRules\": 8,      \"supportDataPersistence\": true,      \"supportInstantAndDailyBackups\": true,      \"supportReplication\": true,      \"supportClustering\": false,      \"customerSupport\": \"Standard\",      \"creationDate\": \"2022-11-21T20:02:21+02:00\",      \"links\": []    },    {      \"id\": 120416,      \"name\": \"subscription-name\",      \"status\": \"active\",      \"paymentMethodId\": 123,      \"paymentMethodType\": \"credit-card\",      \"planId\": 123,      \"planName\": \"Standard 30MB\",      \"planType\": \"pay-as-you-go\",      \"size\": 30,      \"sizeMeasurementUnit\": \"MB\",      \"provider\": \"AWS\",      \"region\": \"us-east-1\",      \"price\": 0,      \"pricePeriod\": \"Month\",      \"priceCurrency\": \"USD\",      \"maximumDatabases\": 1,      \"availability\": \"no-replication\",      \"connections\": 30,      \"cidrAllowRules\": 1,      \"supportDataPersistence\": false,      \"supportInstantAndDailyBackups\": false,      \"supportReplication\": false,      \"supportClustering\": false,      \"customerSupport\": \"basic\",      \"creationDate\": \"20-Nov-2022\",      \"links\": []    }  ],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"http://localhost:8081/v1/fixed/subscriptions\",      \"type\": \"GET\"    }  ]}"
},
"VpcPeeringCreateGcpRequest": {
"required": [
"vpcNetworkName",
"vpcProjectUid"
],
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"vpcProjectUid": {
"type": "string",
"description": "VPC project uid",
"example": "<vpc-identifer>"
},
"vpcNetworkName": {
"type": "string",
"description": "VPC network name",
"example": "<name>"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Vpc peering creation request message"
},
"DatabaseCreateRequest": {
"required": [
"memoryLimitInGb",
"name"
],
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"dryRun": {
"type": "boolean",
"description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'true'",
"example": false
},
"name": {
"type": "string",
"description": "Required. Database name (Database name must be up to 40 characters long, include only letters, digits, or hyphen ('-'), start with a letter, and end with a letter or digit)",
"example": "Redis-database-example"
},
"protocol": {
"type": "string",
"description": "Optional. Database protocol: either 'redis' or 'memcached'. Default: 'redis'",
"enum": [
"redis",
"memcached"
]
},
"port": {
"type": "integer",
"description": "Optional. TCP port on which the database is available (10000-19999). Generated automatically if omitted",
"format": "int32",
"example": 10000
},
"memoryLimitInGb": {
"minimum": 0.1,
"exclusiveMinimum": false,
"type": "number",
"description": "Required. Maximum memory usage for this specific database",
"format": "double",
"example": 1
},
"supportOSSClusterApi": {
"type": "boolean",
"description": "Optional. Support Redis open-source (OSS) Cluster API. Default: 'false'",
"example": false
},
"useExternalEndpointForOSSClusterApi": {
"type": "boolean",
"description": "Optional. Should use external endpoint for open-source (OSS) Cluster API. Can only be enabled if OSS Cluster API support is enabled'. Default: 'false'",
"example": false
},
"dataPersistence": {
"type": "string",
"description": "Optional. Rate of database data persistence (in persistent storage). Default: 'none'",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"dataEvictionPolicy": {
"type": "string",
"description": "Optional. Data items eviction method. Default: 'volatile-lru'",
"enum": [
"allkeys-lru",
"allkeys-lfu",
"allkeys-random",
"volatile-lru",
"volatile-lfu",
"volatile-random",
"volatile-ttl",
"noeviction"
]
},
"replication": {
"type": "boolean",
"description": "Optional. Databases replication. Default: 'true'"
},
"replicaOf": {
"type": "array",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380']).",
"items": {
"type": "string",
"description": "Optional. This database will be a replica of the specified Redis databases provided as one or more URI (sample format: 'redis://user:password@host:port)'. If the URI provided is Redis Cloud instance, only host and port should be provided (using the format: ['redis://endpoint1:6379', 'redis://endpoint2:6380'])."
}
},
"throughputMeasurement": {
"$ref": "#/components/schemas/DatabaseThroughputSpec"
},
"localThroughputMeasurement": {
"type": "array",
"description": "Optional. Throughput measurement for an active-active subscription",
"items": {
"$ref": "#/components/schemas/LocalThroughput"
}
},
"averageItemSizeInBytes": {
"type": "integer",
"description": "Optional. Relevant only to ram-and-flash subscriptions. Estimated average size (measured in bytes) of the items stored in the database, Default: 1000",
"format": "int64"
},
"periodicBackupPath": {
"type": "string",
"description": "Deprecated - If specified, automatic backups will be every 24 hours or database will be able to perform immediate backups to this path. If empty string is received, backup path will be removed. Optional.",
"example": "s3://<backup-path>"
},
"remoteBackup": {
"$ref": "#/components/schemas/DatabaseBackupConfig"
},
"sourceIp": {
"type": "array",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'",
"items": {
"type": "string",
"description": "Optional. List of source IP addresses or subnet masks. If specified, Redis clients will be able to connect to this database only from within the specified source IP addresses ranges. example value: '['192.168.10.0/32', '192.168.12.0/24']'"
}
},
"clientSslCertificate": {
"type": "string",
"description": "Optional. A string containing TLS/SSL certificate (public key) with new line characters replaced by \\n. If specified, mTLS authentication (with enableTls not specified or set to true) will be required to authenticate user connections. If empty string is received, SSL certificate will be removed and mTLS will not be required (note that TLS connection may still apply, depending on the value of the enableTls property). Default: 'null'\""
},
"enableTls": {
"type": "boolean",
"description": "Optional. When 'true', requires TLS authentication for all connections (mTLS with valid clientSslCertificate, regular TLS when the clientSslCertificate is not provided. Default: 'false'"
},
"password": {
"type": "string",
"description": "Optional. Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated. Can only be set if Database Protocol is REDIS"
},
"saslUsername": {
"type": "string",
"description": "Optional. Memcached (SASL) Username to access the database. If omitted, the username will be set to a 'mc-' prefix followed by a random 5 character long alphanumeric. Can only be set if Database Protocol is MEMCACHED"
},
"saslPassword": {
"type": "string",
"description": "Optional. Memcached (SASL) Password to access the database. If omitted, a random 32 character long alphanumeric password will be automatically generated. Can only be set if Database Protocol is MEMCACHED"
},
"alerts": {
"type": "array",
"description": "Optional. Redis database alerts",
"items": {
"$ref": "#/components/schemas/DatabaseAlertSpec"
}
},
"modules": {
"type": "array",
"description": "Optional. Redis modules to be provisioned in the database",
"items": {
"$ref": "#/components/schemas/DatabaseModuleSpec"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Database definition"
},
"Region": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"provider": {
"type": "string",
"enum": [
"AWS",
"GCP"
]
}
},
"description": "RedisLabs region information"
},
"TasksStateUpdate": {
"type": "object",
"properties": {
"tasks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskStateUpdate"
}
}
}
},
"Module": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"description": "RedisLabs database module information"
},
"AclUserUpdateRequest": {
"type": "object",
"properties": {
"userId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"role": {
"type": "string",
"description": "Optional. ACL role name",
"example": "Redis-role-example"
},
"password": {
"type": "string",
"description": "Optional. ACL User's password.",
"example": "some-random-password"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "ACL user update request"
},
"AclRedisRuleUpdateRequest": {
"required": [
"name",
"redisRule"
],
"type": "object",
"properties": {
"redisRuleId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"name": {
"type": "string",
"description": "Optional. ACL redis rule name",
"example": "ACL-rule-example"
},
"redisRule": {
"type": "string",
"description": "Optional. ACL redis rule pattern"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "ACL redis rule update request"
},
"ActiveActiveRegionToDelete": {
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Name of region to delete"
}
},
"description": "List of name of regions to delete"
},
"CloudAccount": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"accessKeyId": {
"type": "string"
},
"signInLoginUrl": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
},
"provider": {
"type": "string",
"enum": [
"AWS",
"GCP"
]
}
},
"description": "RedisLabs Cloud Account information",
"example": "{  \"id\": 1,  \"name\": \"Redis Labs Internal Resources\",  \"provider\": \"AWS\",  \"status\": \"active\",  \"links\": [    {      \"rel\": \"self\",      \"href\": \"https://api-cloudapi.qa.redislabs.com/v1/cloud-accounts/1\",      \"type\": \"GET\"    }  ]}"
},
"ProcessorResponse": {
"type": "object",
"properties": {
"resourceId": {
"type": "integer",
"format": "int32"
},
"additionalResourceId": {
"type": "integer",
"format": "int32"
},
"resource": {
"type": "object"
},
"error": {
"type": "string",
"enum": [
"UNAUTHORIZED",
"ACCOUNT_POC_INACTIVE_PENDING",
"CLOUD_ACCOUNT_NOT_ACTIVE",
"CLOUD_ACCOUNT_NOT_FOUND",
"CLOUD_ACCOUNT_USED",
"CLOUD_ACCOUNT_INVALID_CREDS",
"CLOUD_ACCOUNT_NAME_EXISTS",
"CLOUD_ACCOUNT_ACCESS_KEY_EXISTS",
"CLOUD_ACCOUNT_PERMISSION_FAILED",
"CLOUD_ACCOUNT_ALLOCATION_FAILURE",
"NOT_KNOWN_CLOUD_PROVIDER",
"MULTIPLE_CLOUD_PROVIDERS_NOT_SUPPORTED",
"SUBSCRIPTION_NOT_ACTIVE",
"SUBSCRIPTION_CONTAINS_NON_ACTIVE_DATABASE",
"SUBSCRIPTION_NOT_FOUND",
"SUBSCRIPTION_IN_USE",
"SUBSCRIPTION_CA_PROVIDER_MISMATCH",
"SUBSCRIPTION_NETWORKING_MISSING",
"SUBSCRIPTION_NETWORKING_CIDR_MISSING",
"SUBSCRIPTION_INVALID_CIDR",
"SUBSCRIPTION_PI_NOT_FOUND",
"SUBSCRIPTION_INVALID_REGION",
"SUBSCRIPTION_BAD_PREFERRED_AZ_SIZE",
"SUBSCRIPTION_PREFERRED_AZ_INVALID_VALUE",
"SUBSCRIPTION_PREFERRED_AZ_MUST_BE_DEFINED_ONCE",
"ACTIVE_ACTIVE_SUBSCRIPTION_PREFERRED_AZ_NOT_SUPPORTED",
"SUBSCRIPTION_PREFERRED_AZ_IS_DISABLED",
"SUBSCRIPTION_MUST_HAVE_AT_LEAST_ONE_DATABASE",
"SUBSCRIPTION_GCP_ALLOW_ONLY_INTERNAL",
"CLUSTER_UNDER_MAINTENANCE",
"PLANNED_SUBSCRIPTION_INVALID_PLAN_ID",
"PLANNER_TIMEOUT",
"PLANNER_FAILURE",
"PLANNER_NOT_ENOUGH_AZS",
"PLANNER_INVALID_INSTANCE_TYPE_PER_AZ",
"PLANNER_MODULE_PLAN_CLUSTERING_ERROR",
"PLANNER_MODULE_PLAN_RESHARDING_ERROR",
"PLANNER_INVALID_PLAN",
"PLANNER_INVALID_SIZE",
"PLANNER_INVALID_NUMBER",
"PLANNER_INVALID_THROUGHPUT",
"PROVISION_FAILURE",
"DATABASE_NOT_ACTIVE",
"DATABASE_NOT_FOUND",
"DATABASE_SUBSCRIPTION_MISMATCH",
"DATABASE_CANT_EDIT_THROUGHPUT_BY",
"DATABASE_INVALID_SHARDS_COUNT",
"DATABASE_CONTAIN_MEMCACHED_USERNAME",
"DATABASE_CONTAIN_MEMCACHED_PASSWORD",
"DATABASE_THROUGHPUT_TOO_BIG",
"DATABASE_INVALID_THROUGHPUT_INCREMENT",
"DATABASE_MODULE_NOT_SUPPORTED",
"REDISEARCH_SUPPORTS_ONLY_NUM_OF_SHARDS_AS_THROUGHPUT_MEASUREMENT",
"REDIS_GRAPH_SUPPORTS_ONLY_OPS_PER_SECOND_AS_THROUGHPUT_MEASUREMENT",
"DATABASE_MULTI_MODULES_IS_DISABLED",
"DATABASE_PREVIEW_IS_DISABLED",
"DATABASE_PREVIEW_IS_NOT_SUPPORTED",
"DATABASE_ROF_DOES_NOT_SUPPORT_REDIS_VERSION",
"CLUSTER_MULTI_MODULES_IS_NOT_SUPPORTED",
"DATABASE_INVALID_MULTI_MODULES_COMBINATION",
"DATABASE_ROF_NOT_SUPPORTED",
"DATABASE_REDISGRAPH_OVERSIZED",
"DATABASE_BACKUP_NOT_SUPPORTED",
"DATABASE_EVICTION_NOT_SUPPORTED",
"DATABASE_AOF_NOT_SUPPORTED",
"DATABASE_REPLICA_OF_NOT_SUPPORTED",
"DATABASE_SNAPSHOT_NOT_SUPPORTED",
"DATABASE_CLUSTERING_NOT_SUPPORTED",
"DATABASE_INVALID_THREAD_NUMBER",
"DATABASE_HASH_NOT_SUPPORTED",
"DATABASE_RESHARD_NOT_SUPPORTED",
"DATABASE_FEATURE_NOT_SUPPORTED",
"DATABASE_NAME_EXISTS",
"DATABASE_NAME_DUPLICATE",
"DATABASE_INVALID_NAME",
"DATABASE_NAME_TOO_LONG",
"DATABASE_SIZE_TOO_SMALL",
"DATABASE_SIZE_TOO_BIG",
"DATABASE_SIZE_LIMIT_NOT_DEFINED",
"DATABASE_PASSWORD_IS_BLANK",
"DATABASE_PASSWORD_IS_TOO_LONG",
"DATABASE_REDIS_SEARCH_MODULE_VALUE_IS_NOT_INTEGER",
"DATABASE_REDIS_SEARCH_MODULE_VALUE_NOT_IN_RANGE",
"DATABASE_MODULE_MUST_BE_DEFINED_ONCE",
"DATABASE_MEMCACHED_CONTAINS_MODULES",
"DATABASE_MEMCACHED_NOT_SUPPORT_OSS_CLUSTER_API",
"DATABASE_MEMCACHED_CONTAINS_REDIS_PASSWORD",
"DATABASE_MEMCACHED_CONTAINS_REDIS_DEFAULT_USER",
"DATABASE_MEMCACHED_SASL_USERNAME_IS_BLANK",
"DATABASE_MEMCACHED_SASL_PASSWORD_IS_BLANK",
"DATABASE_MEMCACHED_SASL_PASSWORD_MAX_LENGTH",
"DATABASE_AVERAGE_ITEM_SIZE_NOT_ALLOWED",
"DATABASE_SIZE_SMALLER_THAN_USAGE",
"DATABASE_USAGE_EXCEEDS_GLOBAL_LIMIT",
"DATABASE_USAGE_EXCEEDS_LOCAL_LIMIT",
"DATABASE_INVALID_CERT",
"DATABASE_EXPIRED_CERT",
"DATABASE_MISSING_CERT",
"DATABASE_SIP_OVER_LIMIT",
"DATABASE_INVALID_SIP",
"DATABASE_INVALID_ALERTS",
"DATABASE_INVALID_MODULE",
"DATABASE_INVALID_MODULE_PARAMETER",
"DATABASE_INVALID_MODULE_PARAMETER_VALUE",
"DATABASE_INVALID_ALERT_VALUE",
"DATABASE_REGEX_RULES_NO_CLUSTERING",
"DATABASE_REGEX_RULES_CHANGES_BLOCKED",
"DATABASE_OSS_CLUSTER_NOT_SUPPORTED",
"DATABASE_EXTERNAL_ENDPOINT_WITHOUT_OSS_CLUSTER",
"CUSTOM_REGEX_RULES_IS_NOT_ALLOWED_WITHOUT_ENABLE_DATABASE_CLUSTERING_IS_TRUE",
"DATABASE_OSS_CLUSTER_CUSTOM_REGEX_NOT_SUPPORTED",
"DATABASE_OSS_CLUSTER_REPLICA_NOT_SUPPORTED",
"DATABASE_REPLICA_PER_SOURCE_OVER_LIMIT",
"DATABASE_REPLICA_CYCLE",
"DATABASE_INVALID_REPLICA",
"DATABASE_REPLICAS_OVER_LIMIT",
"DATABASE_BACKUP_DISABLED",
"DATABASE_BACKUP_FAILED",
"DATABASE_BACKUP_NOT_CONFIGURED",
"DATABASE_INVALID_BACKUP_PATH",
"DATABASE_INVALID_BACKUP_INTERVAL",
"DATABASE_INVALID_TOO_MANY_BACKUP_SPECIFICATIONS",
"DATABASE_INVALID_BACKUP_STORAGE_TYPE",
"DATABASE_INVALID_IMPORT_SOURCE_TYPE",
"DATABASE_INVALID_BACKUP_TIME_UTC",
"DATABASE_INVALID_BACKUP_INTERVAL_AND_TIME_UTC_MISMATCH",
"DATABASE_INVALID_BACKUP_PATH_USED_BY_ANOTHER_ACCOUNT",
"DATABASE_INVALID_BACKUP_CONFIGURATION",
"DATABASE_INVALID_REGEX_RULES",
"DATABASE_INVALID_QUANTITY",
"DATABASE_IMPORT_FAILED",
"DATABASE_IMPORT_FROM_NON_OSS",
"DATABASE_IMPORT_SOURCE_NOT_FOUND",
"DUPLICATE_DATABASE_IMPORT_SOURCE_PATH",
"DATABASE_IMPORT_WRONG_SIZE",
"DATABASE_IMPORT_URI_NOT_PROVIDED",
"DATABASE_IMPORT_MULTIPLE_REDIS_SOURCES",
"DATABASE_IMPORT_REDIS_BAD_URI",
"DATABASE_REPLICA_OF_BAD_URI",
"DATABASE_IMPORT_S3_BAD_URI",
"DATABASE_IMPORT_HTTP_BAD_URI",
"DATABASE_IMPORT_FTP_BAD_URI",
"DATABASE_IMPORT_AZURE_BAD_URI",
"DATABASE_IMPORT_GCS_BAD_URI",
"DATABASE_IMPORT_NOT_ALLOWED",
"DATABASE_PORT_INVALID_VALUE",
"DATABASE_PORT_IS_UNAVAILABLE",
"DATABASE_CUSTOM_PORT_NOT_SUPPORTED",
"DATABASE_AVERAGE_ITEM_SIZE_INVALID_VALUE",
"VPC_PEERING_NOT_ACTIVE",
"VPC_PEERING_GENERAL_ERROR",
"VPC_PEERING_INVALID_ACCOUNT",
"VPC_PEERING_INVALID_VPC",
"VPC_PEERING_INVALID_CIDR",
"VPC_PEERING_CIDR_IS_MISSING",
"VPC_PEERING_TOO_MANY_CIDR_SPECIFICATIONS",
"VPC_PEERING_INVALID_REGION",
"VPC_PEERING_ALREADY_EXIST",
"VPC_PEERING_NOT_FOUND",
"VPC_PEERING_INVALID_PROJECT",
"VPC_PEERING_CLUSTER_NOT_ACTIVE",
"VPC_PEERING_CIDR_OVERLAP",
"VPC_PEERING_BELONGS_TO_DIFFERENT_CLOUD_PROVIDER",
"VPC_PEERING_IS_NOT_KNOWN_CLOUD_PROVIDER",
"CREATING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"UPDATING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"DELETING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"DELETING_AN_ACTIVE_ACTIVE_VPC_PEERING_IS_NOT_ALLOWED_FOR_A_SUBSCRIPTION_WITH_NO_VPC_PEERINGS",
"ACTIVE_ACTIVE_VPC_PEERING_NOT_FOUND",
"VPC_PEERING_MULTIPLE_CIDRS_IS_DISABLED",
"CIDR_WHITELIST_GENERAL_ERROR",
"CIDR_WHITELIST_INVALID_CIDRS",
"CIDR_WHITELIST_INVALID_SG",
"CIDR_WHITELIST_LIMIT_EXCEEDED",
"CIDR_WHITELIST_DUPLICATE_CIDRS",
"CIDR_WHITELIST_DUPLICATE_SG",
"CIDR_WHITELIST_NOT_ALLOWED",
"AWS_ERROR_INSTANCE_LIMIT_EXCEEDED",
"AWS_ERROR_VPC_LIMIT_EXCEEDED",
"AWS_ERROR_INSUFFICIENT_INSTANCE_CAPACITY",
"AWS_ERROR_VOLUME_LIMIT_EXCEEDED",
"AWS_ERROR_MISMATCHING_CIDR",
"AWS_ERROR_CONFLICTING_CIDR",
"AWS_ERROR_VPC_DOES_NOT_EXIST",
"AWS_ERROR_EXISTING_VPC_EQUAL_TO_REQUESTED",
"PAYMENT_INFO_NOT_PROVIDED",
"PAYMENT_INFO_EXPIRED",
"PAYMENT_INFO_NOT_ALLOWED_IN_GCP_ACCOUNT",
"CLOUD_PROVIDER_IS_NOT_GCP_IN_GCP_ACCOUNT",
"PAYMENT_INFO_NOT_ALLOWED_IN_CONTRACT_ASSOCIATED_ACCOUNT",
"LOCAL_THROUGHPUT_READ_AND_WRITE_OPERATIONS_PER_SECOND_VALUES_MUST_BE_IN_INCREMENTS_OF_500",
"MISSING_REGIONS_BETWEEN_CLOUD_PROVIDERS_AND_DATABASES_LOCAL_THROUGHPUT_MEASUREMENTS",
"MISSING_REGIONS_BETWEEN_LOCAL_THROUGHPUT_MEASUREMENTS_AND_SUBSCRIPTION_REGIONS",
"CRDB_ACTIVE_ACTIVE_MISSING_LOCAL_THROUGHPUT_MEASUREMENT",
"CRDB_ACTIVE_ACTIVE_REGIONS_MUST_BE_DEFINED_ONCE",
"ACTIVE_ACTIVE_CREATE_A_REGION_MUST_CONTAIN_DATABASE_SPEC_TO_ALL_CRDBS_IN_SUBSCRIPTION",
"ACTIVE_ACTIVE_CREATE_A_REGION_MUST_CONTAIN_LOCAL_THROUGHPUT_MEASUREMENT_IN_DATABASE_SPEC",
"ACTIVE_ACTIVE_CREATE_A_REGION_MUST_BE_DEFINED_ONCE_PER_DATABASE",
"TOO_MANY_LOCAL_THROUGHPUT_MEASUREMENTS_DEFINED_FOR_SPECIFIED_ACTIVE_ACTIVE_SUBSCRIPTION",
"ACTIVE_ACTIVE_EXTERNAL_CA_NOT_SUPPORTED",
"ACTIVE_ACTIVE_RAM_AND_FLASH_MEMORY_STORAGE_NOT_SUPPORTED",
"ACTIVE_ACTIVE_DATABASE_MODULES_NOT_SUPPORTED",
"ACTIVE_ACTIVE_FOR_GCP_ACCOUNT_IS_NOT_SUPPORTED",
"ACTIVE_ACTIVE_DATABASE_ALERT_NOT_SUPPORTED",
"FLEXIBLE_DATABASE_ALERT_NOT_SUPPORTED",
"ACTIVE_ACTIVE_DATABASE_REPLICA_OF_NOT_SUPPORTED",
"ACTIVE_ACTIVE_DATABASE_PERIODIC_BACK_UP_PATH_NOT_ALLOWED",
"ACTIVE_ACTIVE_CHANGE_REQUEST_PLANNING_FAILED",
"ACTIVE_ACTIVE_CHANGE_REQUEST_PLANNING_EXPIRED",
"ACTIVE_ACTIVE_MISSING_LOCAL_THROUGHPUT_MEASUREMENT",
"ACTIVE_ACTIVE_BACKUP_MISSING_REGION_NAME",
"ACTIVE_ACTIVE_DATABASE_INVALID_CIDR_FORMAT",
"ACTIVE_ACTIVE_DATABASE_INVALID_CIDR_OVERLAPPING_OTHER_REGIONS",
"ACTIVE_ACTIVE_DATABASE_REPLICATION_CANNOT_BE_FALSE",
"ACTIVE_ACTIVE_REGIONS_MUST_BE_DEFINED_ONCE",
"ACTIVE_ACTIVE_SUBSCRIPTION_WITHOUT_REGIONS_IS_NOT_ALLOWED",
"ACTIVE_ACTIVE_DATABASE_MEMCACHED_PROTOCOL_IS_NOT_ALLOWED",
"ACTIVE_ACTIVE_DATABASE_SHARDING_MUST_BE_ENABLED",
"ACTIVE_ACTIVE_DATABASE_MISSING_DATABASE_CONFIGURATION",
"ACTIVE_ACTIVE_DATABASE_INVALID_THROUGHPUT",
"ACTIVE_ACTIVE_MISMATCH_BETWEEN_REQUEST_REGIONS_AND_SUBSCRIPTION_REGIONS",
"ACTIVE_ACTIVE_INVALID_UPDATE_DATABASE_NAME",
"ACTIVE_ACTIVE_INVALID_CREATE_REGION_NAME",
"ACTIVE_ACTIVE_INVALID_DELETE_REGION_NAME",
"ACTIVE_ACTIVE_INVALID_BACKUP_REGION_NAME",
"ACTIVE_ACTIVE_DELETE_REGIONS_MUST_BE_DEFINED_ONCE",
"ACTIVE_ACTIVE_DELETE_SUBSCRIPTION_MUST_BE_DEPLOYED_IN_AT_LEAST_ONE_REGION",
"ACTIVE_ACTIVE_REQUEST_GENERAL_ERROR",
"ACTIVE_ACTIVE_VPC_PEERING_INVALID_SOURCE_REGION_NAME",
"ACTIVE_ACTIVE_VPC_PEERING_INVALID_AWS_ACCOUNT",
"LOCAL_THROUGHPUT_MEASUREMENT_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"BACKUP_REGION_NAME_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"UPDATING_LOCAL_PROPERTIES_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"DISABLING_THE_DEFAULT_USER_AND_UPDATING_A_NEW_PASSWORD_IS_NOT_ALLOWED",
"NOT_ALLOWED_TO_UPDATE_A_DATABASE_PASSWORD_WHEN_DEFAULT_USER_IS_DISABLED",
"UPDATING_SINGLE_REGION_DATABASE_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION",
"GETTING_ACTIVE_ACTIVE_SUBSCRIPTION_VPC_PEERINGS_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"UPDATING_SINGLE_REGION_CIDR_WHITE_LIST_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION",
"GETTING_SINGLE_REGION_CIDR_WHITE_LIST_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION",
"ADDING_REGION_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"DELETING_REGION_IS_NOT_ALLOWED_WITH_SINGLE_REGION_SUBSCRIPTION",
"SINGLE_REGION_SUBSCRIPTION_MUST_DEFINE_ONLY_ONE_REGION",
"CREATING_A_SINGLE_REGION_VPC_PEERING_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION",
"UPDATING_A_SINGLE_REGION_VPC_PEERING_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION",
"DELETING_SINGLE_REGION_VPC_PEERING_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION",
"GETTING_SINGLE_REGION_VPC_PEERINGS_IS_NOT_ALLOWED_WITH_ACTIVE_ACTIVE_SUBSCRIPTION",
"FIXED_DATABASE_NAME_IS_MISSING",
"CREATING_FIXED_DATABASE_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION",
"UPDATING_FIXED_DATABASE_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION",
"DELETING_FIXED_DATABASE_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION",
"FIXED_DATABASE_MEMORY_LIMIT_IN_GB_SUPPORTED_ONLY_FOR_PAY_AS_YOU_GO",
"FIXED_DATABASE_FIXED_SUBSCRIPTION_REACHED_MAX_DATABASES_COUNT",
"FIXED_DATABASE_SOURCE_IPS_LIST_IS_GREATER_THAN_PLAN_MAX_COUNT_ALLOWED_SOURCE_IPS",
"FIXED_DATABASE_ENABLE_DATABASE_CLUSTERING_SUPPORTED_ONLY_FOR_PAY_AS_YOU_GO",
"FIXED_DATABASE_ENABLE_DATABASE_CLUSTERING_WITH_REDIS_SEARCH_OR_GRAPH_MODULES_IS_NOT_ALLOWED",
"FIXED_DATABASE_PAYG_MEMORY_LIMIT_IN_GB_IS_MISSING",
"FIXED_DATABASE_ALERT_NOT_SUPPORTED",
"PAY_AS_YOU_GO_DATABASE_ALERT_NOT_SUPPORTED",
"FIXED_DATABASE_REPLICA_OF_MEMCACHED_IS_NOT_SUPPORTED",
"FIXED_DATABASE_STACK_PROTOCOL_CONTAINS_MODULES",
"FIXED_DATABASE_STACK_PROTOCOL_IS_NOT_SUPPORTED_IN_SELECTED_PLAN_OR_CLUSTER",
"FIXED_DATABASE_REPLICATION_IS_NOT_SUPPORTED_IN_REQUESTED_PLAN",
"FIXED_DATABASE_OSS_CLUSTER_API_IS_NOT_SUPPORTED_IN_REQUESTED_PLAN",
"FIXED_DATABASE_USE_EXTERNAL_ENDPOINT_FOR_OSS_CLUSTER_API_NOT_SUPPORTED_IN_REQUESTED_PLAN",
"FIXED_DATABASE_REGEX_RULES_NOT_SUPPORTED_IN_REQUESTED_PLAN",
"FIXED_DATABASE_ENABLE_TLS_NOT_SUPPORTED_IN_REQUESTED_PLAN",
"FIXED_DATABASE_CLIENT_SSL_CERTIFICATE_NOT_SUPPORTED_IN_REQUESTED_PLAN",
"FIXED_DATABASE_REPLICA_OF_NOT_SUPPORTED_IN_REQUESTED_PLAN",
"FIXED_DATABASE_CLUSTER_DOES_NOT_SUPPORT_DATA_PERSISTENCE",
"FIXED_DATABASE_NO_EVICTION_IS_NOT_SUPPORTED_BY_CLUSTER",
"FIXED_DATABASE_DATA_EVICTION_POLICY_IS_NOT_SUPPORTED_BY_CLUSTER",
"FIXED_DATABASE_DATA_EVICTION_POLICY_IS_NOT_SUPPORTED_BY_SELECTED_MODULES",
"FIXED_DATABASE_REPLICA_OF_IS_NOT_SUPPORTED_BY_SELECTED_MODULES",
"FIXED_DATABASE_DATA_PERSISTENCE_VALUE_NOT_SUPPORTED_FOR_FIXED",
"FIXED_DATABASE_DATA_EVICTION_POLICY_IS_NOT_SUPPORTED_BY_ALL_MODULES_IN_SELECTED_PLAN_OR_CLUSTER",
"PAYMENT_INFO_NOT_ALLOWED_WHEN_ACCOUNT_POC_ACTIVE",
"VPC_ID_NOT_ALLOWED_WITH_INTERNAL_CLOUD_ACCOUNT",
"CLIENT_SSL_CERTIFICATE_IS_NOT_ALLOWED_WITHOUT_ENABLE_TLS_IS_TRUE",
"MARKETPLACE_PAYMENT_INFO_COLLISION",
"ACCOUNT_MARKETPLACE_IS_NOT_ACTIVE",
"PAYMENT_INVALID_CARD_NUMBER",
"PAYMENT_INVALID_CCV",
"PAYMENT_INVALID_CARD_TYPE",
"PAYMENT_CVV_MISSING",
"PAYMENT_GENERAL_ERROR",
"ACL_USER_NAME_ALREADY_EXISTS",
"ACL_USER_NAME_NOT_VALID",
"ACL_USER_NOT_FOUND",
"ACL_USER_NAME_IS_MISSING",
"ACL_ROLE_NAME_IS_MISSING",
"ACL_ROLE_REDIS_RULE_MUST_BE_DEFINED_ONLY_ONCE_PER_DATABASE",
"ACL_ROLE_REDIS_RULE_ALREADY_EXISTS_FOR_REQUESTED_RESOURCE",
"ACL_ROLE_REDIS_RULES_IS_MISSING",
"ACL_ROLE_REDIS_RULES_DATABASES_SPEC_IS_MISSING",
"ACL_ROLE_REDIS_RULES_DATABASES_DATABASE_ID_IS_MISSING",
"ACL_ROLE_REDIS_RULES_DATABASES_SUBSCRIPTION_ID_IS_MISSING",
"ACL_ROLE_REDIS_RULES_DATABASES_REGIONS_IS_MISSING",
"ACL_ROLE_REDIS_RULES_DATABASES_REGION_MUST_BE_CRDB",
"ACL_ROLE_REDIS_RULES_DATABASES_REGION_NOT_IN_PLAN",
"ACL_ROLE_REDIS_RULES_DATABASES_REGION_NOT_UNIQUE",
"ACL_ROLE_REDIS_RULES_DATABASES_REGION_IS_NOT_BELONGS_TO_DATABASE",
"ACL_ROLE_NAME_NOT_VALID",
"ACL_ROLE_DOES_NOT_EXISTS",
"ACL_USER_PASSWORD_NOT_VALID",
"ACL_USER_PASSWORD_IS_MISSING",
"ACL_USER_CREATION_FAILURE",
"ACL_REDIS_RULE_NAME_IS_MISSING",
"ACL_REDIS_RULE_NAME_ALREADY_EXISTS",
"ACL_REDIS_RULE_NAME_NOT_VALID",
"ACL_REDIS_RULE_NAME_NOT_IN_RANGE",
"ACL_REDIS_RULE_PATTERN_IS_MISSING",
"ACL_REDIS_RULE_PATTERN_NOT_VALID",
"ACL_REDIS_RULE_INVALID_PUBSUB_PATTERN",
"ACL_REDIS_RULE_ACCOUNT_NOT_SUPPORT_PUBSUB_PATTERN",
"ACL_REDIS_RULE_ALLCHANNELS_BEFORE_SPECIFIC_CHANNEL",
"ACL_REDIS_RULE_INVALID_CATEGORY_RULE_PATTERN",
"ACL_REDIS_RULE_INVALID_KEYSPACE_RULE_PATTERN",
"ACL_REDIS_RULE_INVALID_COMMAND_OR_MODULE_COMMAND_RULE_PATTERN",
"ACL_REDIS_RULE_ALLKEYS_BEFORE_SPECIFIC_KEY",
"ACL_REDIS_RULE_CREATION_FAILURE",
"ACL_REDIS_RULE_NOT_FOUND",
"ACL_REDIS_RULE_CANNOT_UPDATE_DEFAULT",
"ACL_REDIS_RULE_CANNOT_DELETE_DEFAULT",
"ACL_REDIS_RULE_CANNOT_DELETE_WHEN_ASSOCIATED_WITH_ROLES",
"ACL_REDIS_RULE_NOT_ACTIVE",
"ACL_GENERAL_ERROR",
"ACL_ROLE_NAME_ALREADY_EXISTS",
"ACL_ROLE_HAS_ACTIVE_USERS_AND_CANNOT_BE_DELETED",
"ACL_ROLE_IS_IN_PENDING_STATUS_AND_CANNOT_BE_DELETED",
"ACL_ROLE_IS_IN_PENDING_STATUS_AND_CANNOT_BE_UPDATED",
"ACL_ROLE_NOT_FOUND",
"ACL_ROLE_ID_IS_MISSING",
"ACL_REDIS_RULE_DOES_NOT_EXISTS",
"ACL_REDIS_RULE_INVALID_KEY_PERMISSION_PATTERN",
"ACL_REDIS_RULE_INVALID_SELECTORS_PATTERN",
"BDB_IS_NOT_IN_CORRECT_VERSION_FOR_GIVEN_ACL_VERSION",
"USER_NOT_FOUND",
"USER_INSUFFICIENT_ROLE",
"USER_NAME_IS_INVALID",
"USER_CANNOT_UPDATE_IT_IS_OWN_ROLE",
"USER_WITHOUT_OWNER_PERMISSION_CANNOT_UPDATE_USERS",
"USER_WITHOUT_OWNER_PERMISSION_CANNOT_PERFORM_ACTIONS_ON_USERS",
"USER_CANNOT_BE_UPDATED_OR_DELETED_BEFORE_VERIFICATION",
"USER_ROLE_DOES_NOT_EXISTS",
"USER_ROLE_IS_MISSING",
"USER_CANNOT_DELETE_OWN_USER",
"ENTITY_NOT_FOUND",
"FIXED_SUBSCRIPTION_PLAN_NOT_FOUND",
"FIXED_SUBSCRIPTION_PLAN_NOT_PROVIDED",
"FIXED_SUBSCRIPTION_ACCOUNT_ALREADY_HAS_A_FREE_PLAN",
"FIXED_MISMATCH_BETWEEN_REQUEST_PLAN_CLOUD_PROVIDER_AND_SUBSCRIPTION_CLOUD_PROVIDER",
"FIXED_MISMATCH_BETWEEN_REQUEST_PLAN_REGION_AND_SUBSCRIPTION_REGION",
"FIXED_SUBSCRIPTION_PLAN_MAX_DATABASES_SMALLER_THEN_CURRENT_SUBSCRIPTION_DATABASES_COUNT",
"FIXED_SUBSCRIPTION_PLAN_SIZE_SMALLER_THEN_CURRENT_SUBSCRIPTION_USAGE",
"FIXED_SUBSCRIPTION_PLAN_NOT_SUPPORT_REPLICA_OF",
"FIXED_SUBSCRIPTION_PLAN_DATABASES_ARE_RESTRICTED_TO_A_SINGLE_CLUSTER",
"FIXED_SUBSCRIPTION_PLAN_NOT_SUPPORT_TLS",
"FIXED_SUBSCRIPTION_PLAN_CANNOT_CHANGED_FROM_AVAILABILITY_OF_SINGLE_ZONE_OR_NO_REPLICATION_TO_MULTI_ZONE",
"FIXED_SUBSCRIPTION_PLAN_CANNOT_CHANGED_FROM_AVAILABILITY_OF_MULTI_ZONE_TO_SINGLE_ZONE_OR_NO_REPLICATION",
"FIXED_SUBSCRIPTION_PLAN_MAX_SOURCE_IPS_IS_SMALLER_THEN_ONE_OF_EXISTING_DATABSE_SOURCE_IPS",
"FIXED_SUBSCRIPTION_INVALID_NAME",
"FIXED_SUBSCRIPTION_NAME_NOT_PROVIDED",
"DELETING_A_FIXED_SUBSCRIPTION_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION",
"UPDATING_A_FIXED_SUBSCRIPTION_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION",
"UPDATING_A_FIXED_SUBSCRIPTION_PLAN_IS_NOT_ALLOWED_WHILE_THE_SUBSCRIPTION_OR_BDB_IS_PENDING",
"FIXED_PAYMENT_INFO_NOT_ALLOWED_IN_FREE_FIXED_PLAN",
"FREE_PLAN_IS_ALLOWED_ONLY_FOR_ACCOUNTS_WITH_VALID_PAYMENT_INFO",
"BACKUP_A_FIXED_DATABASE_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION",
"IMPORT_A_FIXED_DATABASE_IS_NOT_ALLOWED_WITH_A_FLEXIBLE_SUBSCRIPTION",
"TOO_MANY_PENDING_SUBSCRIPTIONS",
"BAD_REQUEST",
"GENERAL_ERROR",
"CONFLICT_ERROR",
"UNKNOWN_STATUS",
"DATABASE_NAME_CHANGE_NOT_SUPPORTED"
]
},
"additionalInfo": {
"type": "string"
}
}
},
"FixedSubscriptionUpdateRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"name": {
"type": "string",
"description": "Optional. Fixed subscription name",
"example": "My new subscription"
},
"planId": {
"type": "integer",
"description": "Optional. A predefined fixed plan Id (see lookup API '/fixed/plans'). The plan defines the billing, deployment and configuration for the created subscription based on specific plan details",
"format": "int32"
},
"paymentMethodId": {
"type": "integer",
"description": "Optional. A valid payment method (credit card, wire transfer etc) pre-defined in the current account. It will be billed for any charges related to the created subscription.",
"format": "int32"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Fixed subscription update request"
},
"AclRoleCreateRequest": {
"required": [
"name",
"redisRules"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. ACL role name",
"example": "ACL-role-example"
},
"redisRules": {
"type": "array",
"description": "Required. List of ACL redis rules to associated with the requested ACL role",
"items": {
"$ref": "#/components/schemas/AclRoleRedisRuleSpec"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "ACL role create request"
},
"DatabaseBackupRequest": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"databaseId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"regionName": {
"type": "string",
"description": "Optional. Name of cloud provider region where the local database is located. When backing up an active-active database, backup is done separately for each local database at a specified region."
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Database backup request message"
},
"AccountSubscriptionDatabases": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs Account Subscription Databases information",
"example": "{  \"accountId\": 1001,  \"subscription\": [    {      \"subscriptionId\": 1206,      \"numberOfDatabases\": 6,      \"databases\": [        {          \"databaseId\": 1,          \"name\": \"DB-RCP-2-81-7\",          \"protocol\": \"redis\",          \"provider\": \"AWS\",          \"region\": \"us-east-1\",          \"redisVersionCompliance\": \"6.2.3\",          \"status\": \"active\",          \"memoryLimitInGb\": 2,          \"memoryUsedInMb\": 4,          \"memoryStorage\": \"ram\",          \"supportOSSClusterApi\": true,          \"useExternalEndpointForOSSClusterApi\": true,          \"dataPersistence\": \"snapshot-every-1-hour\",          \"replication\": false,          \"dataEvictionPolicy\": \"noeviction\",          \"throughputMeasurement\": {            \"by\": \"operations-per-second\",            \"value\": 2500          },          \"activatedOn\": \"2021-08-29T13:03:08Z\",          \"lastModified\": \"2021-08-29T13:03:08Z\",          \"publicEndpoint\": \"redis-17571.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571\",          \"privateEndpoint\": \"redis-17571.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:17571\",          \"replicaOf\": null,          \"clustering\": {            \"numberOfShards\": 1,            \"regexRules\": [              {                \"ordinal\": 1,                \"pattern\": \"(?<tag>.*)\"              },              {                \"ordinal\": 0,                \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"              }            ],            \"hashingPolicy\": \"standard\"          },          \"security\": {            \"enableDefaultUser\": true,            \"sslClientAuthentication\": false,            \"enableTls\": false,            \"sourceIps\": [              \"0.0.0.0/0\"            ]          },          \"modules\": [            {              \"id\": 18536,              \"name\": \"RedisJSON\",              \"version\": \"2.0.6\",              \"description\": \"Native JSON Data Type for Redis\",              \"parameters\": []            }          ],          \"alerts\": [],          \"links\": []        },        {          \"databaseId\": 2,          \"name\": \"DB-RCP-2-81-5\",          \"protocol\": \"redis\",          \"provider\": \"AWS\",          \"region\": \"us-east-1\",          \"redisVersionCompliance\": \"6.2.3\",          \"status\": \"active\",          \"memoryLimitInGb\": 2,          \"memoryUsedInMb\": 3,          \"memoryStorage\": \"ram\",          \"supportOSSClusterApi\": true,          \"useExternalEndpointForOSSClusterApi\": true,          \"dataPersistence\": \"snapshot-every-1-hour\",          \"replication\": false,          \"dataEvictionPolicy\": \"noeviction\",          \"throughputMeasurement\": {            \"by\": \"operations-per-second\",            \"value\": 25000          },          \"activatedOn\": \"2021-08-29T13:03:27Z\",          \"lastModified\": \"2021-08-29T13:03:27Z\",          \"publicEndpoint\": \"redis-11836.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11836\",          \"privateEndpoint\": \"redis-11836.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11836\",          \"replicaOf\": null,          \"clustering\": {            \"numberOfShards\": 1,            \"regexRules\": [              {                \"ordinal\": 0,                \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"              },              {                \"ordinal\": 1,                \"pattern\": \"(?<tag>.*)\"              }            ],            \"hashingPolicy\": \"standard\"          },          \"security\": {            \"enableDefaultUser\": true,            \"sslClientAuthentication\": false,            \"enableTls\": false,            \"sourceIps\": [              \"0.0.0.0/0\"            ]          },          \"modules\": [            {              \"id\": 6652,              \"name\": \"RediSearch\",              \"version\": \"2.0.11\",              \"description\": \"High performance search index on top of Redis (with clustering)\",              \"parameters\": []            }          ],          \"alerts\": [],          \"links\": []        },        {          \"databaseId\": 3,          \"name\": \"Redis-database-example-updated\",          \"protocol\": \"redis\",          \"provider\": \"AWS\",          \"region\": \"us-east-1\",          \"redisVersionCompliance\": \"6.2.3\",          \"status\": \"active\",          \"memoryLimitInGb\": 2,          \"memoryUsedInMb\": 3,          \"memoryStorage\": \"ram\",          \"supportOSSClusterApi\": true,          \"useExternalEndpointForOSSClusterApi\": true,          \"dataPersistence\": \"snapshot-every-1-hour\",          \"replication\": false,          \"dataEvictionPolicy\": \"noeviction\",          \"throughputMeasurement\": {            \"by\": \"operations-per-second\",            \"value\": 2500          },          \"activatedOn\": \"2021-08-29T13:03:26Z\",          \"lastModified\": \"2021-08-29T13:03:26Z\",          \"publicEndpoint\": \"redis-19708.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:19708\",          \"privateEndpoint\": \"redis-19708.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:19708\",          \"replicaOf\": null,          \"clustering\": {            \"numberOfShards\": 1,            \"regexRules\": [              {                \"ordinal\": 1,                \"pattern\": \"(?<tag>.*)\"              },              {                \"ordinal\": 0,                \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"              }            ],            \"hashingPolicy\": \"standard\"          },          \"security\": {            \"enableDefaultUser\": false,            \"sslClientAuthentication\": false,            \"enableTls\": false,            \"sourceIps\": [              \"0.0.0.0/0\"            ]          },          \"modules\": [            {              \"id\": 18536,              \"name\": \"RedisJSON\",              \"version\": \"2.0.6\",              \"description\": \"Native JSON Data Type for Redis\",              \"parameters\": []            }          ],          \"alerts\": [],          \"links\": []        },        {          \"databaseId\": 4,          \"name\": \"DB-RCP-2-81-6\",          \"protocol\": \"redis\",          \"provider\": \"AWS\",          \"region\": \"us-east-1\",          \"redisVersionCompliance\": \"6.2.3\",          \"status\": \"active\",          \"memoryLimitInGb\": 2,          \"memoryUsedInMb\": 2,          \"memoryStorage\": \"ram\",          \"supportOSSClusterApi\": true,          \"useExternalEndpointForOSSClusterApi\": true,          \"dataPersistence\": \"snapshot-every-1-hour\",          \"replication\": false,          \"dataEvictionPolicy\": \"noeviction\",          \"throughputMeasurement\": {            \"by\": \"operations-per-second\",            \"value\": 25000          },          \"activatedOn\": \"2021-08-29T13:03:27Z\",          \"lastModified\": \"2021-08-29T13:03:27Z\",          \"publicEndpoint\": \"redis-14503.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:14503\",          \"privateEndpoint\": \"redis-14503.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:14503\",          \"replicaOf\": null,          \"clustering\": {            \"numberOfShards\": 1,            \"regexRules\": [              {                \"ordinal\": 1,                \"pattern\": \"(?<tag>.*)\"              },              {                \"ordinal\": 0,                \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"              }            ],            \"hashingPolicy\": \"standard\"          },          \"security\": {            \"enableDefaultUser\": true,            \"sslClientAuthentication\": false,            \"enableTls\": false,            \"sourceIps\": [              \"0.0.0.0/0\"            ]          },          \"modules\": [            {              \"id\": 6653,              \"name\": \"RedisTimeSeries\",              \"version\": \"1.4.10\",              \"description\": \"Time-Series data structure for redis\",              \"parameters\": []            }          ],          \"alerts\": [],          \"links\": []        },        {          \"databaseId\": 5,          \"name\": \"CI-tests-DO-NOT-DELETE\",          \"protocol\": \"redis\",          \"provider\": \"AWS\",          \"region\": \"us-east-1\",          \"redisVersionCompliance\": \"6.2.3\",          \"status\": \"active\",          \"memoryLimitInGb\": 1.1,          \"memoryUsedInMb\": 17,          \"memoryStorage\": \"ram\",          \"supportOSSClusterApi\": false,          \"useExternalEndpointForOSSClusterApi\": false,          \"dataPersistence\": \"none\",          \"replication\": true,          \"dataEvictionPolicy\": \"volatile-lru\",          \"throughputMeasurement\": {            \"by\": \"operations-per-second\",            \"value\": 25000          },          \"activatedOn\": \"2021-08-29T13:03:22Z\",          \"lastModified\": \"2021-08-29T13:03:22Z\",          \"publicEndpoint\": \"redis-11349.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11349\",          \"privateEndpoint\": \"redis-11349.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:11349\",          \"replicaOf\": null,          \"clustering\": {            \"numberOfShards\": 1,            \"regexRules\": [],            \"hashingPolicy\": \"standard\"          },          \"security\": {            \"enableDefaultUser\": true,            \"sslClientAuthentication\": false,            \"enableTls\": false,            \"sourceIps\": [              \"0.0.0.0/0\"            ]          },          \"modules\": [],          \"alerts\": [],          \"links\": []        },        {          \"databaseId\": 6,          \"name\": \"DB-RCP-2-81-4\",          \"protocol\": \"redis\",          \"provider\": \"AWS\",          \"region\": \"us-east-1\",          \"redisVersionCompliance\": \"6.2.3\",          \"status\": \"active\",          \"memoryLimitInGb\": 2,          \"memoryUsedInMb\": 3,          \"memoryStorage\": \"ram\",          \"supportOSSClusterApi\": true,          \"useExternalEndpointForOSSClusterApi\": true,          \"dataPersistence\": \"snapshot-every-1-hour\",          \"replication\": false,          \"dataEvictionPolicy\": \"noeviction\",          \"throughputMeasurement\": {            \"by\": \"operations-per-second\",            \"value\": 25000          },          \"activatedOn\": \"2021-08-29T13:03:27Z\",          \"lastModified\": \"2021-08-29T13:03:27Z\",          \"publicEndpoint\": \"redis-13074.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:13074\",          \"privateEndpoint\": \"redis-13074.internal.c235866.us-east-1-1.ec2.qa-cloud.rlrcp.com:13074\",          \"replicaOf\": null,          \"clustering\": {            \"numberOfShards\": 1,            \"regexRules\": [              {                \"ordinal\": 1,                \"pattern\": \"(?<tag>.*)\"              },              {                \"ordinal\": 0,                \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"              }            ],            \"hashingPolicy\": \"standard\"          },          \"security\": {            \"enableDefaultUser\": true,            \"sslClientAuthentication\": false,            \"enableTls\": false,            \"sourceIps\": [              \"0.0.0.0/0\"            ]          },          \"modules\": [            {              \"id\": 6651,              \"name\": \"RediSearch\",              \"version\": \"2.0.11\",              \"description\": \"High performance search index on top of Redis (with clustering)\",              \"parameters\": []            }          ],          \"alerts\": [],          \"links\": []        }      ],      \"links\": []    }  ],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"https://api-cloudapi.qa.redislabs.com/v1/subscriptions/120416/databases?offset=0&limit=100\",      \"type\": \"GET\"    }  ]}"
},
"DataPersistenceOptions": {
"type": "object",
"properties": {
"dataPersistence": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataPersistenceEntry"
}
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"example": "{  \"dataPersistence\": [    {      \"name\": \"none\",      \"description\": \"None\"    },    {      \"name\": \"aof-every-1-second\",      \"description\": \"Append only file (AOF) - fsync every 1 second\"    },    {      \"name\": \"aof-every-write\",      \"description\": \"Append only file (AOF) - fsync every write\"    },    {      \"name\": \"snapshot-every-1-hour\",      \"description\": \"Snapshot every 1 hour\"    },    {      \"name\": \"snapshot-every-6-hours\",      \"description\": \"Snapshot every 6 hour\"    },    {      \"name\": \"snapshot-every-12-hours\",      \"description\": \"Snapshot every 12 hour\"    }  ],  \"links\": [    {      \"rel\": \"self\",      \"href\": \"https://api-cloudapi.qa.redislabs.com/v1/data-persistence\",      \"type\": \"GET\"    }  ]}"
},
"DatabaseBackupConfig": {
"type": "object",
"properties": {
"active": {
"type": "boolean",
"description": "Optional, determine whether backup should be active or not. Default: null"
},
"interval": {
"type": "string",
"description": "Required when active is true, represent the interval between backups, should be in the following format every-x-hours where x is one of (24,12,6,4,2,1). for example: \"every-4-hours\""
},
"backupInterval": {
"type": "string",
"readOnly": true,
"enum": [
"EVERY_24_HOURS",
"EVERY_12_HOURS",
"EVERY_6_HOURS",
"EVERY_4_HOURS",
"EVERY_2_HOURS",
"EVERY_1_HOURS"
]
},
"timeUTC": {
"type": "string",
"description": "Optional. State the hour which the backup will take place. available only for 12 or 24 hours backup interval. should be specified an hour for example 2 PM as 14:00"
},
"databaseBackupTimeUTC": {
"type": "string",
"readOnly": true,
"enum": [
"HOUR_ONE",
"HOUR_TWO",
"HOUR_THREE",
"HOUR_FOUR",
"HOUR_FIVE",
"HOUR_SIX",
"HOUR_SEVEN",
"HOUR_EIGHT",
"HOUR_NINE",
"HOUR_TEN",
"HOUR_ELEVEN",
"HOUR_TWELVE"
]
},
"storageType": {
"type": "string",
"description": "Required when active is true, Type of storage source from which to import the database file (RDB files) or data (Redis connection)"
},
"backupStorageType": {
"type": "string",
"readOnly": true,
"enum": [
"http",
"redis",
"ftp",
"aws-s3",
"azure-blob-storage",
"google-blob-storage"
]
},
"storagePath": {
"type": "string",
"description": "Required when active is true, Path for backup"
}
},
"description": "Optional. Database remote backup configuration"
},
"AccountSystemLogEntry": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"time": {
"type": "string",
"format": "date-time"
},
"originator": {
"type": "string"
},
"apiKeyName": {
"type": "string"
},
"resource": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"description": "Account system log entry"
},
"ActiveActiveVpcPeeringCreateGcpRequest": {
"required": [
"vpcNetworkName",
"vpcProjectUid"
],
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"sourceRegion": {
"type": "string",
"description": "Name of region to create a VPC peering from"
},
"vpcProjectUid": {
"type": "string",
"description": "VPC project uid",
"example": "<vpc-identifer>"
},
"vpcNetworkName": {
"type": "string",
"description": "VPC network name",
"example": "<name>"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "VPC peering creation request message"
},
"SubscriptionCreateRequest": {
"required": [
"cloudProviders",
"databases"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Optional. Subscription name",
"example": "My new subscription"
},
"dryRun": {
"type": "boolean",
"description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'true'",
"example": false
},
"deploymentType": {
"type": "string",
"description": "Optional. When 'single-region' or null: Creates a single region subscription. When 'active-active': creates an active-active (multi-region) subscription",
"example": "single-region",
"enum": [
"single-region",
"active-active"
]
},
"planId": {
"type": "integer",
"description": "Optional. A predefined plan Id (see lookup API '/plans'). If specified, the plan defines the billing for the created subscription and overrides deployment and configuration based on specific plan details.",
"format": "int32"
},
"paymentMethod": {
"type": "string",
"description": "Optional. Payment method for the requested subscription. If credit card is specified, the payment method Id must be defined. Default: 'credit-card'",
"enum": [
"credit-card",
"marketplace"
]
},
"paymentMethodId": {
"type": "integer",
"description": "A valid payment method (credit card, wire transfer etc) pre-defined in the current account. It will be billed for any charges related to the created subscription). Not allowed for GCP account ",
"format": "int32"
},
"memoryStorage": {
"type": "string",
"description": "Optional. Memory storage preference: either 'ram' or a combination of 'ram-and-flash'. Default: 'ram'",
"example": "ram",
"enum": [
"ram",
"ram-and-flash"
]
},
"persistentStorageEncryption": {
"type": "boolean",
"description": "Deprecated - Data encryption is applied in accordance with cloud provider capabilities and best practices. Optional. Default: 'true'",
"example": true
},
"cloudProviders": {
"type": "array",
"description": "Required. Cloud hosting & networking details",
"items": {
"$ref": "#/components/schemas/SubscriptionSpec"
}
},
"databases": {
"type": "array",
"description": "Required. Databases specifications for each planned database",
"items": {
"$ref": "#/components/schemas/SubscriptionDatabaseSpec"
}
},
"redisVersion": {
"type": "string",
"description": "Optional. Relevant only to ram subscriptions. If specified the redisVersion defines the cluster version, Default = 'default'",
"example": "default",
"enum": [
"default",
"latest"
]
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Subscription create request"
},
"AccountACLRedisRules": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "Redis list of ACL redis rules in current account",
"example": "{  \"accountId\": 1001,  \"redisRules\": [    {      \"id\": 7,      \"name\": \"Full-Access\",      \"acl\": \"+@all  ~*\",      \"isDefault\": true,      \"status\": \"active\"    },    {      \"id\": 8,      \"name\": \"Read-Write\",      \"acl\": \"+@all -@dangerous ~*\",      \"isDefault\": true,      \"status\": \"active\"    },    {      \"id\": 9,      \"name\": \"Read-Only\",      \"acl\": \"+@read ~*\",      \"isDefault\": true,      \"status\": \"active\"    }  ]}"
},
"CloudAccountUpdateRequest": {
"required": [
"accessKeyId",
"accessSecretKey",
"consolePassword",
"consoleUsername"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name",
"example": "My new Cloud Account"
},
"cloudAccountId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"accessKeyId": {
"type": "string",
"description": "Required. Cloud provider access key",
"example": "****"
},
"accessSecretKey": {
"type": "string",
"description": "Required. Cloud provider secret key",
"example": "****"
},
"consoleUsername": {
"type": "string",
"description": "Required. Cloud provider management console username",
"example": "me@mycompany.com"
},
"consolePassword": {
"type": "string",
"description": "Required. Cloud provider management console password",
"example": "****"
},
"signInLoginUrl": {
"type": "string",
"description": "Optional. Cloud provider management console login URL",
"example": "https://<aws-account-identifier>.signin.aws.amazon.com/console"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Cloud Account definition"
},
"FixedSubscription": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"paymentMethodId": {
"type": "integer",
"format": "int32"
},
"paymentMethodType": {
"type": "string"
},
"planId": {
"type": "integer",
"format": "int32"
},
"planName": {
"type": "string"
},
"planType": {
"type": "string"
},
"size": {
"type": "number",
"format": "double"
},
"sizeMeasurementUnit": {
"type": "string"
},
"provider": {
"type": "string"
},
"region": {
"type": "string"
},
"price": {
"type": "integer",
"format": "int32"
},
"pricePeriod": {
"type": "string"
},
"priceCurrency": {
"type": "string"
},
"maximumDatabases": {
"type": "integer",
"format": "int32"
},
"availability": {
"type": "string"
},
"connections": {
"type": "string"
},
"cidrAllowRules": {
"type": "integer",
"format": "int32"
},
"supportDataPersistence": {
"type": "boolean"
},
"supportInstantAndDailyBackups": {
"type": "boolean"
},
"supportReplication": {
"type": "boolean"
},
"supportClustering": {
"type": "boolean"
},
"customerSupport": {
"type": "string"
},
"creationDate": {
"type": "string",
"format": "date-time"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs fixed Subscription information",
"example": "{  \"id\": 151367,  \"name\": \"fixed-sub-2\",  \"status\": \"active\",  \"paymentMethodId\": 8241,  \"paymentMethodType\": \"credit-card\",  \"planId\": 16755,  \"planName\": \"Standard 1GB\",  \"size\": 1,  \"sizeMeasurementUnit\": \"GB\",  \"provider\": \"AWS\",  \"region\": \"us-east-1\",  \"price\": 71,  \"pricePeriod\": \"Month\",  \"priceCurrency\": \"USD\",  \"maximumDatabases\": 16,  \"availability\": \"Single-zone\",  \"connections\": \"1024\",  \"cidrAllowRules\": 8,  \"supportDataPersistence\": true,  \"supportInstantAndDailyBackups\": true,  \"supportReplication\": true,  \"customerSupport\": \"Standard\",  \"creationDate\": \"2022-11-21T20:02:21+02:00\",  \"supportClustering\": false,  \"links\": [    {      \"rel\": \"self\",      \"href\": \"http://localhost:8081/v1/fixed/subscriptions/151367\",      \"type\": \"GET\"    }  ]}"
},
"AclRoleUpdateRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Optional. ACL role name",
"example": "ACL-role-example"
},
"redisRules": {
"type": "array",
"description": "Optional. List of ACL redis rules to associated with the requested ACL role",
"items": {
"$ref": "#/components/schemas/AclRoleRedisRuleSpec"
}
},
"roleId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "ACL role update request"
},
"AccountUserOptions": {
"type": "object",
"properties": {
"billing": {
"type": "boolean"
},
"emailAlerts": {
"type": "boolean"
},
"operationalEmails": {
"type": "boolean"
},
"mfaEnabled": {
"type": "boolean"
}
},
"description": "RedisLabs User options information"
},
"AccountSystemLogEntries": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountSystemLogEntry"
}
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"example": "{  \"entries\": [    {      \"id\": 2900349,      \"time\": \"2022-10-12T10:54:31Z\",      \"originator\": \"example-value\",      \"type\": \"Account\",      \"description\": \"example-value (example.value@redislabs.com)'s user name was changed to Example Value\"    },    {      \"id\": 2900348,      \"time\": \"2022-10-12T10:54:11Z\",      \"originator\": \"invalid-name\",      \"type\": \"Account\",      \"description\": \"Invited invalid-name (cab@fufu.com) to join team\"    }  ]}"
},
"DatabaseThroughputSpec": {
"required": [
"by",
"value"
],
"type": "object",
"properties": {
"by": {
"type": "string",
"description": "Required. Throughput measurement method. Either 'number-of-shards' or 'operations-per-second'",
"enum": [
"operations-per-second",
"number-of-shards"
]
},
"value": {
"type": "integer",
"description": "Required. Throughput value (as applies to selected measurement method)",
"format": "int64",
"example": 10000
}
},
"description": "Optional. Throughput measurement method. Default: 25000 ops/sec"
},
"AccountUser": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"role": {
"type": "string"
},
"signUp": {
"type": "string"
},
"userType": {
"type": "string"
},
"hasApiKey": {
"type": "boolean"
},
"options": {
"$ref": "#/components/schemas/AccountUserOptions"
}
},
"description": "RedisLabs User information",
"example": "{  \"id\": 60192,  \"name\": \"Clifford O'neill\",  \"email\": \"clifford.mail@gmail.com\",  \"role\": \"Viewer\",  \"userType\": \"Local\",  \"hasApiKey\": false,  \"options\": {    \"billing\": false,    \"emailAlerts\": false,    \"operationalEmails\": false,    \"mfaEnabled\": false  }}"
},
"FixedDatabase": {
"type": "object",
"properties": {
"databaseId": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"protocol": {
"type": "string",
"enum": [
"redis",
"memcached",
"stack"
]
},
"provider": {
"type": "string"
},
"region": {
"type": "string"
},
"redisVersionCompliance": {
"type": "string"
},
"status": {
"type": "string"
},
"planMemoryLimit": {
"type": "number",
"format": "double"
},
"memoryLimitMeasurementUnit": {
"type": "string"
},
"memoryLimitInGb": {
"type": "number",
"format": "double"
},
"memoryUsedInMb": {
"type": "number",
"format": "double"
},
"memoryStorage": {
"type": "string",
"enum": [
"ram",
"ram-and-flash"
]
},
"supportOSSClusterApi": {
"type": "boolean"
},
"useExternalEndpointForOSSClusterApi": {
"type": "boolean"
},
"dataPersistence": {
"type": "string",
"enum": [
"none",
"aof-every-1-second",
"aof-every-write",
"snapshot-every-1-hour",
"snapshot-every-6-hours",
"snapshot-every-12-hours"
]
},
"replication": {
"type": "boolean"
},
"dataEvictionPolicy": {
"type": "string",
"enum": [
"allkeys-lru",
"allkeys-lfu",
"allkeys-random",
"volatile-lru",
"volatile-lfu",
"volatile-random",
"volatile-ttl",
"noeviction"
]
},
"activatedOn": {
"type": "string",
"format": "date-time"
},
"lastModified": {
"type": "string",
"format": "date-time"
},
"publicEndpoint": {
"type": "string"
},
"privateEndpoint": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"example": "{  \"databaseId\": 51324587,  \"name\": \"bdb\",  \"protocol\": \"stack\",  \"provider\": \"AWS\",  \"region\": \"us-east-1\",  \"status\": \"draft\",  \"planMemoryLimit\": 250,  \"memoryLimitMeasurementUnit\": \"MB\",  \"memoryUsedInMb\": 7,  \"memoryStorage\": \"ram\",  \"dataPersistence\": \"none\",  \"replication\": true,  \"dataEvictionPolicy\": \"noeviction\",  \"clustering\": {    \"enabled\": false,    \"regexRules\": [      {        \"ordinal\": 0,        \"pattern\": \".*\\\\{(?<tag>.*)\\\\}.*\"      },      {        \"ordinal\": 1,        \"pattern\": \"(?<tag>.*)\"      }    ],    \"hashingPolicy\": \"standard\"  },  \"security\": {    \"defaultUserEnabled\": true,    \"password\": \"myCustomPassword\",    \"sourceIps\": [      \"0.0.0.0/0\"    ]  },  \"modules\": [    {      \"id\": 18534,      \"name\": \"RediSearch\",      \"version\": \"2.2.6\",      \"description\": \"High performance search index on top of Redis (without clustering)\",      \"parameters\": []    },    {      \"id\": 18535,      \"name\": \"RedisBloom\",      \"version\": \"2.2.12\",      \"description\": \"Probabilistic Data Structures for Redis\",      \"parameters\": []    },    {      \"id\": 18536,      \"name\": \"RedisJSON\",      \"version\": \"2.0.6\",      \"description\": \"Native JSON Data Type for Redis\",      \"parameters\": []    },    {      \"id\": 18537,      \"name\": \"RedisTimeSeries\",      \"version\": \"1.6.8\",      \"description\": \"A time series database for Redis\",      \"parameters\": []    }  ],  \"alerts\": [    {      \"name\": \"connections-limit\",      \"value\": 80,      \"defaultValue\": 80    }  ],  \"backup\": {    \"remoteBackupEnabled\": false  },  \"links\": [  ]}"
},
"DatabaseImportRequest": {
"required": [
"importFromUri",
"sourceType"
],
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"databaseId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"sourceType": {
"type": "string",
"description": "Required. Type of storage source from which to import the database file (RDB files) or data (Redis connection)",
"example": "http",
"enum": [
"http",
"redis",
"ftp",
"aws-s3",
"azure-blob-storage",
"google-blob-storage"
]
},
"importFromUri": {
"type": "array",
"description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])",
"items": {
"type": "string",
"description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Database import request"
},
"ACLUser": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"role": {
"type": "string"
},
"status": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "Redis ACL user information",
"example": "{  \"id\": 1,  \"name\": \"abc\",  \"role\": \"role-name\",  \"status\": \"active\"}"
},
"ActiveActiveRegionCreateRequest": {
"required": [
"deploymentCIDR"
],
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"region": {
"type": "string",
"description": "Name of region to add"
},
"deploymentCIDR": {
"type": "string",
"description": "Deployment CIDR mask. \nDefault: If using Redis internal cloud account, 192.168.0.0/24",
"example": "10.0.0.0/24"
},
"dryRun": {
"type": "boolean",
"description": "Optional. When 'false': Creates a deployment plan and deploys it (creating any resources required by the plan). When 'true': creates a read-only deployment plan without any resource creation. Default: 'true'",
"example": false
},
"databases": {
"type": "array",
"description": "List of databases with local throughput for the new region",
"items": {
"$ref": "#/components/schemas/CrdbRegionSpec"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Active active region creation request message"
},
"FixedDatabaseImportRequest": {
"required": [
"importFromUri",
"sourceType"
],
"type": "object",
"properties": {
"subscriptionId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"databaseId": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"sourceType": {
"type": "string",
"description": "Required. Type of storage source from which to import the database file (RDB files) or data (Redis connection)",
"example": "http",
"enum": [
"http",
"redis",
"ftp",
"aws-s3",
"azure-blob-storage",
"google-blob-storage"
]
},
"importFromUri": {
"type": "array",
"description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])",
"items": {
"type": "string",
"description": "Required. One or more URIs to source data files or Redis databases, as appropriate to specified source type (example: ['http://mydomain.com/redis-backup-file1', 'http://mydomain.com/redis-backup-file2'])"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Database import request"
},
"AccountSubscriptions": {
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"links": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
},
"description": "RedisLabs list of subscriptions in current account",
"example": "{  \"accountId\": 1001,  \"subscriptions\": [    {      \"id\": 1206,      \"name\": \"subscription name\",      \"status\": \"active\",      \"deploymentType\": \"single-region\",      \"paymentMethodId\": 123,      \"memoryStorage\": \"ram\",      \"numberOfDatabases\": 6,      \"paymentMethodType\": \"credit-card\",      \"storageEncryption\": false,      \"subscriptionPricing\": [        {          \"type\": \"Shards\",          \"typeDetails\": \"high-throughput\",          \"quantity\": 7,          \"quantityMeasurement\": \"shards\",          \"pricePerUnit\": 0.124,          \"priceCurrency\": \"USD\",          \"pricePeriod\": \"hour\"        },        {          \"type\": \"EBS Volume\",          \"quantity\": 357,          \"quantityMeasurement\": \"GB\"        },        {          \"type\": \"c5.xlarge\",          \"quantity\": 4,          \"quantityMeasurement\": \"instances\"        },        {          \"type\": \"c5.4xlarge\",          \"quantity\": 2,          \"quantityMeasurement\": \"instances\"        },        {          \"type\": \"m5.large\",          \"quantity\": 1,          \"quantityMeasurement\": \"instances\"        }      ],      \"cloudDetails\": [        {          \"provider\": \"AWS\",          \"cloudAccountId\": 1666,          \"totalSizeInGb\": 0.0272,          \"regions\": [            {              \"region\": \"us-east-1\",              \"networking\": [                {                  \"deploymentCIDR\": \"10.0.0.0/24\",                  \"subnetId\": \"subnet-009ce004ed90da8a6\"                }              ],              \"preferredAvailabilityZones\": [                \"us-east-1a\"              ],              \"multipleAvailabilityZones\": false            }          ],          \"links\": []        }      ],      \"links\": []    }  ]}"
},
"CrdbRegionSpec": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of database"
},
"localThroughputMeasurement": {
"$ref": "#/components/schemas/LocalThroughput"
}
},
"description": "List of databases with local throughput for the new region"
},
"VpcPeeringCreateAwsRequest": {
"required": [
"awsAccountId",
"region",
"vpcId"
],
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"region": {
"type": "string",
"description": "Deployment region as defined by cloud provider",
"example": "us-east-1"
},
"awsAccountId": {
"type": "string",
"description": "AWS Account uid",
"example": "<aws-account-id>"
},
"vpcId": {
"type": "string",
"description": "VPC uid",
"example": "<vpc-identifier>"
},
"vpcCidr": {
"type": "string",
"description": "Optional. VPC CIDR",
"example": "<10.10.10.0/24>"
},
"vpcCidrs": {
"type": "array",
"description": "Optional. List of VPC CIDRs",
"example": [
"<10.10.10.0/24>",
"<10.10.20.0/24>"
],
"items": {
"type": "string",
"description": "Optional. List of VPC CIDRs",
"example": "[\"<10.10.10.0/24>\",\"<10.10.20.0/24>\"]"
}
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "VPC peering creation request message"
},
"VpcPeeringCreateBaseRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string"
},
"commandType": {
"type": "string",
"readOnly": true
}
},
"description": "Vpc peering creation request message",
"oneOf": [
{
"$ref": "#/components/schemas/VpcPeeringCreateAwsRequest"
},
{
"$ref": "#/components/schemas/VpcPeeringCreateGcpRequest"
}
]
}
},
"securitySchemes": {
"x-api-key": {
"type": "apiKey",
"name": "x-api-key",
"in": "header"
},
"x-api-secret-key": {
"type": "apiKey",
"name": "x-api-secret-key",
"in": "header"
}
}
}
}