#Task
This command is functionally nearly equivalent to [Create Command](Create%20Command.md), but it's a bit simpler:
```go
var deleteCmd = &cobra.Command{
Use: "delete",
Short: "Delete a server by ID",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
authToken := config.GetToken()
serverID, _ := cmd.Flags().GetInt("server-id")
insecureFlag, err := cmd.Flags().GetBool("insecure")
result := &config.StandardResponse{}
url := fmt.Sprintf("https://"+os.Getenv("API_URL")+"servers/%d", serverID)
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: false},
}
if insecureFlag {
tr = &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
}
client := resty.New()
client.SetTransport(tr)
resp, err := client.R().
SetHeader("Content-Type", "application/json").
SetHeader("authorization", "Bearer "+authToken).
SetResult(result). // or SetResult(&AuthSuccess{}).
Delete(url)
// fmt.Println("Response: ", resp)
if err != nil {
fmt.Println("Error sending request: ", err)
}
if resp.StatusCode() != 200 {
fmt.Println("\nError from API: ", resp.StatusCode(), resp.String()+"\n")
return
}
fmt.Println("\nStatus:\n" + result.Status + "\n")
if len(result.Warnings) != 0 {
for _, warning := range result.Warnings {
fmt.Println("\nWarnings:\n" + warning + "\n")
}
}
},
}
```
- We get our token and values passed in via flags, form our empty result object using the type defined in [Types](Types.md), determine if we skip the SSL verification via the `--insecure` flag and continue on with our request.
- This request uses DELETE instead of POST and we determine which server to delete by the url path:
- The `serverID` flag is appended to the end of the URL path, so the API knows which server we're targeting.
- Then we return the result and warnings like normal