Appearance
staff.gateways
13 methods on staff.gateways. Each returns the answer's data and throws NoviqaError on a failed answer.
list
GET
/admin/v1/gatewaysList gateways
Every liquidity provider connection, by priority (lower first, then id). Not paged. The password is never returned (has_password says whether one is stored) and sealed parameters (FIX SSL Private Key) read as ********. Datafeeds and gateways are platform-wide (no group scope). Every change writes a config line to the journal and raises the configuration version, so the service that runs the connection picks it up and reconnects.
More details
Rights: the staff member needs every one of: config.gateways.
Returns
Promise<Gateway[]>The answer's
data.Errors
401
auth.session_expired: session expired, sign in again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.list()bash
curl -X GET "$NOVIQA_API_URL/admin/v1/gateways" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": [
{
"allow_import_balances": true,
"collect_transactions_days": 1,
"created_at": "2026-09-25T10:15:00Z",
"enabled": true,
"gateway_login": "string",
"gateway_password": "string",
"gateway_server": "string",
"groups": [
{}
],
"has_gateway_password": true,
"has_password": true,
"id": 1,
"import_symbol_settings": true
}
],
"request_id": "5b7f2c1e"
}ts
staff.gateways.list(options?: RequestOptions): Promise<models.Gateway[]>create
POST
/admin/v1/gatewaysCreate a gateway
Starts from the defaults (module fix44, enabled, reconnect 5 s, 3 attempts per series, 60 s pause between series, the module's parameter list) and applies the body over them. Required: name (1-64 letters, digits, spaces or . _ & # -, unique) and server (host:port). A params list replaces the whole list, so send every parameter you keep. While enabled, SenderCompID and TargetCompID must have a value. Limits: priority 0-1000, login 64 and password 128 characters, reconnect 1-600 s, attempts 1-1000, series pause 0-86400 s; FIX Quantity Mode Units or Lots; Limit Orders Coverage Mode Gateway, Limit or Market; Order Placement Timeout 1-3600 s; Trading Calendar Holidays entries like +25DEC or -06JAN separated by ;; FIX SSL Certificate and FIX SSL Private Key set together and forming a pair (the key is stored sealed and needs SECRET_KEY). Translates and symbol masks follow the datafeed rules; the symbol list never limits which orders a gateway takes (routing decides). Unknown fields are refused. Answers the stored gateway at version 1. Datafeeds and gateways are platform-wide (no group scope). Every change writes a config line to the journal and raises the configuration version, so the service that runs the connection picks it up and reconnects.
More details
Rights: the staff member needs every one of: config.gateways.
Request body
allow_import_balancesbooleanaccept the provider's balance on account import
collect_transactions_daysintegerdays of transactions kept for monitoring, 0 = off
created_atstringUTC time, RFC 3339.
enabledbooleangateway_loginstringgateway_passwordstringwrite-only: never returned, stored sealed
gateway_serverstringGatewayServer, GatewayLogin and GatewayPassword name a separate connection (e.g. a gateway server distinct from the liquidity provider dial-out) the module may need; stored like Server/Login/Password, not read by execution yet.
groupsGatewayGroup_input[]per-group symbol masks, narrower than Symbols
has_gateway_passwordbooleanread-only
has_passwordbooleanread-only
idintegerimport_symbol_settingsbooleanapply the provider's symbol settings (digits, sizes) on import
loginstringmodestringActive (we dial the provider) or Passive (it dials us)
modulestringfix44
namestringparamsFeedParam_input[]the module's settings
passwordstringwrite-only: never returned, stored sealed
priorityintegerlower first when a route names no order
profilingbooleankeep detailed session profiling, once that is built
reconnect_attemptsintegerattempts in one series
reconnect_secintegerwait between connection attempts
series_pause_secintegerwait after a series that never logged on
serverstringhost:port of the provider
sslbooleansecure connection: turns on FIX SSL Enabled even when no parameter sets it
symbolsstring[]masks of the symbols it serves settings and quotes for; never gates orders
timeout_secintegerseconds to wait for a connection to answer before giving up
translatesFeedTranslate_input[]our symbol <-> the provider's name, digits and markup
updated_atstringUTC time, RFC 3339.
versionintegerReturns
Promise<Gateway>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.csrf_invalid: request refused: reload the page and try again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action409
conflict: already exists500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.create({
enabled: false,
login: "hs-orders",
module: "fix44",
name: "Prime LP",
password: "S3cret#Pass",
priority: 1,
server: "fix.example.com:9880",
symbols: [
"Forex\\*"
],
translates: []
})bash
curl -X POST "$NOVIQA_API_URL/admin/v1/gateways" \
-H "Authorization: Bearer $NOVIQA_TOKEN" \
-H "Content-Type: application/json" \
--data-raw '{
"enabled": false,
"login": "hs-orders",
"module": "fix44",
"name": "Prime LP",
"password": "S3cret#Pass",
"priority": 1,
"server": "fix.example.com:9880",
"symbols": [
"Forex\\*"
],
"translates": []
}'json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"allow_import_balances": true,
"collect_transactions_days": 1,
"created_at": "2026-09-25T10:15:00Z",
"enabled": true,
"gateway_login": "string",
"gateway_password": "string",
"gateway_server": "string",
"groups": [
{
"group": "real\\standard",
"symbols": [
"string"
]
}
],
"has_gateway_password": true,
"has_password": true,
"id": 1,
"import_symbol_settings": true
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.create(body: models.Gateway, options?: RequestOptions): Promise<models.Gateway>modules
GET
/admin/v1/gateways/modulesList gateway modules
The kinds of provider connection (fix44 only) with the parameters a new gateway starts with and the parameters that must have a value before it can be enabled.
More details
Rights: the staff member needs every one of: config.gateways.
Returns
Promise<FeedModule[]>The answer's
data.Errors
401
auth.session_expired: session expired, sign in again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.modules()bash
curl -X GET "$NOVIQA_API_URL/admin/v1/gateways/modules" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": [
{
"certificate": "string",
"description": "string",
"label": "string",
"module": "string",
"params": [
{}
],
"required": [
"string"
],
"signed_by": "string"
}
],
"request_id": "5b7f2c1e"
}ts
staff.gateways.modules(options?: RequestOptions): Promise<models.FeedModule[]>updateOrder
PUT
/admin/v1/gateways/orderReorder gateways
Sets the priorities 1, 2, ... in the order of ids (used first when a routing rule names no order). ids must list every gateway exactly once. Versions do not change. Answers the whole list in its new order (parameters as stored; sealed values read as sealed:...). Datafeeds and gateways are platform-wide (no group scope). Every change writes a config line to the journal and raises the configuration version, so the service that runs the connection picks it up and reconnects.
More details
Rights: the staff member needs every one of: config.gateways.
Request body
idsinteger[]Returns
Promise<Gateway[]>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.csrf_invalid: request refused: reload the page and try again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.updateOrder({
ids: [
2,
1
]
})bash
curl -X PUT "$NOVIQA_API_URL/admin/v1/gateways/order" \
-H "Authorization: Bearer $NOVIQA_TOKEN" \
-H "Content-Type: application/json" \
--data-raw '{
"ids": [
2,
1
]
}'json
{
"success": true,
"code": "ok",
"message": "done",
"data": [
{
"allow_import_balances": true,
"collect_transactions_days": 1,
"created_at": "2026-09-25T10:15:00Z",
"enabled": true,
"gateway_login": "string",
"gateway_password": "string",
"gateway_server": "string",
"groups": [
{}
],
"has_gateway_password": true,
"has_password": true,
"id": 1,
"import_symbol_settings": true
}
],
"request_id": "5b7f2c1e"
}ts
staff.gateways.updateOrder(body: http.orderBody, options?: RequestOptions): Promise<models.Gateway[]>statuses
GET
/admin/v1/gateways/statusesEvery gateway's connection status
The latest report of execution about each gateway, in list order. A disabled gateway reads disabled, one no execution copy reports on reads stopped, and one reported online whose session stopped answering reads stopped with a last_error.
More details
Rights: the staff member needs every one of: config.gateways.
Returns
Promise<GatewayStatus[]>The answer's
data.Errors
401
auth.session_expired: session expired, sign in again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.statuses()bash
curl -X GET "$NOVIQA_API_URL/admin/v1/gateways/statuses" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": [
{
"answer_ms": 1,
"bytes_in": 1,
"bytes_out": 1,
"fills": 1,
"gateway_id": 1,
"instance": "string",
"instruments": 1,
"last_error": "string",
"last_logon": "2026-09-25T10:15:00Z",
"logons": 1,
"orders": 1,
"outbox": 1
}
],
"request_id": "5b7f2c1e"
}ts
staff.gateways.statuses(options?: RequestOptions): Promise<models.GatewayStatus[]>retrieve
GET
/admin/v1/gateways/{id}Get a gateway
One gateway with its parameters (sealed ones as ********), symbol masks and translates.
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
Returns
Promise<Gateway>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.retrieve(1)bash
curl -X GET "$NOVIQA_API_URL/admin/v1/gateways/1" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"allow_import_balances": true,
"collect_transactions_days": 1,
"created_at": "2026-09-25T10:15:00Z",
"enabled": true,
"gateway_login": "string",
"gateway_password": "string",
"gateway_server": "string",
"groups": [
{
"group": "real\\standard",
"symbols": [
"string"
]
}
],
"has_gateway_password": true,
"has_password": true,
"id": 1,
"import_symbol_settings": true
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.retrieve(id: number, options?: RequestOptions): Promise<models.Gateway>update
PATCH
/admin/v1/gateways/{id}Change a gateway
Send version (the one you last read) and the fields to change; id, has_password, created_at and updated_at cannot be sent. params, symbols and translates replace the whole list; a sealed parameter sent back as ******** keeps its stored value. password "" removes the password; leaving it out keeps it. The create rules apply to the result. A change that changes nothing answers the gateway as it is. Answers the saved gateway with its new version. Datafeeds and gateways are platform-wide (no group scope). Every change writes a config line to the journal and raises the configuration version, so the service that runs the connection picks it up and reconnects.
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
Request body
allow_import_balancesbooleanaccept the provider's balance on account import
collect_transactions_daysintegerdays of transactions kept for monitoring, 0 = off
created_atstringUTC time, RFC 3339.
enabledbooleangateway_loginstringgateway_passwordstringwrite-only: never returned, stored sealed
gateway_serverstringGatewayServer, GatewayLogin and GatewayPassword name a separate connection (e.g. a gateway server distinct from the liquidity provider dial-out) the module may need; stored like Server/Login/Password, not read by execution yet.
groupsGatewayGroup_input[]per-group symbol masks, narrower than Symbols
has_gateway_passwordbooleanread-only
has_passwordbooleanread-only
idintegerimport_symbol_settingsbooleanapply the provider's symbol settings (digits, sizes) on import
loginstringmodestringActive (we dial the provider) or Passive (it dials us)
modulestringfix44
namestringparamsFeedParam_input[]the module's settings
passwordstringwrite-only: never returned, stored sealed
priorityintegerlower first when a route names no order
profilingbooleankeep detailed session profiling, once that is built
reconnect_attemptsintegerattempts in one series
reconnect_secintegerwait between connection attempts
series_pause_secintegerwait after a series that never logged on
serverstringhost:port of the provider
sslbooleansecure connection: turns on FIX SSL Enabled even when no parameter sets it
symbolsstring[]masks of the symbols it serves settings and quotes for; never gates orders
timeout_secintegerseconds to wait for a connection to answer before giving up
translatesFeedTranslate_input[]our symbol <-> the provider's name, digits and markup
updated_atstringUTC time, RFC 3339.
versionintegerReturns
Promise<Gateway>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.csrf_invalid: request refused: reload the page and try again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found409
conflict: already exists500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.update(1, {
reconnect_attempts: 5,
series_pause_sec: 120,
version: 2
})bash
curl -X PATCH "$NOVIQA_API_URL/admin/v1/gateways/1" \
-H "Authorization: Bearer $NOVIQA_TOKEN" \
-H "Content-Type: application/json" \
--data-raw '{
"reconnect_attempts": 5,
"series_pause_sec": 120,
"version": 2
}'json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"allow_import_balances": true,
"collect_transactions_days": 1,
"created_at": "2026-09-25T10:15:00Z",
"enabled": true,
"gateway_login": "string",
"gateway_password": "string",
"gateway_server": "string",
"groups": [
{
"group": "real\\standard",
"symbols": [
"string"
]
}
],
"has_gateway_password": true,
"has_password": true,
"id": 1,
"import_symbol_settings": true
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.update(id: number, body: models.Gateway, options?: RequestOptions): Promise<models.Gateway>delete
DELETE
/admin/v1/gateways/{id}Delete a gateway
Removes the gateway; execution disconnects it. Datafeeds and gateways are platform-wide (no group scope). Every change writes a config line to the journal and raises the configuration version, so the service that runs the connection picks it up and reconnects.
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
Returns
Promise<null>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.csrf_invalid: request refused: reload the page and try again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.delete(1)bash
curl -X DELETE "$NOVIQA_API_URL/admin/v1/gateways/1" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": null,
"request_id": "5b7f2c1e"
}ts
staff.gateways.delete(id: number, options?: RequestOptions): Promise<null>activate
POST
/admin/v1/gateways/{id}/activateSwitch a gateway on or off
Sets enabled whatever version you last read (it runs the same checks as a change). Answers the saved gateway. Datafeeds and gateways are platform-wide (no group scope). Every change writes a config line to the journal and raises the configuration version, so the service that runs the connection picks it up and reconnects.
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
Request body
enabledbooleanReturns
Promise<Gateway>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.csrf_invalid: request refused: reload the page and try again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found409
conflict: already exists500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.activate(1, {
enabled: true
})bash
curl -X POST "$NOVIQA_API_URL/admin/v1/gateways/1/activate" \
-H "Authorization: Bearer $NOVIQA_TOKEN" \
-H "Content-Type: application/json" \
--data-raw '{
"enabled": true
}'json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"allow_import_balances": true,
"collect_transactions_days": 1,
"created_at": "2026-09-25T10:15:00Z",
"enabled": true,
"gateway_login": "string",
"gateway_password": "string",
"gateway_server": "string",
"groups": [
{
"group": "real\\standard",
"symbols": [
"string"
]
}
],
"has_gateway_password": true,
"has_password": true,
"id": 1,
"import_symbol_settings": true
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.activate(id: number, body: http.activeBody, options?: RequestOptions): Promise<models.Gateway>fixlog
GET
/admin/v1/gateways/{id}/fixlogLatest FIX messages of a gateway
Asks the execution copy running the gateway's session for its latest FIX messages, oldest first, passwords blanked (waits up to 5 seconds). invalid_input when no execution copy runs the session now. Messages are only kept when the FIX Trade Log Enabled parameter is Y.
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
linesinteger · queryHow many of the latest messages; default 200.
Returns
Promise<FixLog>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.fixlog(1, {
lines: 1
})bash
curl -X GET "$NOVIQA_API_URL/admin/v1/gateways/1/fixlog?lines=1" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"gateway_id": 1,
"lines": [
"string"
]
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.fixlog(id: number, query?: { lines? }, options?: RequestOptions): Promise<models.FixLog>restart
POST
/admin/v1/gateways/{id}/restartReconnect a gateway
Raises the gateway's version, which makes execution drop and reopen its session. Refused (invalid_input) while the gateway is disabled. Writes a journal line. Answers the gateway with its new version.
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
Returns
Promise<Gateway>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.csrf_invalid: request refused: reload the page and try again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.restart(1)bash
curl -X POST "$NOVIQA_API_URL/admin/v1/gateways/1/restart" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"allow_import_balances": true,
"collect_transactions_days": 1,
"created_at": "2026-09-25T10:15:00Z",
"enabled": true,
"gateway_login": "string",
"gateway_password": "string",
"gateway_server": "string",
"groups": [
{
"group": "real\\standard",
"symbols": [
"string"
]
}
],
"has_gateway_password": true,
"has_password": true,
"id": 1,
"import_symbol_settings": true
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.restart(id: number, options?: RequestOptions): Promise<models.Gateway>status
GET
/admin/v1/gateways/{id}/statusGateway connection status
The latest report of execution about one gateway: state, the execution copy running it, counters since the session started, last logon and last error (see the list of statuses for the rules).
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
Returns
Promise<GatewayStatus>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.status(1)bash
curl -X GET "$NOVIQA_API_URL/admin/v1/gateways/1/status" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"answer_ms": 1,
"bytes_in": 1,
"bytes_out": 1,
"fills": 1,
"gateway_id": 1,
"instance": "string",
"instruments": 1,
"last_error": "string",
"last_logon": "2026-09-25T10:15:00Z",
"logons": 1,
"orders": 1,
"outbox": 1
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.status(id: number, options?: RequestOptions): Promise<models.GatewayStatus>test
POST
/admin/v1/gateways/{id}/testTest a gateway connection
Asks execution to try a logon with the stored settings without enabling the gateway, and waits up to 15 seconds. ok false with message is a failed logon; invalid_input means no execution copy answered. Writes a journal line with the result.
More details
Rights: the staff member needs every one of: config.gateways.
Parameters
idinteger · pathrequiredNumeric id.
Returns
Promise<ConnectionResult>The answer's
data.Errors
400
invalid_input: invalid input401
auth.session_expired: session expired, sign in again403
auth.csrf_invalid: request refused: reload the page and try again403
auth.invalid_terminal: this terminal cannot be used here403
auth.otp_enrol_required: your group requires one-time codes: set them up to continue403
auth.password_change_required: you must change your password first403
forbidden: you do not have access to this action404
not_found: not found500
internal: something went wrongts
import { staff } from "@/lib/noviqa"
const data = await staff.gateways.test(1)bash
curl -X POST "$NOVIQA_API_URL/admin/v1/gateways/1/test" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"message": "string",
"millis": 1,
"ok": true
},
"request_id": "5b7f2c1e"
}ts
staff.gateways.test(id: number, options?: RequestOptions): Promise<models.ConnectionResult>