Appearance
trader.news
2 methods on trader.news. Each returns the answer's data and throws NoviqaError on a failed answer.
list
GET
/trader/v1/newsList news for the account
One page of news, newest first, as the account's group news mode allows, echoed in mode: full — whole items; headlines — body is empty; off — always an empty page with total 0. category filters to one exact category, symbol to items that name it (empty = all); from and to narrow published_at (from inclusive, to exclusive). page is 1-based; limit defaults to 50, values outside 1-200 fall back to 50. New items also arrive live as news socket messages.
Parameters
X-HST-Accountstring · headerIntended signed-in login captured by the browser tab before dispatch and retained across retries. A mismatch returns auth.account_changed (409) before mutation or refresh rotation. This never selects or authorizes an account; omission preserves existing API client compatibility.
categorystring · querysymbolstring · queryfromstring · querypublished_at, inclusive
tostring · querypublished_at, exclusive
pageinteger · querylimitinteger · queryReturns
Promise<Page>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 first409
auth.account_changed: the signed-in account changed; sign in again before continuing500
internal: something went wrongts
import { trader } from "@/lib/noviqa"
const data = await trader.news.list({
category: "string",
symbol: "string",
from: "2026-09-25T10:15:00Z"
})bash
curl -X GET "$NOVIQA_API_URL/trader/v1/news?category=string&symbol=string&from=2026-09-25T10%3A15%3A00Z" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"items": [
{
"body": "string",
"category": "string",
"datafeed_id": 1,
"external_id": "string",
"id": 1,
"published_at": "2026-09-25T10:15:00Z",
"source": "string",
"subject": "string",
"symbols": [
"string"
]
}
],
"mode": "off",
"page": 1,
"total": 1
},
"request_id": "5b7f2c1e"
}ts
trader.news.list(query?: { category?, symbol?, from?, to?, page?, limit? }, options?: RequestOptions): Promise<news.Page>retrieve
GET
/trader/v1/news/{id}Read a news item (account)
One item as the account's group news mode allows (headlines: body empty). Refused when the group's news mode is off.
Parameters
X-HST-Accountstring · headerIntended signed-in login captured by the browser tab before dispatch and retained across retries. A mismatch returns auth.account_changed (409) before mutation or refresh rotation. This never selects or authorizes an account; omission preserves existing API client compatibility.
idinteger · pathrequiredNumeric id.
Returns
Promise<News>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 found409
auth.account_changed: the signed-in account changed; sign in again before continuing500
internal: something went wrongts
import { trader } from "@/lib/noviqa"
const data = await trader.news.retrieve(1)bash
curl -X GET "$NOVIQA_API_URL/trader/v1/news/1" \
-H "Authorization: Bearer $NOVIQA_TOKEN"json
{
"success": true,
"code": "ok",
"message": "done",
"data": {
"body": "string",
"category": "string",
"datafeed_id": 1,
"external_id": "string",
"id": 1,
"published_at": "2026-09-25T10:15:00Z",
"source": "string",
"subject": "string",
"symbols": [
"string"
]
},
"request_id": "5b7f2c1e"
}ts
trader.news.retrieve(id: number, options?: RequestOptions): Promise<models.News>