# payload402 Batch npm License Lockfile Triage

> payload402 Batch npm License Lockfile Triage is a paid API for AI agents from payload402.edgebytenet.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-30).

Checks up to 20 npm packages (name@version) at once for SPDX license identity and permissive-default policy compatibility, returning per-package results plus an overall rollup.

## Facts

- Endpoint: GET https://payload402.edgebytenet.workers.dev/license/lockfile?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/payload402-batch-npm-license-lockfile-triage-95e64386
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XzjSeRgOAgw3s_T3qCPoq

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability payload402-batch-npm-license-lockfile-triage-95e64386
```

Example prompt: Before I merge this PR, check the licenses for lodash@4.17.21, express@4.18.2, and axios@1.6.0 — are they all permissive-default compatible?

## When to prefer this

Use this batch lockfile endpoint instead of the single-package endpoint when you need to triage more than one package at a time — for example, before merging a PR, after scaffolding a project, or when a coding agent is about to mass-install dependencies. It is more efficient than calling the single-package endpoint repeatedly and provides a rollup overall status so you can make a single go/no-go decision. Prefer the single-package endpoint only when checking one package interactively mid-task.

## Known failure modes

- Package not found on npm registry returns a failure entry in the failures array
- Malformed name@version string causes parse failure for that entry
- Exceeding 20 packages in a single request may be rejected or truncated
- Network timeout to npm registry produces unknown status
- Missing 'packages' query parameter returns an error response

## How this service works

Batch npm license triage for coding agents — pass packages from a lockfile (name@version list, max 20). Returns per-package SPDX + permissive-default compatible, rollup counts, and overall yes|no|unknown. Not a compliance SBOM. Use before merge or mass install; single-package use GET /license/check.

## Output

A JSON object with an overall compatible flag (yes/no/unknown), per-package entries each containing SPDX license id, license string, compatibility status, reason, source, and a disclaimer; plus summary counts (yes/no/unknown), total checked, failed count, and a failure list if any packages couldn't be resolved.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "packages"
     ],
     "properties": {
      "packages": {
       "type": "string",
       "description": "Comma-separated name@version list (max 20), e.g. lodash@4.17.21,express@4.18.2"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 2,
  "failed": 0,
  "policy": "permissive-default",
  "source": "npm-registry",
  "checked": 2,
  "overall": "yes",
  "summary": {
   "no": 0,
   "yes": 2,
   "unknown": 0
  },
  "failures": [],
  "packages": [
   {
    "spdx": "MIT",
    "policy": "permissive-default",
    "reason": "Permissive license matches permissive-default policy",
    "source": "npm-registry",
    "license": "MIT",
    "package": "express",
    "version": "4.18.2",
    "compatible": "yes",
    "disclaimer": "Triage indicator only, not legal or compliance advice"
   },
   {
    "spdx": "MIT",
    "policy": "permissive-default",
    "reason": "Permissive license matches permissive-default policy",
    "source": "npm-registry",
    "license": "MIT",
    "package": "lodash",
    "version": "4.17.21",
    "compatible": "yes",
    "disclaimer": "Triage indicator only, not legal or compliance advice"
   }
  ],
  "disclaimer": "Triage indicator only, not legal or compliance advice"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/payload402-batch-npm-license-lockfile-triage-95e64386/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from payload402.edgebytenet.workers.dev](https://www.zero.xyz/host/payload402.edgebytenet.workers.dev/llms.txt)
