npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@nemtus/symbol-rest-api-client-axios

v1.0.1

Published

Symbol REST API client for TypeScript (OpenAPI Generator typescript-axios)

Downloads

268

Readme

@nemtus/symbol-rest-api-client-axios

Symbol REST API client for TypeScript, generated with OpenAPI Generator (typescript-axios). Ships axios as a runtime dependency.

Part of the nemtus/symbol-rest-api-client monorepo (this package lives in clients/typescript-axios). The sister package @nemtus/symbol-rest-api-client-fetch provides a dependency-free, native-fetch variant.

Formerly published as @nemtus/symbol-sdk-openapi-generator-typescript-axios (now deprecated). This client targets the @nemtus/symbol-openapi spec 1.0.5.

Note: Currently, This is a very experimental level.

| Type | Status/Link | | --------- | -------------------- | | CI status | CI typescript-axios | | Latest npm publish status | CD typescript-axios | | npm package link | https://www.npmjs.com/package/@nemtus/symbol-rest-api-client-axios |

For package users

Install

npm install @nemtus/symbol-rest-api-client-axios

Usage

Example with no requestParameters

import {
  Configuration,
  ConfigurationParameters,
  NodeInfoDTO,
  NodeRoutesApi,
} from '@nemtus/symbol-rest-api-client-axios';

const configurationParameters: ConfigurationParameters = {
  basePath: 'https://symbol-sakura-16.next-web-technology.com:3001',
};
const configuration: Configuration = new Configuration(configurationParameters);
const nodeRoutesApi: NodeRoutesApi = new NodeRoutesApi(configuration);
const response = await nodeRoutesApi.getNodeInfo();
const nodeInfoDTO: NodeInfoDTO = response.data;
console.log(response.status); // Example: 200
console.log(response.statusText); // Example: 'OK'
console.dir(nodeInfoDTO, { depth: null });
/* Example: 
{
  version: 16777987,
  publicKey: 'B86304B01045894ED9250B3DCD6313DC2EC0DD529B4E864EA376A2F341D3CFD4',
  networkGenerationHashSeed: '57F7DA205008026C776CB6AED843393F04CD458E0AA2D9F1D5F31A402072B2D6',
  roles: 3,
  port: 7900,
  networkIdentifier: 104,
  host: 'symbol-sakura-16.next-web-technology.com',
  friendlyName: 'next-web-technology',
  nodePublicKey: '9545F928A1B2FB4AC944BC1EC2F01FB84A503F6449B6BE3451B3F7A0F06B5BCF'
}
*/

Example with requestParameters

import {
  AccountInfoDTO,
  AccountRoutesApi,
  AccountRoutesApiGetAccountInfoRequest,
  Configuration,
  ConfigurationParameters,
} from '@nemtus/symbol-rest-api-client-axios';

const configurationParameters: ConfigurationParameters = {
  basePath: 'https://symbol-sakura-16.next-web-technology.com:3001',
};
const configuration: Configuration = new Configuration(configurationParameters);
const accountRoutesApi: AccountRoutesApi = new AccountRoutesApi(configuration);
const requestParameters: AccountRoutesApiGetAccountInfoRequest = {
  accountId: 'NCSIOEWE2364XXP65426W3RUGBRYOAGR3KMMCIA',
};
const response = await accountRoutesApi.getAccountInfo(requestParameters);
const accountInfoDTO: AccountInfoDTO = response.data;
console.log(response.status); // Example: 200
console.log(response.statusText); // Example: "OK"
console.dir(accountInfoDTO, { depth: null });
// Example: 
/*
{
  account: {
    version: 1,
    address: '68A48712C4D6FDCBDDFEEF35EB6E3430638700D1DA98C120',
    addressHeight: '1',
    publicKey: 'B86304B01045894ED9250B3DCD6313DC2EC0DD529B4E864EA376A2F341D3CFD4',
    publicKeyHeight: '447',
    accountType: 1,
    supplementalPublicKeys: {
      linked: {
        publicKey: '5F87A37D1EAD570F4D0FD4C11A9D5EED5ABE82EF2E992B97CCDAC84F241470E0'
      },
      vrf: {
        publicKey: '806E9448598C922B371DA8CFD7E16E8F5F53594B3AECE13F0708778A4480A752'
      }
    },
    activityBuckets: [
      {
        startHeight: '1447200',
        totalFeesPaid: '0',
        beneficiaryCount: 0,
        rawScore: '476538883720'
      },
      {
        startHeight: '1446480',
        totalFeesPaid: '0',
        beneficiaryCount: 1,
        rawScore: '476509686441'
      },
      {
        startHeight: '1445760',
        totalFeesPaid: '0',
        beneficiaryCount: 1,
        rawScore: '476481049034'
      },
      {
        startHeight: '1445040',
        totalFeesPaid: '0',
        beneficiaryCount: 1,
        rawScore: '476353869759'
      },
      {
        startHeight: '1444320',
        totalFeesPaid: '0',
        beneficiaryCount: 1,
        rawScore: '476325431930'
      }
    ],
    mosaics: [
      { id: '6BED913FA20223F8', amount: '516203401572' },
      { id: '24F7CF825DBCDD42', amount: '499999886' },
      { id: '310378C18A140D1B', amount: '923' },
      { id: '6AE25FA5E8CA0646', amount: '1000000000' }
    ],
    importance: '476509686441',
    importanceHeight: '1447200'
  },
  id: '60517BE5CCA17918A561056D'
}
*/

Example with CDN

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- Load from CDN or a single file bundled with webpack -->
    <script src="https://cdn.jsdelivr.net/npm/@nemtus/[email protected]/index.min.js"></script>
  </head>
  <body>
    <script>
      (async () => {
        const symbolSdk = window.symbolSdkOpenAPIGeneratorTypeScriptAxios;
        const configurationParameters = {
          basePath: 'http://symbol-sakura-16.next-web-technology.com:3000',
        };
        const configuration = new symbolSdk.Configuration(configurationParameters);

        const nodeRoutesApi = new symbolSdk.NodeRoutesApi(configuration);
        const responseNodeInfo = await nodeRoutesApi.getNodeInfo();
        console.log(responseNodeInfo.status);
        console.log(responseNodeInfo.statusText);
        console.log(responseNodeInfo.data);

        const accountRoutesApi = new symbolSdk.AccountRoutesApi(configuration);
        const requestParameters = {
          accountId: 'NCSIOEWE2364XXP65426W3RUGBRYOAGR3KMMCIA',
        };
        const responseAccountInfo = await accountRoutesApi.getAccountInfo(requestParameters);
        console.log(responseAccountInfo.status);
        console.log(responseAccountInfo.statusText);
        console.log(responseAccountInfo.data);
      })();
    </script>
  </body>
</html>

For Package Developers

0. Prerequisite

  • Clone the monorepo and change into this client's directory
git clone https://github.com/nemtus/symbol-rest-api-client.git
cd symbol-rest-api-client/clients/typescript-axios

All commands below are run from this client directory (clients/typescript-axios); there is no root package.json.

  • Install Java

If you don't have java installed, you need to install it (required by the OpenAPI Generator).

1. Install the OpenAPI spec

This project consumes the OpenAPI spec from the @nemtus/symbol-openapi npm package — built and published from the nemtus/symbol fork (a mirror of upstream symbol/symbol, whose openapi/ directory is the source of truth). It is a version-pinned devDependency, so npm ci installs it and the package-lock.json integrity hash verifies it. (The former symbol/symbol-openapi release repo was archived in 2026; before that this spec was built locally from a git submodule, which pulled in vulnerable build tooling.)

npm ci

This makes the spec available at node_modules/@nemtus/symbol-openapi/openapi3.yml. To bump the spec version, bump the @nemtus/symbol-openapi devDependency in package.json (and the lockfile).

2. Generate REST API Client Code

npm run openapi:set:version
npm run openapi:generate
npm run build

Then, REST API client code will be generated in src/api and bundled into dist. Do not edit src/api manually.

3. Release

Releasing is a single action — bump the version, create the vX.Y.Z tag, and push it, which triggers the tag-driven CD workflow (npm publish via OIDC Trusted Publishing, gated by the npm-production Environment):

npm run release:minor   # or release:patch / release:major

4. Tests

# Deterministic unit tests (mocked axios adapter, no network)
npm run test

# Consumer / live-node tests (build the root first; each is a separate npm project)
cd tests/nodejs-javascript && npm ci && npm test
cd tests/nodejs-typescript && npm ci && npm test
cd tests/browser-cdn && npm ci && npx playwright install chromium && npm run test

Security

axios is a runtime dependency of this package, so it (and its transitive tree) is shipped to consumers. The safe version floor and transitive overrides (form-data, follow-redirects) are pinned in the root package.json; CI gates every install with npm audit --package-lock-only (prod + dev, fails on any severity) and additionally fails the gating job if the resolved axios drops below the known-CVE-free floor. Local installs are hardened via .npmrc (ignore-scripts=true, min-release-age=7). See CLAUDE.md for the full policy.

We use

We would like to thank all the contributors to the above tools.