openapi: 3.2.0 info: title: Redis Cloud Endpoint Redirections 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 security: - x-api-key: [] x-api-secret-key: [] x-auth-token: [] tags: - name: Endpoint Redirections description: Dynamic endpoint redirection operations. x-order: '21' paths: /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' '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/{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 ' components: schemas: 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 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. 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 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 x-auth-token: type: apiKey name: x-auth-token in: header externalDocs: description: Redis Cloud API Documentation url: https://docs.redislabs.com/latest/rc/api/