diff --git a/content/operate/rc/api/api-reference/openapi.json b/content/operate/rc/api/api-reference/openapi.json index 4ec17ee116..0106d80949 100644 --- a/content/operate/rc/api/api-reference/openapi.json +++ b/content/operate/rc/api/api-reference/openapi.json @@ -16,7 +16,7 @@ }, "servers": [ { - "url": "https://api.redislabs.com/v1" + "url": "https://api.redislabs.com" } ], "security": [ @@ -47,6 +47,11 @@ "description": "All Pro database operations.", "x-order": "20" }, + { + "name": "Endpoint Redirections", + "description": "Dynamic endpoint redirection operations.", + "x-order": "21" + }, { "name": "Subscriptions - Essentials", "description": "All Essentials subscription operations.", @@ -72,14 +77,726 @@ "description": "Data and operations related to account's users", "x-order": "70" }, - { - "name": "Tasks", - "description": "Tracks asynchronous background operations. See [API request lifecycle](https://redis.io/docs/latest/operate/rc/api/get-started/process-lifecycle/) for more information.", - "x-order": "80" - } - ], - "paths": { - "/users/{userId}": { + { + "name": "Tasks", + "description": "Tracks asynchronous background operations. See [API request lifecycle](https://redis.io/docs/latest/operate/rc/api/get-started/process-lifecycle/) for more information.", + "x-order": "80" + } + ], + "paths": { + "/v1/subscriptions/{subscriptionId}/data-integration-workspace/**": { + "get": { + "tags": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "requestBody", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_1", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_3", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_2", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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 " + } + } + }, + "patch": { + "tags": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_4", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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 " + } + } + } + }, + "/v1/subscriptions/{subscriptionId}/data-integration-workspace": { + "get": { + "tags": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_5", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "requestBody", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_6", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_8", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_7", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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 " + } + } + }, + "patch": { + "tags": [ + "Data Integration" + ], + "summary": "Proxy a Data Integration workspace request", + "description": "Forwards the request to the Data Integration workspace owned by the specified subscription. Path under `data-integration-workspace/**` is forwarded as-is to the Cloud RDI service.", + "operationId": "proxyDataIntegrationWorkspace_9", + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID.", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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)" + }, + "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 " + } + } + } + }, + "/v1/users/{userId}": { "get": { "tags": [ "Users" @@ -271,7 +988,7 @@ } } }, - "/subscriptions/{subscriptionId}": { + "/v1/subscriptions/{subscriptionId}": { "get": { "tags": [ "Subscriptions - Pro" @@ -463,7 +1180,7 @@ } } }, - "/subscriptions/{subscriptionId}/transitGateways/{TgwId}/attachment": { + "/v1/subscriptions/{subscriptionId}/transitGateways/{TgwId}/attachment": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -694,7 +1411,7 @@ } } }, - "/subscriptions/{subscriptionId}/transitGateways/invitations/{tgwInvitationId}/reject": { + "/v1/subscriptions/{subscriptionId}/transitGateways/invitations/{tgwInvitationId}/reject": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -768,7 +1485,7 @@ } } }, - "/subscriptions/{subscriptionId}/transitGateways/invitations/{tgwInvitationId}/accept": { + "/v1/subscriptions/{subscriptionId}/transitGateways/invitations/{tgwInvitationId}/accept": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -842,7 +1559,7 @@ } } }, - "/subscriptions/{subscriptionId}/resource-tags": { + "/v1/subscriptions/{subscriptionId}/resource-tags": { "put": { "tags": [ "Subscriptions - Pro" @@ -916,7 +1633,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/{TgwId}/attachment": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/{TgwId}/attachment": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -1180,7 +1897,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations/{tgwInvitationId}/accept": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations/{tgwInvitationId}/accept": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -1265,7 +1982,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -1461,7 +2178,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/peerings/{peeringId}": { + "/v1/subscriptions/{subscriptionId}/regions/peerings/{peeringId}": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -1623,7 +2340,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}": { + "/v1/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -1799,7 +2516,7 @@ } } }, - "/subscriptions/{subscriptionId}/peerings/{peeringId}": { + "/v1/subscriptions/{subscriptionId}/peerings/{peeringId}": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -1961,7 +2678,7 @@ } } }, - "/subscriptions/{subscriptionId}/maintenance-windows": { + "/v1/subscriptions/{subscriptionId}/maintenance-windows": { "get": { "tags": [ "Subscriptions - Pro" @@ -2091,7 +2808,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}": { "get": { "tags": [ "Databases - Pro" @@ -2332,7 +3049,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/tags": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/tags": { "get": { "tags": [ "Databases - Pro" @@ -2567,7 +3284,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/tags/{tagKey}": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/tags/{tagKey}": { "put": { "tags": [ "Databases - Pro" @@ -2742,7 +3459,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/regions": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/regions": { "put": { "tags": [ "Databases - Pro" @@ -2846,7 +3563,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/flush": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/flush": { "put": { "tags": [ "Databases - Pro" @@ -2930,7 +3647,7 @@ } } }, - "/subscriptions/{subscriptionId}/cidr": { + "/v1/subscriptions/{subscriptionId}/cidr": { "get": { "tags": [ "Subscriptions - Pro" @@ -3060,7 +3777,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations/{tgwInvitationId}/reject": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations/{tgwInvitationId}/reject": { "put": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -3145,7 +3862,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}": { + "/v1/fixed/subscriptions/{subscriptionId}": { "get": { "tags": [ "Subscriptions - Essentials" @@ -3336,7 +4053,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}": { "get": { "tags": [ "Databases - Essentials" @@ -3573,7 +4290,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/tags": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/tags": { "get": { "tags": [ "Databases - Essentials" @@ -3808,7 +4525,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/tags/{tagKey}": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/tags/{tagKey}": { "put": { "tags": [ "Databases - Essentials" @@ -3983,7 +4700,7 @@ } } }, - "/cloud-accounts/{cloudAccountId}": { + "/v1/cloud-accounts/{cloudAccountId}": { "get": { "tags": [ "Cloud Accounts" @@ -4178,7 +4895,7 @@ } } }, - "/acl/users/{aclUserId}": { + "/v1/acl/users/{aclUserId}": { "get": { "tags": [ "Role-based Access Control (RBAC)" @@ -4371,7 +5088,7 @@ } } }, - "/acl/roles/{aclRoleId}": { + "/v1/acl/roles/{aclRoleId}": { "put": { "tags": [ "Role-based Access Control (RBAC)" @@ -4507,7 +5224,7 @@ } } }, - "/acl/redisRules/{aclRedisRuleId}": { + "/v1/acl/redisRules/{aclRedisRuleId}": { "put": { "tags": [ "Role-based Access Control (RBAC)" @@ -4643,7 +5360,7 @@ } } }, - "/subscriptions": { + "/v1/subscriptions": { "get": { "tags": [ "Subscriptions - Pro" @@ -4795,7 +5512,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions": { + "/v1/subscriptions/{subscriptionId}/regions": { "get": { "tags": [ "Subscriptions - Pro" @@ -4997,7 +5714,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -5212,7 +5929,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -5385,7 +6102,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-link": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-link": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -5613,7 +6330,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-link/principals": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-link/principals": { "post": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -5784,7 +6501,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-link/connections/disassociate": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-link/connections/disassociate": { "post": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -5869,7 +6586,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/peerings": { + "/v1/subscriptions/{subscriptionId}/regions/peerings": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -6012,7 +6729,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-service-connect": { + "/v1/subscriptions/{subscriptionId}/private-service-connect": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -6197,7 +6914,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}": { + "/v1/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -6350,7 +7067,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-link": { + "/v1/subscriptions/{subscriptionId}/private-link": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -6545,7 +7262,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-link/principals": { + "/v1/subscriptions/{subscriptionId}/private-link/principals": { "post": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -6694,7 +7411,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-link/connections/disassociate": { + "/v1/subscriptions/{subscriptionId}/private-link/connections/disassociate": { "post": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -6768,7 +7485,7 @@ } } }, - "/subscriptions/{subscriptionId}/peerings": { + "/v1/subscriptions/{subscriptionId}/peerings": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -6912,7 +7629,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases": { + "/v1/subscriptions/{subscriptionId}/databases": { "get": { "tags": [ "Databases - Pro" @@ -7086,7 +7803,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/upgrade": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/upgrade": { "get": { "tags": [ "Databases - Pro" @@ -7128,7 +7845,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BdbVersionUpgradeStatus" + "$ref": "#/components/schemas/DatabaseVersionUpgradeStatus" } } } @@ -7236,13 +7953,13 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/traffic/resume": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/traffic/resume": { "post": { "tags": [ "Databases - Pro" ], "summary": "Resume Pro database traffic", - "description": "Resumes traffic for the specified Pro database.", + "description": "Resumes traffic for the specified Pro database. This is available in private preview.", "operationId": "resumeBdbTraffic", "parameters": [ { @@ -7305,7 +8022,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/import": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/import": { "get": { "tags": [ "Databases - Pro" @@ -7455,7 +8172,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/backup": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/backup": { "get": { "tags": [ "Databases - Pro" @@ -7613,7 +8330,7 @@ } } }, - "/fixed/subscriptions": { + "/v1/fixed/subscriptions": { "get": { "tags": [ "Subscriptions - Essentials" @@ -7722,7 +8439,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases": { + "/v1/fixed/subscriptions/{subscriptionId}/databases": { "get": { "tags": [ "Databases - Essentials" @@ -7891,7 +8608,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/upgrade": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/upgrade": { "get": { "tags": [ "Databases - Essentials" @@ -7933,7 +8650,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BdbVersionUpgradeStatus" + "$ref": "#/components/schemas/DatabaseVersionUpgradeStatus" } } } @@ -8041,13 +8758,13 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/traffic/resume": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/traffic/resume": { "post": { "tags": [ "Databases - Essentials" ], "summary": "Resume Essentials database traffic", - "description": "Resumes traffic for the specified Essentials database.", + "description": "Resumes traffic for the specified Essentials database. This is available in private preview.", "operationId": "resumeBdbTraffic_1", "parameters": [ { @@ -8110,7 +8827,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/import": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/import": { "get": { "tags": [ "Databases - Essentials" @@ -8260,7 +8977,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/backup": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/backup": { "get": { "tags": [ "Databases - Essentials" @@ -8377,7 +9094,144 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TaskStateUpdate" + "$ref": "#/components/schemas/TaskStateUpdate" + } + } + } + }, + "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)" + }, + "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 " + } + } + } + }, + "/v1/endpoint-redirections": { + "post": { + "tags": [ + "Endpoint Redirections" + ], + "summary": "Create dynamic endpoint redirection", + "description": "Initiates a dynamic endpoint redirection from a source database to a target database. Returns a redirection ID that can be used to poll the status. This is available in private preview.", + "operationId": "createEndpointsRedirection", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateEndpointsRedirectionRequest" + }, + "example": { + "sourceDatabaseId": 51404231, + "targetDatabaseId": 51404232, + "endpointTargetType": "public", + "duplicateACLs": true, + "migrationProtection": true + } + } + }, + "required": true + }, + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EndpointsRedirectionResponse" + } + } + } + }, + "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" + }, + "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 " + } + } + } + }, + "/v1/endpoint-redirections/{redirectionId}/revert": { + "post": { + "tags": [ + "Endpoint Redirections" + ], + "summary": "Revert dynamic endpoint redirection", + "description": "Reverts a previously completed dynamic endpoint redirection, restoring the original endpoint configuration. This is available in private preview.", + "operationId": "revertEndpointsRedirection", + "parameters": [ + { + "name": "redirectionId", + "in": "path", + "description": "Dynamic endpoint redirection ID.", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + }, + "example": "550e8400-e29b-41d4-a716-446655440000" + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EndpointsRedirectionResponse" } } } @@ -8409,7 +9263,7 @@ } } }, - "/cost-report": { + "/v1/cost-report": { "post": { "tags": [ "Account" @@ -8474,7 +9328,7 @@ } } }, - "/cloud-accounts": { + "/v1/cloud-accounts": { "get": { "tags": [ "Cloud Accounts" @@ -8583,7 +9437,7 @@ } } }, - "/acl/users": { + "/v1/acl/users": { "get": { "tags": [ "Role-based Access Control (RBAC)" @@ -8692,7 +9546,7 @@ } } }, - "/acl/roles": { + "/v1/acl/roles": { "get": { "tags": [ "Role-based Access Control (RBAC)" @@ -8801,7 +9655,7 @@ } } }, - "/acl/redisRules": { + "/v1/acl/redisRules": { "get": { "tags": [ "Role-based Access Control (RBAC)" @@ -8910,7 +9764,7 @@ } } }, - "/users": { + "/v1/users": { "get": { "tags": [ "Users" @@ -8956,7 +9810,7 @@ } } }, - "/tasks": { + "/v1/tasks": { "get": { "tags": [ "Tasks" @@ -9002,7 +9856,7 @@ } } }, - "/tasks/{taskId}": { + "/v1/tasks/{taskId}": { "get": { "tags": [ "Tasks" @@ -9059,7 +9913,7 @@ } } }, - "/subscriptions/{subscriptionId}/transitGateways": { + "/v1/subscriptions/{subscriptionId}/transitGateways": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9117,7 +9971,7 @@ } } }, - "/subscriptions/{subscriptionId}/transitGateways/invitations": { + "/v1/subscriptions/{subscriptionId}/transitGateways/invitations": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9175,7 +10029,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9244,7 +10098,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/transitGateways/invitations": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9313,7 +10167,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/deletionScripts": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/deletionScripts": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9401,7 +10255,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/creationScripts": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/creationScripts": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9489,7 +10343,7 @@ } } }, - "/subscriptions/{subscriptionId}/regions/{regionId}/private-link/endpoint-script": { + "/v1/subscriptions/{subscriptionId}/regions/{regionId}/private-link/endpoint-script": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9557,7 +10411,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/deletionScripts": { + "/v1/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/deletionScripts": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9635,7 +10489,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/creationScripts": { + "/v1/subscriptions/{subscriptionId}/private-service-connect/{pscServiceId}/endpoints/{endpointId}/creationScripts": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9713,7 +10567,7 @@ } } }, - "/subscriptions/{subscriptionId}/private-link/endpoint-script": { + "/v1/subscriptions/{subscriptionId}/private-link/endpoint-script": { "get": { "tags": [ "Subscriptions - Pro - Connectivity" @@ -9771,7 +10625,7 @@ } } }, - "/subscriptions/{subscriptionId}/pricing": { + "/v1/subscriptions/{subscriptionId}/pricing": { "get": { "tags": [ "Subscriptions - Pro" @@ -9829,13 +10683,13 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/traffic": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/traffic": { "get": { "tags": [ "Databases - Pro" ], "summary": "Get Pro database traffic", - "description": "Gets traffic information for the specified Pro database. If the database was not a source in a redirect endpoints operation, a not found error will be returned.", + "description": "Gets traffic information for the specified Pro database. If the database was not a source in a redirect endpoints operation, a not found error will be returned. This is available in private preview.", "operationId": "getDatabaseTraffic", "parameters": [ { @@ -9899,7 +10753,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/slow-log": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/slow-log": { "get": { "tags": [ "Databases - Pro" @@ -9976,7 +10830,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/certificate": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/certificate": { "get": { "tags": [ "Databases - Pro" @@ -10046,7 +10900,7 @@ } } }, - "/subscriptions/{subscriptionId}/databases/{databaseId}/available-target-versions": { + "/v1/subscriptions/{subscriptionId}/databases/{databaseId}/available-target-versions": { "get": { "tags": [ "Databases - Pro" @@ -10088,7 +10942,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BdbAvailableVersionsResponse" + "$ref": "#/components/schemas/DatabaseAvailableVersionsResponse" } } } @@ -10114,7 +10968,7 @@ } } }, - "/subscriptions/redis-versions": { + "/v1/subscriptions/redis-versions": { "get": { "tags": [ "Subscriptions - Pro" @@ -10172,7 +11026,7 @@ } } }, - "/session-logs": { + "/v1/session-logs": { "get": { "tags": [ "Account" @@ -10264,7 +11118,7 @@ } } }, - "/regions": { + "/v1/regions": { "get": { "tags": [ "Account" @@ -10325,7 +11179,7 @@ } } }, - "/query-performance-factors": { + "/v1/query-performance-factors": { "get": { "tags": [ "Account" @@ -10371,7 +11225,7 @@ } } }, - "/payment-methods": { + "/v1/payment-methods": { "get": { "tags": [ "Account" @@ -10417,7 +11271,7 @@ } } }, - "/logs": { + "/v1/logs": { "get": { "tags": [ "Account" @@ -10520,13 +11374,13 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/traffic": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/traffic": { "get": { "tags": [ "Databases - Essentials" ], "summary": "Get Essentials database traffic", - "description": "Gets traffic information for the specified Essentials database. If the database was not a source in a redirect endpoints operation, a not found error will be returned.", + "description": "Gets traffic information for the specified Essentials database. If the database was not a source in a redirect endpoints operation, a not found error will be returned. This is available in private preview.", "operationId": "getDatabaseTraffic_1", "parameters": [ { @@ -10590,7 +11444,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/slow-log": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/slow-log": { "get": { "tags": [ "Databases - Essentials" @@ -10658,7 +11512,7 @@ } } }, - "/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/available-target-versions": { + "/v1/fixed/subscriptions/{subscriptionId}/databases/{databaseId}/available-target-versions": { "get": { "tags": [ "Databases - Essentials" @@ -10700,7 +11554,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BdbAvailableVersionsResponse" + "$ref": "#/components/schemas/DatabaseAvailableVersionsResponse" } } } @@ -10726,7 +11580,7 @@ } } }, - "/fixed/redis-versions": { + "/v1/fixed/redis-versions": { "get": { "tags": [ "Subscriptions - Essentials" @@ -10784,7 +11638,7 @@ } } }, - "/fixed/plans": { + "/v1/fixed/plans": { "get": { "tags": [ "Subscriptions - Essentials" @@ -10855,7 +11709,7 @@ } } }, - "/fixed/plans/{planId}": { + "/v1/fixed/plans/{planId}": { "get": { "tags": [ "Subscriptions - Essentials" @@ -10913,7 +11767,7 @@ } } }, - "/fixed/plans/subscriptions/{subscriptionId}": { + "/v1/fixed/plans/subscriptions/{subscriptionId}": { "get": { "tags": [ "Subscriptions - Essentials" @@ -10971,7 +11825,66 @@ } } }, - "/database-modules": { + "/v1/endpoint-redirections/{redirectionId}": { + "get": { + "tags": [ + "Endpoint Redirections" + ], + "summary": "Get dynamic endpoint redirection status", + "description": "Gets the status of a dynamic endpoint redirection operation by its ID. This is available in private preview.", + "operationId": "getEndpointsRedirectionStatus", + "parameters": [ + { + "name": "redirectionId", + "in": "path", + "description": "Dynamic endpoint redirection ID.", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + }, + "example": "550e8400-e29b-41d4-a716-446655440000" + } + ], + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EndpointsRedirectionResponse" + } + } + } + }, + "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" + }, + "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 " + } + } + } + }, + "/v1/database-modules": { "get": { "tags": [ "Account" @@ -11017,7 +11930,7 @@ } } }, - "/data-persistence": { + "/v1/data-persistence": { "get": { "tags": [ "Account" @@ -11063,7 +11976,53 @@ } } }, - "/cost-report/{costReportId}": { + "/v1/data-integration-workspaces": { + "get": { + "tags": [ + "Data Integration" + ], + "summary": "List Data Integration workspaces", + "description": "Lists all Data Integration workspaces in the current account. Proxied to the Cloud RDI service.", + "operationId": "getDataIntegrationWorkspaces", + "responses": { + "400": { + "description": "Bad Request - The server cannot process the request due to something that is perceived to be a client error" + }, + "412": { + "description": "Precondition Failed - Feature flag for this flow is off" + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "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" + }, + "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 " + } + } + } + }, + "/v1/cost-report/{costReportId}": { "get": { "tags": [ "Account" @@ -11117,7 +12076,7 @@ } } }, - "/": { + "/v1/": { "get": { "tags": [ "Account" @@ -11239,30 +12198,8 @@ }, "description": "User update request" }, - "BdbVersionUpgradeStatus": { - "type": "object", - "properties": { - "databaseId": { - "type": "integer", - "format": "int32" - }, - "targetRedisVersion": { - "type": "string" - }, - "progress": { - "type": "number", - "format": "double" - }, - "upgradeStatus": { - "type": "string", - "enum": [ - "in-progress", - "in-progress-recovery-pending", - "done", - "failed" - ] - } - } + "JsonNode": { + "type": "object" }, "PaymentMethods": { "type": "object", @@ -11712,6 +12649,10 @@ "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", + "dynamicEndpoints": { + "public": "malleable-ultraquiet-point-31101.db-qa.redis.io:17571", + "private": "cherry-cook-turn-91868.db-qa.redis.io:17571" + }, "replica": { "syncSources": [ { @@ -13055,6 +13996,81 @@ }, "description": "RedisLabs data persistence information" }, + "EndpointsRedirectionResponse": { + "type": "object", + "properties": { + "redirectionId": { + "type": "string", + "description": "Unique identifier of the dynamic endpoint redirection. Use it to poll the redirection status.", + "format": "uuid", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "status": { + "type": "string", + "description": "Current status of the dynamic endpoint redirection.", + "example": "in-progress", + "enum": [ + "initiated", + "pending", + "in-progress", + "completed", + "failed", + "reverted" + ] + }, + "sourceDatabaseId": { + "type": "integer", + "description": "ID of the source database the endpoint is redirected from.", + "format": "int32", + "example": 51404231 + }, + "targetDatabaseId": { + "type": "integer", + "description": "ID of the target database the endpoint is redirected to.", + "format": "int32", + "example": 51404232 + }, + "isRevert": { + "type": "boolean", + "description": "Whether this redirection reverts a previously completed redirection.", + "example": false + }, + "duplicateACLs": { + "type": "boolean", + "description": "Whether the source database ACLs were duplicated to the target database.", + "example": true + }, + "startedAt": { + "type": "string", + "description": "Timestamp when the redirection started.", + "format": "date-time", + "example": "2024-05-01T13:03:08Z" + }, + "completedAt": { + "type": "string", + "description": "Timestamp when the redirection completed.", + "format": "date-time", + "example": "2024-05-01T13:05:42Z" + }, + "revertedAt": { + "type": "string", + "description": "Timestamp when the redirection was reverted, if applicable.", + "format": "date-time" + }, + "errorMessage": { + "type": "string", + "description": "Error message describing why the redirection failed, if applicable." + }, + "endpoints": { + "type": "array", + "description": "Details of the individual endpoint redirections performed.", + "items": { + "$ref": "#/components/schemas/EndpointRedirectionDTO" + } + } + }, + "description": "Dynamic endpoint redirection status response message" + }, "CloudAccounts": { "type": "object", "properties": { @@ -13419,6 +14435,17 @@ } } }, + "DatabaseAvailableVersionsResponse": { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TargetVersion" + } + } + } + }, "CloudAccount": { "type": "object", "properties": { @@ -13757,6 +14784,10 @@ "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", + "dynamicEndpoints": { + "public": "nonstick-pot-wave-27804.db-qa.redis.io:17571", + "private": "mustard-shake-suitable-46756.db-qa.redis.io:17571" + }, "replica": { "syncSources": [ { @@ -13826,6 +14857,10 @@ "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", + "dynamicEndpoints": { + "public": "responsible-reason-camp-67293.db-qa.redis.io:11836", + "private": "ultraclear-pocket-mercurial-75326.db-qa.redis.io:11836" + }, "replica": { "syncSources": [ { @@ -13895,6 +14930,10 @@ "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", + "dynamicEndpoints": { + "public": "rabbit-colorfast-cheery-91128.db-qa.redis.io:19708", + "private": "sprout-eucalyptus-care-43178.db-qa.redis.io:19708" + }, "replica": { "syncSources": [ { @@ -13964,6 +15003,10 @@ "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", + "dynamicEndpoints": { + "public": "connection-stitch-seafoam-17021.db-qa.redis.io:14503", + "private": "pocket-pan-neoswift-58145.db-qa.redis.io:14503" + }, "replica": { "syncSources": [ { @@ -14033,6 +15076,10 @@ "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", + "dynamicEndpoints": { + "public": "ecru-measure-theory-32604.db-qa.redis.io:11349", + "private": "error-rosemary-gold-92024.db-qa.redis.io:11349" + }, "replica": { "syncSources": [ { @@ -14084,6 +15131,10 @@ "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", + "dynamicEndpoints": { + "public": "purebred-saffronish-bird-84456.db-qa.redis.io:13074", + "private": "sparkly-tiger-jovial-96172.db-qa.redis.io:13074" + }, "replica": { "syncSources": [ { @@ -15358,6 +16409,10 @@ "dataPersistence": "none", "replication": true, "dataEvictionPolicy": "noeviction", + "dynamicEndpoints": { + "public": "beautiful-ultralight-board-76526.db-qa.redis.io:12345", + "private": "dog-ball-key-65499.db-qa.redis.io:12345" + }, "clustering": { "enabled": false, "regexRules": [ @@ -15438,6 +16493,10 @@ "dataPersistence": "none", "replication": true, "dataEvictionPolicy": "noeviction", + "dynamicEndpoints": { + "public": "morning-easy-volleyball-28510.db-qa.redis.io:12000", + "private": "table-peanut-chin-89928.db-qa.redis.io:12000" + }, "clustering": { "enabled": false, "regexRules": [ @@ -15621,6 +16680,49 @@ }, "description": "Private Service Connect endpoint update request" }, + "CreateEndpointsRedirectionRequest": { + "required": [ + "endpointTargetType", + "migrationProtection", + "sourceDatabaseId", + "targetDatabaseId" + ], + "type": "object", + "properties": { + "sourceDatabaseId": { + "type": "integer", + "description": "ID of the source database to redirect the endpoint from.", + "format": "int32", + "example": 51404231 + }, + "targetDatabaseId": { + "type": "integer", + "description": "ID of the target database to redirect the endpoint to.", + "format": "int32", + "example": 51404232 + }, + "endpointTargetType": { + "type": "string", + "description": "Type of endpoint to redirect.", + "example": "public", + "enum": [ + "public", + "private" + ] + }, + "duplicateACLs": { + "type": "boolean", + "description": "Whether to duplicate the source database ACLs to the target database.", + "example": true + }, + "migrationProtection": { + "type": "boolean", + "description": "Must be explicitly set to true to start the migration. This is a protective measure to avoid accidental migrations.", + "example": true + } + }, + "description": "Dynamic endpoint redirection request" + }, "DatabaseSlowLogEntries": { "type": "object", "properties": { @@ -15947,17 +17049,6 @@ }, "description": "Database tag" }, - "BdbAvailableVersionsResponse": { - "type": "object", - "properties": { - "targets": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TargetVersion" - } - } - } - }, "SubscriptionSpec": { "required": [ "regions" @@ -16021,6 +17112,31 @@ }, "description": "Essentials database backup request message" }, + "DatabaseVersionUpgradeStatus": { + "type": "object", + "properties": { + "databaseId": { + "type": "integer", + "format": "int32" + }, + "targetRedisVersion": { + "type": "string" + }, + "progress": { + "type": "number", + "format": "double" + }, + "upgradeStatus": { + "type": "string", + "enum": [ + "in-progress", + "in-progress-recovery-pending", + "done", + "failed" + ] + } + } + }, "DatabaseModuleSpec": { "required": [ "name" @@ -16430,7 +17546,7 @@ }, "multipleAvailabilityZones": { "type": "boolean", - "description": "Optional. Support deployment on multiple availability zones within the selected region. Default: 'false'", + "description": "Optional. Support deployment on multiple availability zones within the selected region. Default for Active-Active: matches the region's multi-AZ capability (true on multi-AZ regions, false on non-multi-AZ regions). Default for Pro / single-region: `false`.", "example": false }, "preferredAvailabilityZones": { @@ -16720,6 +17836,44 @@ }, "description": "RedisLabs region information" }, + "EndpointRedirectionDTO": { + "type": "object", + "properties": { + "sourceEndpointName": { + "type": "string", + "description": "Name of the source endpoint.", + "example": "redis-12345" + }, + "targetEndpointName": { + "type": "string", + "description": "Name of the target endpoint.", + "example": "redis-12346" + }, + "sourceEndpointType": { + "type": "string", + "description": "Type of the source endpoint.", + "example": "public", + "enum": [ + "public", + "private" + ] + }, + "targetEndpointType": { + "type": "string", + "description": "Type of the target endpoint.", + "example": "public", + "enum": [ + "public", + "private" + ] + }, + "errorMessage": { + "type": "string", + "description": "Error message describing why this endpoint redirection failed, if applicable." + } + }, + "description": "Details of a single endpoint redirection." + }, "TasksStateUpdate": { "type": "object", "properties": { @@ -16835,6 +17989,8 @@ "SUBSCRIPTION_INVALID_REGION_NAME", "SUBSCRIPTION_INVALID_REGION_ID", "SUBSCRIPTION_BAD_PREFERRED_AZ_SIZE", + "SUBSCRIPTION_REGION_DOES_NOT_SUPPORT_MULTI_AZ", + "SUBSCRIPTION_AA_NON_MAZ_REGION_NOT_SUPPORTED", "SUBSCRIPTION_PREFERRED_AZ_INVALID_VALUE", "SUBSCRIPTION_PREFERRED_AZ_MUST_BE_DEFINED_ONCE", "SUBSCRIPTION_PREFERRED_AZ_IS_DISABLED", @@ -17379,6 +18535,7 @@ "PRIVATE_LINK_PRINCIPAL_ALREADY_EXISTS", "PRIVATE_LINK_PRINCIPAL_NOT_FOUND", "PRIVATE_LINK_PRINCIPAL_INVALID_PRINCIPLE", + "PRIVATE_LINK_PRINCIPAL_CANNOT_BE_OWNER_ACCOUNT", "PRIVATE_LINK_CLOUD_PROVIDER_NOT_SUPPORTED", "PRIVATE_LINK_GET_A_FLEXIBLE_SUBSCRIPTION_PRIVATE_LINK_IS_NOT_ALLOWED_WITH_AN_ACTIVE_ACTIVE_SUBSCRIPTION", "PRIVATE_LINK_GET_AN_ACTIVE_ACTIVE_SUBSCRIPTION_PRIVATE_LINK_IS_NOT_ALLOWED_WITH_A_SINGLE_REGION_SUBSCRIPTION", @@ -17392,6 +18549,7 @@ "PRIVATE_LINK_DELETING_AN_ACTIVE_ACTIVE_SUBSCRIPTION_PRIVATE_LINK_IS_NOT_ALLOWED_WITH_A_SINGLE_REGION_SUBSCRIPTION", "PRIVATE_LINK_IS_NOT_SUPPORTED", "PRIVATE_LINK_SERVICE_ERROR", + "PRIVATE_LINK_SUBSCRIPTION_REACHED_MAX_DATABASES_COUNT", "PRIVATE_LINK_ALL_PRINCIPALS_MUST_BE_DELETED_BEFORE_DELETING_RESOURCE_LINK", "PRIVATE_LINK_DISASSOCIATE_CONNECTIONS_A_FLEXIBLE_SUBSCRIPTION_PRIVATE_LINK_IS_NOT_ALLOWED_WITH_AN_ACTIVE_ACTIVE_SUBSCRIPTION", "PRIVATE_LINK_DISASSOCIATE_CONNECTIONS_AN_ACTIVE_ACTIVE_SUBSCRIPTION_PRIVATE_LINK_IS_NOT_ALLOWED_WITH_A_SINGLE_REGION_SUBSCRIPTION", @@ -17704,12 +18862,17 @@ "type": "object", "properties": { "public": { - "type": "string" + "type": "string", + "description": "Public dynamic endpoint of the database. This is available in private preview.", + "example": "accessible-wise-produce-60121.db-qa.redis.io:13427" }, "private": { - "type": "string" + "type": "string", + "description": "Private dynamic endpoint of the database. This is available in private preview.", + "example": "effective-ticket-plants-62093.db-qa.redis.io:13427" } - } + }, + "description": "Database dynamic endpoints. This is available in private preview." }, "CrdbFlushRequest": { "type": "object", @@ -18277,6 +19440,10 @@ "dataPersistence": "none", "replication": true, "dataEvictionPolicy": "noeviction", + "dynamicEndpoints": { + "public": "hyperclear-comparison-purpose-36067.db-qa.redis.io:12037", + "private": "mahogany-refined-system-53022.db-qa.redis.io:12037" + }, "clustering": { "enabled": false, "regexRules": [ @@ -18473,6 +19640,11 @@ "description": "Optional. Enter a security group identifier that exists in the hosted AWS account. Security group Identifier must be in a valid format (for example: 'sg-0125be68a4625884ad') and must exist within the hosting account.", "example": "sg-0125be68a4625884ad" }, + "multipleAvailabilityZones": { + "type": "boolean", + "description": "Optional. Support deployment on multiple availability zones within the selected region. When omitted, defaults to true unless the region is explicitly marked as not supporting multi-AZ.", + "example": false + }, "preferredAvailabilityZones": { "type": "array", "description": "Optional. List the zone IDs for your preferred availability zones for the cloud provider and region.",