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

# Update deploy config



## OpenAPI

````yaml https://spec.speakeasy.com/latitude/latitude/latitude-sh-api-with-code-samples patch /servers/{server_id}/deploy_config
openapi: 3.0.1
info:
  title: Latitude.sh API
  version: '2023-06-01'
  description: >-
    The Latitude.sh API is a RESTful API to manage your Latitude.sh account. It
    allows you to perform the same actions as the Latitude.sh dashboard.
servers:
  - url: https://api.latitude.sh
    variables:
      latitude_api_key:
        default: <insert your api key here>
  - url: http://api.latitude.sh
    variables:
      latitude_api_key:
        default: <insert your api key here>
security: []
tags:
  - name: API keys
  - name: Baselines (Preview)
    description: >-
      Preview. Available to teams with the `baselines_api` feature flag. The
      shape of these endpoints may change before general availability.
  - name: Billing
  - name: Elastic Ips
  - name: Events
  - name: Firewalls
  - name: IP Addresses
  - name: Managed Databases
    description: Managed database instances (PostgreSQL, ClickHouse)
  - name: Kubernetes Clusters
  - name: LKS
  - name: Marketplace apps
  - name: Operating Systems
  - name: Plans
  - name: Public Networks
  - name: Private Networks
  - name: Projects
  - name: Regions
  - name: Roles
  - name: SSH Keys
  - name: Servers
  - name: Block Storage
  - name: Filesystem Storage
  - name: Object Storage
  - name: Tags
  - name: Teams
  - name: Team members
  - name: Traffic
  - name: User data
  - name: User profile
  - name: VPN Sessions
  - name: Virtual machines
  - name: Virtual machine backups
  - name: Virtual machine restores
paths:
  /servers/{server_id}/deploy_config:
    patch:
      tags:
        - Servers
      summary: Update deploy config
      operationId: update-server-deploy-config
      parameters:
        - name: server_id
          in: path
          description: The Server ID
          required: true
          examples:
            Success:
              value: sv_lkg1DeYLDvZE5
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                    type:
                      type: string
                      enum:
                        - deploy_config
                    attributes:
                      type: object
                      properties:
                        hostname:
                          type: string
                          nullable: true
                        operating_system:
                          type: string
                          enum:
                            - almalinux-10
                            - almalinux-9
                            - centos-9-stream
                            - debian_12
                            - debian_13
                            - fedora-44
                            - ipxe
                            - opensuse-15
                            - oraclelinux-10
                            - oraclelinux-9
                            - proxmox-9
                            - proxmox-backup-server-4
                            - rocky-10
                            - rocky-9
                            - ubuntu24_ml_in_a_box
                            - ubuntu24_ml_in_a_box_sxm
                            - ubuntu26_ml_in_a_box
                            - ubuntu_24_04_x64_lts
                            - ubuntu_26_04_x64_lts
                          nullable: true
                        raid:
                          type: string
                          description: >-
                            RAID mode for the server. Set to 'raid-0' for RAID
                            0, 'raid-1' for RAID 1, or omit/null for no RAID
                            configuration
                          enum:
                            - raid-0
                            - raid-1
                          nullable: true
                        disk_layout:
                          type: array
                          nullable: true
                          items:
                            type: object
                            required:
                              - count
                              - role
                            properties:
                              count:
                                type: integer
                                minimum: 1
                              role:
                                type: string
                                enum:
                                  - os
                                  - storage
                                  - raw
                              raid_level:
                                type: string
                                enum:
                                  - raid-0
                                  - raid-1
                                nullable: true
                              filesystem:
                                type: string
                                enum:
                                  - ext4
                                nullable: true
                              mount_point:
                                type: string
                                nullable: true
                        user_data:
                          type: string
                          description: User data to configure the server
                          nullable: true
                        ssh_keys:
                          type: array
                          nullable: true
                          items:
                            type: string
                        ipxe_url:
                          type: string
                          description: >-
                            URL where iPXE script is stored on, necessary for
                            custom image deployments. This attribute is required
                            when operating system iPXE is selected.
                          nullable: true
                        ipxe:
                          type: string
                          description: >-
                            URL where the iPXE script is stored, or the iPXE
                            script encoded in base64. This attribute is required
                            when the iPXE operating system is selected. Replaces
                            the deprecated 'ipxe_url'.
                          nullable: true
                        persistent_netboot:
                          type: boolean
                          description: >-
                            Keep network boot enabled so the server iPXE-boots
                            on every reboot instead of booting from disk. Only
                            supported with the 'ipxe' operating system.
                        public_network:
                          type: boolean
                          nullable: true
                          description: >-
                            Set to 'true' to attach the server onto a public
                            network. Requires 'public_network_id'. Available
                            only when the public network feature is enabled for
                            the server's location.
                        public_network_id:
                          type: string
                          nullable: true
                          description: >-
                            ID of a customer public network to attach the server
                            onto. Requires 'public_network' to be 'true'. The
                            public network must belong to the same project and
                            be in the same location as the server, and must have
                            at least one free IP address. This public network
                            configuration is saved to the deploy config and
                            inherited by future reinstalls until changed.
                            Available only when the public network feature is
                            enabled for the server's location.
                  required:
                    - type
              required:
                - data
            examples:
              Success:
                summary: Success
                value:
                  data:
                    type: deploy_config
                    attributes:
                      ssh_keys:
                        - ssh_m5xyZOnNOWM0l
                      user_data: ud_5LA73qkjdaJ2o
                      raid: raid-1
                      operating_system: ubuntu_20_04_x64_lts
                      hostname: my-hostname
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                    type:
                      type: string
                      enum:
                        - deploy_config
                    attributes:
                      type: object
                      properties:
                        hostname:
                          type: string
                          nullable: true
                        operating_system:
                          type: string
                          enum:
                            - almalinux-10
                            - almalinux-9
                            - centos-9-stream
                            - debian_12
                            - debian_13
                            - fedora-44
                            - ipxe
                            - opensuse-15
                            - oraclelinux-10
                            - oraclelinux-9
                            - proxmox-9
                            - proxmox-backup-server-4
                            - rocky-10
                            - rocky-9
                            - ubuntu24_ml_in_a_box
                            - ubuntu24_ml_in_a_box_sxm
                            - ubuntu26_ml_in_a_box
                            - ubuntu_24_04_x64_lts
                            - ubuntu_26_04_x64_lts
                          nullable: true
                        raid:
                          type: string
                          description: >-
                            RAID mode for the server. Set to 'raid-0' for RAID
                            0, 'raid-1' for RAID 1, or omit/null for no RAID
                            configuration
                          enum:
                            - raid-0
                            - raid-1
                          nullable: true
                        disk_layout:
                          type: array
                          nullable: true
                          items:
                            type: object
                            required:
                              - count
                              - role
                            properties:
                              count:
                                type: integer
                                minimum: 1
                              role:
                                type: string
                                enum:
                                  - os
                                  - storage
                                  - raw
                              raid_level:
                                type: string
                                enum:
                                  - raid-0
                                  - raid-1
                                nullable: true
                              filesystem:
                                type: string
                                enum:
                                  - ext4
                                nullable: true
                              mount_point:
                                type: string
                                nullable: true
                        user_data:
                          type: string
                          description: User data to configure the server
                          nullable: true
                        ssh_keys:
                          type: array
                          nullable: true
                          items:
                            type: string
                        ipxe_url:
                          type: string
                          description: >-
                            URL where iPXE script is stored on, necessary for
                            custom image deployments. This attribute is required
                            when operating system iPXE is selected.
                          nullable: true
                        ipxe:
                          type: string
                          description: >-
                            URL where the iPXE script is stored, or the iPXE
                            script encoded in base64. This attribute is required
                            when the iPXE operating system is selected. Replaces
                            the deprecated 'ipxe_url'.
                          nullable: true
                        persistent_netboot:
                          type: boolean
                          description: >-
                            Keep network boot enabled so the server iPXE-boots
                            on every reboot instead of booting from disk. Only
                            supported with the 'ipxe' operating system.
                        public_network:
                          type: boolean
                          nullable: true
                          description: >-
                            Set to 'true' to attach the server onto a public
                            network. Requires 'public_network_id'. Available
                            only when the public network feature is enabled for
                            the server's location.
                        public_network_id:
                          type: string
                          nullable: true
                          description: >-
                            ID of a customer public network to attach the server
                            onto. Requires 'public_network' to be 'true'. The
                            public network must belong to the same project and
                            be in the same location as the server, and must have
                            at least one free IP address. This public network
                            configuration is saved to the deploy config and
                            inherited by future reinstalls until changed.
                            Available only when the public network feature is
                            enabled for the server's location.
                  required:
                    - type
              required:
                - data
            examples:
              Success:
                summary: Success
                value:
                  data:
                    type: deploy_config
                    attributes:
                      ssh_keys:
                        - ssh_m5xyZOnNOWM0l
                      user_data: ud_5LA73qkjdaJ2o
                      raid: raid-1
                      operating_system: ubuntu_20_04_x64_lts
                      hostname: my-hostname
        required: true
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              examples:
                Success:
                  value:
                    data:
                      id: sv_lkg1DeYLDvZE5
                      type: deploy_config
                      attributes:
                        ssh_keys:
                          - ssh_m5xyZOnNOWM0l
                        user_data: ud_5LA73qkjdaJ2o
                        raid: raid-1
                        operating_system: ubuntu_20_04_x64_lts
                        hostname: my-hostname
                        ipxe_url: null
                        ipxe: null
                    meta: {}
              schema:
                $ref: '#/components/schemas/deploy_config'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              examples:
                FeatureNotEnabled:
                  value:
                    errors:
                      - code: FEATURE_NOT_ENABLED
                        title: Feature Not Enabled
                        detail: Public networks are not enabled for this team
                        status: '403'
              schema:
                $ref: '#/components/schemas/error_object'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.api+json:
              examples:
                PublicNetworkNotSupportedForServer:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: >-
                          cannot be used: the server has 0 cabled bond NICs, but
                          a bond requires exactly 2
                        status: '422'
                        source:
                          pointer: public_network_id
                PublicNetworkHasNoFreeAddresses:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: has no free IP addresses
                        status: '422'
                        source:
                          pointer: public_network_id
                PublicNetworkIdRequiredWhenPublicNetwork:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: is required when public_network is true
                        status: '422'
                        source:
                          pointer: public_network_id
                PublicNetworkRequiredForPublicNetworkId:
                  value:
                    errors:
                      - code: VALIDATION_ERROR
                        title: Validation Error
                        detail: can only be set when public_network is true
                        status: '422'
                        source:
                          pointer: public_network_id
              schema:
                $ref: '#/components/schemas/error_object'
      security:
        - Bearer: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            import latitudesh_python_sdk
            from latitudesh_python_sdk import Latitudesh
            import os


            with Latitudesh(
                bearer=os.getenv("LATITUDESH_BEARER", ""),
            ) as latitudesh:

                res = latitudesh.servers.update_deploy_config(server_id="sv_lkg1DeYLDvZE5", data={
                    "type": latitudesh_python_sdk.UpdateServerDeployConfigServersType.DEPLOY_CONFIG,
                    "attributes": {
                        "hostname": "my-hostname",
                        "operating_system": latitudesh_python_sdk.UpdateServerDeployConfigServersOperatingSystem.CENTOS_9_STREAM,
                        "raid": latitudesh_python_sdk.UpdateServerDeployConfigServersRaid.RAID_1,
                        "user_data": "ud_5LA73qkjdaJ2o",
                        "ssh_keys": [
                            "ssh_m5xyZOnNOWM0l",
                        ],
                    },
                })

                # Handle response
                print(res)
        - lang: go
          label: Go (SDK)
          source: "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"github.com/latitudesh/latitudesh-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := latitudeshgosdk.New(\n        latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n    )\n\n    res, err := s.Servers.UpdateDeployConfig(ctx, \"sv_lkg1DeYLDvZE5\", operations.UpdateServerDeployConfigServersRequestBody{\n        Data: operations.UpdateServerDeployConfigServersData{\n            Type: operations.UpdateServerDeployConfigServersTypeDeployConfig,\n            Attributes: &operations.UpdateServerDeployConfigServersAttributes{\n                Hostname: latitudeshgosdk.Pointer(\"my-hostname\"),\n                OperatingSystem: operations.UpdateServerDeployConfigServersOperatingSystemCentos9Stream.ToPointer(),\n                Raid: operations.UpdateServerDeployConfigServersRaidRaid1.ToPointer(),\n                UserData: latitudeshgosdk.Pointer(\"ud_5LA73qkjdaJ2o\"),\n                SSHKeys: []string{\n                    \"ssh_m5xyZOnNOWM0l\",\n                },\n            },\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.DeployConfig != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { Latitudesh } from "latitudesh-typescript-sdk";

            const latitudesh = new Latitudesh({
              bearer: process.env["LATITUDESH_BEARER"] ?? "",
            });

            async function run() {
              const result = await latitudesh.servers.updateDeployConfig({
                serverId: "sv_lkg1DeYLDvZE5",
                requestBody: {
                  data: {
                    type: "deploy_config",
                    attributes: {
                      hostname: "my-hostname",
                      operatingSystem: "centos-9-stream",
                      raid: "raid-1",
                      userData: "ud_5LA73qkjdaJ2o",
                      sshKeys: [
                        "ssh_m5xyZOnNOWM0l",
                      ],
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
components:
  schemas:
    deploy_config:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            type:
              type: string
              enum:
                - deploy_config
            attributes:
              type: object
              properties:
                operating_system:
                  type: string
                hostname:
                  type: string
                raid:
                  type: string
                  nullable: true
                disk_layout:
                  type: array
                  nullable: true
                  items:
                    type: object
                    required:
                      - count
                      - role
                    properties:
                      count:
                        type: integer
                        minimum: 1
                      role:
                        type: string
                        enum:
                          - os
                          - storage
                          - raw
                      raid_level:
                        type: string
                        enum:
                          - raid-0
                          - raid-1
                        nullable: true
                      filesystem:
                        type: string
                        enum:
                          - ext4
                        nullable: true
                      mount_point:
                        type: string
                        nullable: true
                user_data:
                  type: string
                ssh_keys:
                  type: array
                  items:
                    type: string
                ipxe_url:
                  type: string
                  nullable: true
                ipxe:
                  type: string
                  nullable: true
                persistent_netboot:
                  type: boolean
                  nullable: true
                  description: >-
                    Keep network boot enabled so the server iPXE-boots on every
                    reboot instead of booting from disk. Only supported with the
                    'ipxe' operating system.
                public_network:
                  type: boolean
                  nullable: true
                public_network_id:
                  type: string
                  nullable: true
        meta:
          type: object
    error_object:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                nullable: true
              status:
                type: string
              title:
                type: string
              detail:
                type: string
              source:
                type: object
                properties:
                  pointer:
                    type: string
                  parameter:
                    type: string
              meta:
                type: object
  securitySchemes:
    Bearer:
      type: apiKey
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.