Header

Edit an existing server

This method allows you to edit a server.

URL

/projects/<project>/servers/<identifier>
  • Replace <project> with the permalink of the project.
  • Replace <identifier> with the identifier of the server.

HTTP Method

PUT

Supported Parameters

  • name - Friendly name for your server
  • protocol_type - Connection protocol, either ftp, ftps, rackspace, s3 or ssh (this field is required on all PUT requests so that DeployHQ can execute its test process correctly)
  • server_path - Where on the server should your files be placed (for example, public_html/ or /absolute/path/here)
  • email_notify_on - When do you want to receive email notifications, either never, failure or always
  • root_path - The subdirectory in your repository that you wish to deploy. Leave blank to use the default specified in the project.
  • auto_deploy - Should auto deployments be enabled, either true or false
  • notification_email - Custom notification e-mail address, leave blank to use the user who started the deployment's address
  • branch - Branch to deploy from, leave blank to use the project default
  • environment - Production, Testing, Development etc. can be substituted into SSH commands.
  • server_group_identifier - The server group that this server belongs to
  • agent_id - The ID of the network agent that you wish to connect through (omit, or send nil if you're connecting directly)

In addition to the above parameters, the following parameters are available depending on the protocol selected:

FTP

  • hostname
  • username
  • password
  • port
  • passive
  • force_hidden_files

FTPS

In addition to the FTP parameters, the following parameters are available for FTPS servers.

  • implicit
  • ignore_certificate_errors

SSH/SFTP

  • hostname
  • username
  • password
  • port
  • use_ssh_keys

Amazon S3

  • bucket_name
  • access_key_id
  • secret_access_key

Rackspace Cloud

  • username
  • api_key
  • region
  • container_name

Example Payload

curl -H "Content-type: application/json" \
-H "Accept: application/json" \
--user adam@atechmedia.com:my-api-key \
-X PUT \
-d { \
  "server" : { \
    "name": "Development", \
    "protocol_type" : "ftp", \
    "hostname": "localhost", \
    "username": "deployhq", \
    "password": "test" \
  } \
} \
https://test.deployhq.com/projects/project/servers/19bdc2ea-1c96-e09f-f3bf-4473990841b7

Example Response

{
    "identifier": "19bdc2ea-1c96-e09f-f3bf-4473990841b7",
    "name": "Development",
    "protocol_type": "ssh",
    "server_path": "",
    "auto_deploy_url": "https://test.deployhq.com/deploy/project/to/development/fewfwef",
    "last_revision": null,
    "preferred_branch": "master",
    "notify_email": null,
    "server_group_identifier": null,
    "hostname": "185.22.208.149",
    "username": "root",
    "port": 22,
    "host_key": "...."
}

Proudly powered by Katapult. Running on 100% renewable energy.