> ## Documentation Index
> Fetch the complete documentation index at: https://gcore.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Replace bare metal GPU cluster server

> Delete a server from the cluster and provision a new one in its place,
maintaining the cluster size. Uses the current cluster configuration
(image, SSH key, network settings) for the new server.

By default the replacement keeps the original Public/Private IPs (ethernet only).
Set `keep_ip_addresses=false` for fresh IPs.



## OpenAPI

````yaml /api-reference/services_docs_mintlify/cloud_api.yaml post /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}/replace
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Cloud API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: 61ff2793a80b
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Bare Metal
  - name: Container as a Service
  - name: Cost Reports
  - name: DDoS Protection
  - name: Everywhere Inference
  - name: Everywhere Inference Apps
  - name: File Shares
  - name: Floating IPs
  - name: Function as a Service
  - name: GPU Bare Metal
  - name: GPU Virtual
  - name: IP Ranges
  - name: Images
  - name: Instances
  - name: Load Balancers
  - name: Logging
  - name: Managed Kubernetes
  - name: Managed PostgreSQL
  - name: Networks
  - name: Placement Groups
  - name: Ports
  - name: Projects
  - name: Quotas
  - name: Regions
  - name: Registry
  - name: Reservations
  - name: Reserved IPs
  - name: Routers
  - name: SSH Keys
  - name: Secrets
  - name: Security Groups
  - name: Snapshot Schedules
  - name: Snapshots
  - name: Tasks
  - name: User Actions
  - name: User Role Assignments
  - name: Volumes
paths:
  /cloud/v3/gpu/baremetal/{project_id}/{region_id}/clusters/{cluster_id}/servers/{server_id}/replace:
    post:
      tags:
        - GPU Bare Metal
      summary: Replace bare metal GPU cluster server
      description: >-
        Delete a server from the cluster and provision a new one in its place,

        maintaining the cluster size. Uses the current cluster configuration

        (image, SSH key, network settings) for the new server.


        By default the replacement keeps the original Public/Private IPs
        (ethernet only).

        Set `keep_ip_addresses=false` for fresh IPs.
      operationId: BaremetalClusterServerReplaceAction.post
      parameters:
        - in: path
          name: project_id
          required: true
          description: Project ID
          schema:
            description: Project ID
            example: 1
            examples:
              - 1
            title: Project Id
            type: integer
        - in: path
          name: region_id
          required: true
          description: Region ID
          schema:
            description: Region ID
            example: 7
            examples:
              - 7
            title: Region Id
            type: integer
        - in: path
          name: cluster_id
          required: true
          description: Cluster unique identifier
          schema:
            description: Cluster unique identifier
            example: 1aaaab48-10d0-46d9-80cc-85209284ceb4
            examples:
              - 1aaaab48-10d0-46d9-80cc-85209284ceb4
            format: uuid4
            title: Cluster Id
            type: string
        - in: path
          name: server_id
          required: true
          description: Server unique identifier
          schema:
            description: Server unique identifier
            example: f1c1eeb6-1834-48c9-a7b0-daafce64872b
            examples:
              - f1c1eeb6-1834-48c9-a7b0-daafce64872b
            format: uuid4
            title: Server Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaremetalClusterServerReplaceBodySerializer'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
components:
  schemas:
    BaremetalClusterServerReplaceBodySerializer:
      properties:
        keep_ip_addresses:
          default: true
          description: >-
            Retain the original Public/Private IPs on the replacement node
            (ethernet only). When false, new IPs are assigned. No effect on
            InfiniBand interfaces.
          example: true
          examples:
            - true
          title: Keep Ip Addresses
          type: boolean
      title: BaremetalClusterServerReplaceBodySerializer
      type: object
    TaskIDsSerializer:
      properties:
        tasks:
          description: >-
            List of task IDs representing asynchronous operations. Use these IDs
            to monitor operation progress:

            - `GET /v1/tasks/{task_id}` - Check individual task status and
            details

            Poll task status until completion (`FINISHED`/`ERROR`) before
            proceeding with dependent operations.
          example:
            - d478ae29-dedc-4869-82f0-96104425f565
          examples:
            - - d478ae29-dedc-4869-82f0-96104425f565
          items:
            type: string
          title: Tasks
          type: array
      required:
        - tasks
      title: TaskIDsSerializer
      type: object
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````