Main entry point for the MITRE CWE API client.

import { CweClient } from 'cwe-api-client';

const cwe = new CweClient();

// Get content version metadata
const version = await cwe.version();

// Look up multiple CWEs at once
const entries = await cwe.lookup([74, 79]);

// Get full weakness details
const weakness = await cwe.weakness(79);

// Navigate the hierarchy
const parents = await cwe.weakness(74).parents(1000);
const descendants = await cwe.weakness(74).descendants(1000);

// Get category and view details
const category = await cwe.category(189);
const view = await cwe.view(1425);

Constructors

Methods

  • Returns a CategoryResource for a given CWE category ID, providing access to category details.

    The returned resource can be awaited directly to fetch the full category.

    Parameters

    • id: number

      The CWE category numeric ID (e.g. 189)

    Returns CategoryResource

    A chainable category resource

    const category = await cwe.category(189);
    console.log(category.Name); // 'Numeric Errors'
  • Looks up multiple CWE entries by their numeric IDs in a single request.

    GET /cwe/{ids} (comma-separated)

    Parameters

    • ids: number[]

      Array of CWE numeric IDs (e.g. [74, 79])

    Returns Promise<CweEntry[]>

    Array of lightweight CWE entries with type and ID

    const entries = await cwe.lookup([74, 79]);
    entries.forEach(e => console.log(e.ID, e.Type));
  • Subscribes to a client event.

    Type Parameters

    • K extends "request"

    Parameters

    Returns this

    cwe.on('request', (event) => {
    console.log(`${event.method} ${event.url}${event.durationMs}ms`);
    if (event.error) console.error('Request failed:', event.error);
    });
  • Fetches CWE content version metadata.

    GET /cwe/version

    Returns Promise<CweVersion>

    Version metadata including content version, date, and counts

    const v = await cwe.version();
    console.log(v.ContentVersion); // '4.19.1'
    console.log(v.TotalWeaknesses); // 969
  • Returns a ViewResource for a given CWE view ID, providing access to view details.

    The returned resource can be awaited directly to fetch the full view.

    Parameters

    • id: number

      The CWE view numeric ID (e.g. 1425)

    Returns ViewResource

    A chainable view resource

    const view = await cwe.view(1425);
    console.log(view.Name); // 'Weaknesses in the 2023 CWE Top 25...'
  • Returns a WeaknessResource for a given CWE weakness ID, providing access to weakness details and its hierarchy (parents, children, ancestors, descendants).

    The returned resource can be awaited directly to fetch the full weakness, or chained to access hierarchy methods.

    Parameters

    • id: number

      The CWE weakness numeric ID (e.g. 79)

    Returns WeaknessResource

    A chainable weakness resource

    const weakness = await cwe.weakness(79);
    const parents = await cwe.weakness(74).parents(1000);
    const tree = await cwe.weakness(74).descendants(1000);