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

@maccuaa/intellitrust-issuance-sdk

v5.45.0

Published

TypeScript SDK client for Entrust Adaptive Issuance Instant ID API

Readme

@maccuaa/intellitrust-issuance-sdk

NPM Version NPM Downloads

TypeScript SDK for the Entrust Identity as a Service (IDaaS) Issuance API (formerly Entrust Adaptive Issuance Instant ID).

Note: This is an unofficial community-maintained SDK, not an official Entrust product.

Features

  • 🎯 Fully Typed: Complete TypeScript definitions for all API operations
  • 🚀 Modern ESM: Built for modern JavaScript environments
  • 📦 Tree-shakeable: Import only the functions you need
  • 🔒 Type-safe: Discriminated union types for response handling
  • 🪶 Lightweight: Minimal runtime dependencies

Installation

npm install @maccuaa/intellitrust-issuance-sdk
bun add @maccuaa/intellitrust-issuance-sdk

Quick Start

import {
  authenticateAdminApiUsingPost,
  listAdminApiApplicationsUsingGet,
} from "@maccuaa/intellitrust-issuance-sdk";

const baseUrl = "https://customer.region.trustedauth.com";

// Step 1: Authenticate to get auth token
const authResponse = await authenticateAdminApiUsingPost(
  {
    adminApiAuthentication: {
      applicationId: "your-app-id",
      sharedSecret: "your-shared-secret",
    },
  },
  { baseUrl }
);

if (authResponse.status === 200) {
  const authToken = authResponse.data.authToken;

  // Step 2: Use auth token for subsequent requests
  const appsResponse = await listAdminApiApplicationsUsingGet({
    baseUrl,
    headers: {
      Authorization: authToken,
    },
  });

  if (appsResponse.status === 200) {
    console.log("Applications:", appsResponse.data);
  }
}

Response Handling

The SDK uses discriminated union types for type-safe response handling:

const response = await authenticateAdminApiUsingPost(
  {
    adminApiAuthentication: {
      applicationId: "app-id",
      sharedSecret: "secret",
    },
  },
  { baseUrl }
);

// Type guard with status check
if (response.status === 200) {
  // response.data is now typed as AdminApiAuthenticationResult
  console.log("Auth token:", response.data.authToken);
  console.log("Expires:", response.data.expirationTime);
} else if (response.status === 401) {
  // response.data is now typed as ErrorInfo
  console.log("Authentication failed:", response.data.errorMessage);
}

Configuration

Global Defaults

Set default options for all requests:

import { defaults } from "@maccuaa/intellitrust-issuance-sdk";

defaults.baseUrl = "https://customer.region.trustedauth.com";

// Now you can call functions without specifying baseUrl each time
const response = await listAdminApiApplicationsUsingGet({
  headers: { Authorization: "auth-token" },
});

Per-Request Options

Override defaults for individual requests:

const response = await listAdminApiApplicationsUsingGet({
  baseUrl: "https://different.trustedauth.com",
  headers: {
    Authorization: "auth-token",
  },
});

Common Operations

Authentication

import { authenticateAdminApiUsingPost } from "@maccuaa/intellitrust-issuance-sdk";

// Authenticate and get auth token
const authResponse = await authenticateAdminApiUsingPost(
  {
    adminApiAuthentication: {
      applicationId: "app-id",
      sharedSecret: "shared-secret",
      enableWebSession: true, // Optional: enable session cookie
    },
  },
  { baseUrl }
);

if (authResponse.status === 200) {
  const authToken = authResponse.data.authToken;

  // Store token for subsequent requests
  // Token expiration: authResponse.data.expirationTime
}

Application Management

import {
  listAdminApiApplicationsUsingGet,
  createAdminApiApplicationUsingPost,
  updateAdminApiApplicationUsingPut,
  deleteAdminApiApplicationUsingDelete,
} from "@maccuaa/intellitrust-issuance-sdk";

const headers = { Authorization: authToken };

// List all applications
const appsResponse = await listAdminApiApplicationsUsingGet({
  baseUrl,
  headers,
});

// Create new application
const createResponse = await createAdminApiApplicationUsingPost(
  {
    adminApiApplicationParms: {
      name: "My Issuance App",
      description: "Application for credential issuance",
      allowLongLivedToken: false,
    },
  },
  { baseUrl, headers }
);

// Update application
if (createResponse.status === 200) {
  await updateAdminApiApplicationUsingPut(
    {
      id: createResponse.data.id,
      adminApiApplicationParms: {
        name: "Updated App Name",
        description: "Updated description",
      },
    },
    { baseUrl, headers }
  );
}

// Delete application
await deleteAdminApiApplicationUsingDelete(
  { id: "app-id" },
  { baseUrl, headers }
);

Enrollment Management

import {
  createEnrollments,
  readEnrollments,
  updateEnrollments,
  deleteEnrollments,
} from "@maccuaa/intellitrust-issuance-sdk";

const headers = { Authorization: authToken };

// Create enrollment
const createResponse = await createEnrollments(
  {
    enrollmentApiPayload: {
      enrollmentDesignName: "EmployeeID",
      enrollmentData: [
        {
          employeeId: "EMP001",
          firstName: "John",
          lastName: "Doe",
          department: "Engineering",
        },
      ],
    },
  },
  { baseUrl, headers }
);

// Read enrollments with filtering
const readResponse = await readEnrollments(
  {
    readEnrollmentApiPayload: {
      enrollmentDesignName: "EmployeeID",
      filterCriteria: [{ field: "department", value: "Engineering" }],
      pageNumber: "1",
      pageSize: "50",
    },
  },
  { baseUrl, headers }
);

// Update enrollment
await updateEnrollments(
  {
    enrollmentApiPayload: {
      enrollmentDesignName: "EmployeeID",
      enrollmentData: [
        {
          employeeId: "EMP001",
          department: "Product",
        },
      ],
    },
  },
  { baseUrl, headers }
);

// Delete enrollments
await deleteEnrollments(
  {
    enrollmentApiPayload: {
      enrollmentDesignName: "EmployeeID",
      enrollmentData: [{ employeeId: "EMP001" }],
    },
  },
  { baseUrl, headers }
);

Mobile FlashPass (Credential Issuance)

import {
  issueMobileFlashPassBulkOperation,
  getMobileFlashPassRequestDetails,
} from "@maccuaa/intellitrust-issuance-sdk";

const headers = { Authorization: authToken };

// Issue credentials (bulk operation)
const issueResponse = await issueMobileFlashPassBulkOperation(
  {
    enrollmentMultiFlashPassApiRequestV1: {
      enrollmentDesignName: "EmployeeID",
      primaryKeys: ["EMP001", "EMP002", "EMP003"],
    },
  },
  { baseUrl, headers }
);

if (issueResponse.status === 200) {
  const operationId = issueResponse.data.id;

  // Check operation status
  const statusResponse = await getMobileFlashPassRequestDetails(
    { id: operationId },
    { baseUrl, headers }
  );

  if (statusResponse.status === 200) {
    console.log("Status:", statusResponse.data.state);
    console.log("Processed:", statusResponse.data.rowsProcessed);
    console.log("Failed:", statusResponse.data.rowsFailed);
  }
}

Application Template Management

import {
  listApplicationTemplatesUsingGet,
  getApplicationTemplateUsingGet,
} from "@maccuaa/intellitrust-issuance-sdk";

const headers = { Authorization: authToken };

// List all templates
const templatesResponse = await listApplicationTemplatesUsingGet({
  baseUrl,
  headers,
});

// Get specific template
const templateResponse = await getApplicationTemplateUsingGet(
  { id: "template-id" },
  { baseUrl, headers }
);

if (templateResponse.status === 200) {
  console.log("Template:", templateResponse.data.name);
  console.log("Type:", templateResponse.data.authenticationMethod);
}

Bulk Operations

The SDK supports tracking bulk operations like credential issuance:

import {
  issueMobileFlashPassBulkOperation,
  getMobileFlashPassRequestDetails,
  cancelMobileFlashPassBulkOperation,
} from "@maccuaa/intellitrust-issuance-sdk";

const headers = { Authorization: authToken };

// Start bulk operation
const operation = await issueMobileFlashPassBulkOperation(
  {
    enrollmentMultiFlashPassApiRequestV1: {
      /* ... */
    },
  },
  { baseUrl, headers }
);

if (operation.status === 200) {
  const operationId = operation.data.id;

  // Poll for status
  const checkStatus = async () => {
    const status = await getMobileFlashPassRequestDetails(
      { id: operationId },
      { baseUrl, headers }
    );

    if (status.status === 200) {
      const state = status.data.state;

      if (state === "COMPLETED") {
        console.log("Operation completed successfully");
      } else if (state === "FAILED") {
        console.log("Operation failed:", status.data.errorMessage);
      } else if (state === "PROCESSING") {
        // Continue polling
        setTimeout(checkStatus, 2000);
      }
    }
  };

  checkStatus();

  // Or cancel if needed
  // await cancelMobileFlashPassBulkOperation(
  //   { id: operationId },
  //   { baseUrl, headers }
  // );
}

API Documentation

For detailed API documentation, refer to the official Entrust IDaaS Issuance API documentation.

Requirements

  • Node.js >= 22.12.0
  • TypeScript >= 5.0 (for TypeScript projects)

License

ISC

Support

This is a community-maintained SDK. For issues or feature requests, please visit the GitHub repository.

For official Entrust IDaaS support, contact Entrust directly.