Every endpoint, typed
new Staff() for the CRM and back office, new Trader() for trading terminals. Bodies, query parameters and answers are typed from the gateway's OpenAPI document.
One typed client for every staff and trader endpoint, plus the live socket. Generated from the gateway, so it always matches the server.
import { Staff } from "@hybrid-solutions-09/noviqa-sdk" const staff = new Staff({ baseUrl, auth: { type: "session" } }) await staff.auth.login({ login: 1000, password, terminal: "admin" }) // a new client, approved and funded const client = await staff.clients.create({ first_name: "Ann", … }) await staff.clients.approve(client.id) await staff.accounts.balance(login, { amount: "1000.00", … }) // live: every fill, close and stop out staff.socket().on("trade", (e) => render(e.data.positions))