This method allows you to add a new SSH command to an existing template.

## URL 

```bash
/templates/<permalink>/ssh_commands
```

* Replace `<permalink>` with the permalink of your template.

## HTTP Method

```
POST
```

## Supported Parameters

* `description` - The description of the command (required)
* `command` - The actual command (required)
* `cback` - When the command should be run (required)
  * `before_changes` - Before changes have been uploaded
  * `after_changes` - After changes have been uploaded
* `timing` - Run on one of the following (required)
  * `all` - All deployments
  * `first` - Only on the first deployment to the server
  * `after_first` - Only after the first deployment to the server
* `halt_on_error` - If DeployHQ should halt a deployment if a command fails to run (optional)
* `timeout` - A timeout for how long the SSH command should be run (required), the following options are permitted and must be provided as an integer as a number of seconds
  * `300` - 300 seconds (5 minutes)
  * `1800` - 1800 seconds (30 minutes)
  * `3600` - 3600 seconds (1 hour)
  * `5400` - 5400 seconds (90 minutes)

## Example cURL Request

```bash
curl -H "Content-type: application/json" \
-H "Accept: application/json" \
--user adam@atechmedia.com:my-api-key \
-X POST \
-d '{ \
  "command" : { \
    "description": "Test command", \
    "command" : "echo test;", \
    "timing" : "all", \
    "timeout" : 300, \
    "cback" : "after_changes" \
  } \
}' \
https://atech.deployhq.com/templates/api-created/ssh_commands
```

## Example response 

```json
{
  "identifier":"5ed08994-2b93-4901-bba5-d55f1dd1c51b",
  "cback":"after_changes",
  "position":2,
  "description":"Test command",
  "command":"echo test;",
  "halt_on_error":false,
  "servers":[],
  "timing":"all",
  "timeout":300
}
```