---
title: "Update a server"
method: PUT
path: "/projects/{project_id}/servers/{id}"
tags: ["Servers"]
---

# Update a server

`PUT /projects/{project_id}/servers/{id}`

## Request

- Base URL: `https://sg.deployhq.com`
- URL: `https://sg.deployhq.com/projects/{project_id}/servers/{id}`
- Auth: HTTP basic

Updates an existing server's configuration. If the server uses external authentication and is not yet authenticated, a redirect to the OAuth URL is returned.

## Path parameters

- `project_id` string, required
- `id` string, required

## Request body

- ServerObject2
  - `server` object, required
    - `name` string
    - `server_path` string
    - `email_notify_on` string
    - `root_path` string
    - `auto_deploy` boolean
    - `notification_email` string
    - `branch` string
    - `environment` string
    - `server_group_identifier` string
    - `agent_id` string
    - `enabled` boolean
    - `global_key_pair_id` string
    - `atomic` boolean
    - `atomic_strategy` string
    - `atomic_retention` integer
    - `docker_image` string
    - `docker_image_source` string
    - `curated_template_id` string
    - `commands` string
    - `halt_on_error` boolean

## Response `200`

Success

- Server
  - `id` integer
  - `identifier` string
  - `name` string
  - `protocol_type` string
  - `server_path` string
  - `last_revision` string, nullable
  - `preferred_branch` string
  - `branch` string
  - `notify_email` string
  - `server_group_identifier` string, nullable
  - `auto_deploy` boolean
  - `environment` string
  - `enabled` boolean
  - `agent` string, nullable
  - `atomic` boolean
  - `atomic_strategy` string
  - `atomic_retention` integer
  - `use_compression` boolean
  - `use_accelerated_transfer` boolean
  - `use_parallel_upload` boolean
  - `root_path` string
  - `position` integer
  - `created_at` string
  - `updated_at` string
  - `connection_checked_at` string, nullable
  - `connection_error_message` string, nullable
  - `hostname` string
  - `username` string
  - `port` integer
  - `use_ssh_keys` boolean
  - `host_key` string
  - `unlink_before_upload` boolean

## Other responses

- `401`: You are not authorized to access this resource. You need to authenticate yourself first.
- `403`: You are not allowed to access this resource. You do not have the necessary permissions.
- `404`: The requested resource could not be found.
- `422`: Unprocessable Entity
- `500`: An unexpected error occurred on the server. The server was unable to process the request.

---

[API](https://skmtc.dev/deployhq/apis/deployhq-api-interactive-documentation.md) · [All operations](https://skmtc.dev/deployhq/apis/deployhq-api-interactive-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/deployhq/apis/deployhq-api-interactive-documentation/revisions/830264ae58be?raw)
