Skip to content

staff.market ​

7 methods on staff.market. Each returns the answer's data and throws NoviqaError on a failed answer.

dayStats ​

GET/admin/v1/market/day-stats

Trading day statistics (raw)

Each asked symbol's latest trading day (server clock) at raw prices: open, high, low and close of the chart price, bid/ask/last highs and lows, the previous close and the change in percent. Prices are 0 until seen that day. Sorted by symbol name; symbols without statistics are left out.

Parameters
idsstring · query
Symbol ids separated by commas, e.g. 1,2,3 (at most 1000). Absent: every active symbol within that bound.
Returns
Promise<DayStats[]>
The answer's data.
Errors
400invalid_input: invalid input
401auth.session_expired: session expired, sign in again
403auth.invalid_terminal: this terminal cannot be used here
403auth.otp_enrol_required: your group requires one-time codes: set them up to continue
403auth.password_change_required: you must change your password first
500internal: something went wrong
ts
import { staff } from "@/lib/noviqa"

const data = await staff.market.dayStats({
  ids: "string"
})
bash
curl -X GET "$NOVIQA_API_URL/admin/v1/market/day-stats?ids=string" \
  -H "Authorization: Bearer $NOVIQA_TOKEN"
json
{
  "success": true,
  "code": "ok",
  "message": "done",
  "data": [
    {
      "ask_high": "1.08452",
      "ask_low": "1.08452",
      "bid_high": "1.08452",
      "bid_low": "1.08452",
      "change_pct": "1.08452",
      "close": "1.08452",
      "day": "string",
      "digits": 5,
      "high": "1.08452",
      "last_high": "1.08452",
      "last_low": "1.08452",
      "low": "1.08452"
    }
  ],
  "request_id": "5b7f2c1e"
}
ts
staff.market.dayStats(query?: { ids? }, options?: RequestOptions): Promise<market.DayStats[]>

history ​

GET/admin/v1/market/history

Chart bars (group-resolved prices)

The newest count_back bars of a symbol that start before to, oldest first, at group-resolved prices by default; raw=true requires prices.raw, built from one-minute bars of the symbol's chart price (price_side). Day, week and month bars start at server midnight (server_offset_sec); weeks start on Sunday, months on the 1st. no_data is true when nothing exists before the requested end. Page back by sending the t of the oldest bar as the next to.

Parameters
symbolstring · queryrequired
Symbol name, e.g. EURUSD. Unknown: not_found.
timeframestring · query
Bar length, default H1.
M1 M5 M15 M30 H1 H4 D1 W1 MN
tointeger · query
End, unix seconds (bars start before it). Default: now.
count_backinteger · query
Bars, default 500.
Returns
Promise<History>
The answer's data.
Errors
400invalid_input: invalid input
401auth.session_expired: session expired, sign in again
403auth.invalid_terminal: this terminal cannot be used here
403auth.otp_enrol_required: your group requires one-time codes: set them up to continue
403auth.password_change_required: you must change your password first
404not_found: not found
500internal: something went wrong
ts
import { staff } from "@/lib/noviqa"

const data = await staff.market.history({
  symbol: "string",
  timeframe: "M1",
  to: 1,
  count_back: 1
})
bash
curl -X GET "$NOVIQA_API_URL/admin/v1/market/history?symbol=string&timeframe=M1&to=1&count_back=1" \
  -H "Authorization: Bearer $NOVIQA_TOKEN"
json
{
  "success": true,
  "code": "ok",
  "message": "done",
  "data": {
    "bars": [
      {
        "c": "1.08452",
        "h": "1.08452",
        "l": "1.08452",
        "n": 1,
        "o": "1.08452",
        "t": 1
      }
    ],
    "digits": 5,
    "no_data": true,
    "price_side": "string",
    "server_offset_sec": 1,
    "symbol": "EURUSD",
    "timeframe": "string"
  },
  "request_id": "5b7f2c1e"
}
ts
staff.market.history(query: { symbol, timeframe?, to?, count_back? }, options?: RequestOptions): Promise<market.History>

inUse ​

GET/admin/v1/market/in-use

Symbols in use

Names of the symbols with open positions or active pending orders on accounts in the caller's group scope. A Market Watch may not hide these symbols.

Returns
Promise<docSymbolsInUse>
The answer's data.
Errors
401auth.session_expired: session expired, sign in again
403auth.invalid_terminal: this terminal cannot be used here
403auth.otp_enrol_required: your group requires one-time codes: set them up to continue
403auth.password_change_required: you must change your password first
500internal: something went wrong
ts
import { staff } from "@/lib/noviqa"

const data = await staff.market.inUse()
bash
curl -X GET "$NOVIQA_API_URL/admin/v1/market/in-use" \
  -H "Authorization: Bearer $NOVIQA_TOKEN"
json
{
  "success": true,
  "code": "ok",
  "message": "done",
  "data": {
    "symbols": [
      "string"
    ]
  },
  "request_id": "5b7f2c1e"
}
ts
staff.market.inUse(options?: RequestOptions): Promise<http.docSymbolsInUse>

markups ​

GET/admin/v1/market/markups

Own group's spread markups

The spread markup, in points, the caller's own group adds to each active symbol: the prices the staff member sees unless they read raw prices. Symbols without a markup are left out (they are shown at the raw price). Sorted by symbol id. Needs no right.

Returns
Promise<Markup[]>
The answer's data.
Errors
401auth.session_expired: session expired, sign in again
403auth.invalid_terminal: this terminal cannot be used here
403auth.otp_enrol_required: your group requires one-time codes: set them up to continue
403auth.password_change_required: you must change your password first
500internal: something went wrong
ts
import { staff } from "@/lib/noviqa"

const data = await staff.market.markups()
bash
curl -X GET "$NOVIQA_API_URL/admin/v1/market/markups" \
  -H "Authorization: Bearer $NOVIQA_TOKEN"
json
{
  "success": true,
  "code": "ok",
  "message": "done",
  "data": [
    {
      "ask_pts": 1,
      "bid_pts": 1,
      "digits": 5,
      "symbol_id": 1
    }
  ],
  "request_id": "5b7f2c1e"
}
ts
staff.market.markups(options?: RequestOptions): Promise<market.Markup[]>

quotes ​

GET/admin/v1/market/quotes

Latest group-resolved prices

Authenticated staff see their own group prices and symbol visibility. raw=true requires prices.raw and returns raw feed prices.

Parameters
idsstring · query
Symbol ids separated by commas, e.g. 1,2,3 (at most 1000). Absent: every active symbol within that bound.
rawboolean · query
Raw feed mode; requires prices.raw.
Returns
Promise<Quote[]>
The answer's data.
Errors
400invalid_input: invalid input
401auth.session_expired: session expired, sign in again
403auth.invalid_terminal: this terminal cannot be used here
403auth.otp_enrol_required: your group requires one-time codes: set them up to continue
403auth.password_change_required: you must change your password first
500internal: something went wrong
ts
import { staff } from "@/lib/noviqa"

const data = await staff.market.quotes({
  ids: "string",
  raw: true
})
bash
curl -X GET "$NOVIQA_API_URL/admin/v1/market/quotes?ids=string&raw=true" \
  -H "Authorization: Bearer $NOVIQA_TOKEN"
json
{
  "success": true,
  "code": "ok",
  "message": "done",
  "data": [
    {
      "ask": "1.08460",
      "bid": "1.08452",
      "digits": 5,
      "last": "1.08452",
      "symbol": "EURUSD",
      "symbol_id": 1,
      "time": "2026-09-25T10:15:00Z"
    }
  ],
  "request_id": "5b7f2c1e"
}
ts
staff.market.quotes(query?: { ids?, raw? }, options?: RequestOptions): Promise<market.Quote[]>

symbols ​

GET/admin/v1/market/symbols

Staff market symbol catalogue

Symbols visible to the signed-in staff member's own group by default; raw=true requires prices.raw and returns active base specifications matching the raw quote stream. No configuration capability is implied.

Parameters
rawboolean · query
Raw feed catalogue; requires prices.raw. Absent or false keeps own-group visibility and specifications.
Returns
Promise<Symbol[]>
The answer's data.
Errors
400invalid_input: invalid input
401auth.session_expired: session expired, sign in again
403auth.invalid_terminal: this terminal cannot be used here
403auth.otp_enrol_required: your group requires one-time codes: set them up to continue
403auth.password_change_required: you must change your password first
500internal: something went wrong
ts
import { staff } from "@/lib/noviqa"

const data = await staff.market.symbols({
  raw: true
})
bash
curl -X GET "$NOVIQA_API_URL/admin/v1/market/symbols?raw=true" \
  -H "Authorization: Bearer $NOVIQA_TOKEN"
json
{
  "success": true,
  "code": "ok",
  "message": "done",
  "data": [
    {
      "allowed_expirations": [
        "string"
      ],
      "allowed_fill_policies": [
        "string"
      ],
      "allowed_order_types": [
        "string"
      ],
      "background_color": "string",
      "base_currency": "string",
      "base_currency_digits": 1,
      "basis_symbol": "string",
      "book_depth": 1,
      "calc_type": "forex",
      "category": "string",
      "cfi_code": "string",
      "chart_price": "bid"
    }
  ],
  "request_id": "5b7f2c1e"
}
ts
staff.market.symbols(query?: { raw? }, options?: RequestOptions): Promise<market.Symbol[]>

ticks ​

GET/admin/v1/market/ticks

Stored prices (raw)

The newest limit stored prices of a symbol in [from, to), oldest first, at group-resolved prices by default; raw=true requires prices.raw, including (by default) the ones the price filters refused (rejected true). At most 7 days at once; from must be before to. Default range: the last hour up to now.

Parameters
symbolstring · queryrequired
Symbol name, e.g. EURUSD. Unknown: not_found.
typestring · query
Which prices, default all.
all accepted rejected
frominteger · query
Start, unix seconds (inclusive). Default: to minus one hour.
tointeger · query
End, unix seconds (exclusive). Default: now.
limitinteger · query
Prices, default 1000.
Returns
Promise<Ticks>
The answer's data.
Errors
400invalid_input: invalid input
401auth.session_expired: session expired, sign in again
403auth.invalid_terminal: this terminal cannot be used here
403auth.otp_enrol_required: your group requires one-time codes: set them up to continue
403auth.password_change_required: you must change your password first
404not_found: not found
500internal: something went wrong
ts
import { staff } from "@/lib/noviqa"

const data = await staff.market.ticks({
  symbol: "string",
  type: "all",
  from: 1,
  to: 1
})
bash
curl -X GET "$NOVIQA_API_URL/admin/v1/market/ticks?symbol=string&type=all&from=1&to=1" \
  -H "Authorization: Bearer $NOVIQA_TOKEN"
json
{
  "success": true,
  "code": "ok",
  "message": "done",
  "data": {
    "digits": 5,
    "symbol": "EURUSD",
    "ticks": [
      {
        "ask": "1.08460",
        "bid": "1.08452",
        "last": "1.08452",
        "rejected": true,
        "t": 1
      }
    ]
  },
  "request_id": "5b7f2c1e"
}
ts
staff.market.ticks(query: { symbol, type?, from?, to?, limit? }, options?: RequestOptions): Promise<market.Ticks>