Restart Gateway
curl --request POST \
--url http://localhost:8000/gateway/restart \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"image": "hummingbot/gateway:development",
"port": 15888
}
'import requests
url = "http://localhost:8000/gateway/restart"
payload = {
"image": "hummingbot/gateway:development",
"port": 15888
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({image: 'hummingbot/gateway:development', port: 15888})
};
fetch('http://localhost:8000/gateway/restart', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/gateway/restart",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'image' => 'hummingbot/gateway:development',
'port' => 15888
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8000/gateway/restart"
payload := strings.NewReader("{\n \"image\": \"hummingbot/gateway:development\",\n \"port\": 15888\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8000/gateway/restart")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"hummingbot/gateway:development\",\n \"port\": 15888\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/gateway/restart")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"image\": \"hummingbot/gateway:development\",\n \"port\": 15888\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Gateway
Restart Gateway
Restart Gateway container.
If config is provided, the container will be removed and recreated with new configuration. If no config is provided, the container will be stopped and started with existing configuration.
POST
/
gateway
/
restart
Restart Gateway
curl --request POST \
--url http://localhost:8000/gateway/restart \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"image": "hummingbot/gateway:development",
"port": 15888
}
'import requests
url = "http://localhost:8000/gateway/restart"
payload = {
"image": "hummingbot/gateway:development",
"port": 15888
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({image: 'hummingbot/gateway:development', port: 15888})
};
fetch('http://localhost:8000/gateway/restart', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/gateway/restart",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'image' => 'hummingbot/gateway:development',
'port' => 15888
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8000/gateway/restart"
payload := strings.NewReader("{\n \"image\": \"hummingbot/gateway:development\",\n \"port\": 15888\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8000/gateway/restart")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"hummingbot/gateway:development\",\n \"port\": 15888\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/gateway/restart")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"image\": \"hummingbot/gateway:development\",\n \"port\": 15888\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Body
application/json
Configuration for Gateway container deployment.
The Gateway always runs secured (TLS + mTLS); there is intentionally no dev_mode and no
passphrase field (SEC-048):
- A Gateway that holds wallet keys must never be served over plain HTTP, so the API does not support a dev/insecure mode.
- The Gateway (v2.x) uses a single
GATEWAY_PASSPHRASEfor both TLS cert-key decryption and wallet encryption, and the shared mTLS cert set must be decryptable by this API's clients (which useCONFIG_PASSWORD). The passphrase is therefore alwaysCONFIG_PASSWORD; a separate value would only break the API<->Gateway mTLS chain.
Response
Successful Response
Was this page helpful?

