Type-safe Node.js client generated from the Nodesty OpenAPI schema.
npm install @nodesty/api-clientNode.js 18.18 or newer is required. The client also works in runtimes that provide the standard Fetch API.
import{NodestyApiClient}from'@nodesty/api-client';constclient=newNodestyApiClient({accessToken: process.env.NODESTY_ACCESS_TOKEN,});constresult=awaitclient.user.getCurrentUser();if(result.error){console.error(result.error.message);}else{console.log(result.data);}Keep personal access tokens in environment variables. Never commit them to source control.
Operations are grouped by their OpenAPI category:
client.userclient.billingclient.virtualServerclient.dedicatedServerclient.firewallclient.mailHosting
Path parameters are positional. A request body is passed as the final data argument:
awaitclient.billing.addOrder('group-id','product-id',{domain: 'example.com',billingCycle: 'Monthly',});awaitclient.virtualServer.performAction('service-id',{action: 'start',});awaitclient.firewall.getAttackLogs('service-id','203.0.113.10');All parameters, request bodies, response data, and documented errors are fully typed from OpenAPI.
Methods return the parsed API body together with the standard Fetch API Request and Response objects.
{data: {/* endpoint response */},request: Request,response: Response,// response.status === 200}List endpoints return an array in data.
{data: undefined,request: Request,response: Response,// response.status === 204}{error: {error: true,message: 'Service not found',statusCode: 404,statusMessage: 'Not Found',url: '/api/services/example/vps/info',},request: Request,response: Response,// response.status === 404}The exact error fields depend on the endpoint. To throw the parsed API error instead of returning it, pass throwOnError in the final options argument:
constuser=awaitclient.user.getCurrentUser({throwOnError: true});awaitclient.virtualServer.performAction('service-id',{action: 'start'},{throwOnError: true});The constructor accepts standard Fetch options and supports custom implementations for testing or proxies:
constclient=newNodestyApiClient({accessToken: process.env.NODESTY_ACCESS_TOKEN,baseUrl: 'https://nodesty.com',headers: {'User-Agent': 'my-application/1.0.0',},fetch: customFetch,});The generated low-level SDK functions and request/response types are also exported for advanced integrations.