# CANON Bulk — Package & Artifact Freshness Verification (Batch)

> CANON Bulk — Package & Artifact Freshness Verification (Batch) is a paid API for AI agents from scriptmasterlabs.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-31).

Batch-checks up to 100 npm, PyPI, API, or doc artifacts against live registry evidence and verified publisher manifests to detect staleness, tampering, or conflicts.

## Facts

- Endpoint: POST https://scriptmasterlabs.com/api/canon/batch?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/canon-bulk-package-artifact-freshness-verification-batch-c0e93b0e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_p06OGaOZ2iMI3SxZhlf7Y

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 canon-bulk-package-artifact-freshness-verification-batch-c0e93b0e -d '<json body>'
```

Example prompt: Can you batch-check these 5 npm packages — react, lodash, express, axios, and typescript — against the live registry to see if any of the versions I'm holding are stale or have been tampered with?

## When to prefer this

Choose this endpoint when you need to validate multiple packages or artifacts in a single pay-per-call request rather than making individual checks. It is especially well-suited for CI/CD pipelines, supply chain audits, or dependency lock file reviews where you need publisher-authoritative freshness data and tamper detection across npm, PyPI, API artifacts, or documentation artifacts simultaneously.

## Known failure modes

- Invalid or unrecognized package identifier — returns an error or unknown verdict for that item
- Unsupported artifact type — rejected if 'type' cannot be inferred and is not one of npm/pypi/api/doc
- Array exceeds 100 items — request rejected with validation error
- Registry or publisher manifest unreachable — verdict may be inconclusive or stale
- Payment not accepted — x402 payment failure blocks delivery
- Integrity value format mismatch — held_integrity field not parseable against supported hash formats

## How this service works

x402 pay-per-call APIs, MCP servers and practical AI field guides from a veteran-owned lab. Verify the provider, then pay per accepted call.

## Output

A JSON object containing a count of checked items, overall status, and per-artifact results including trust state, an evidence-derived verdict, and the current registry or publisher-verified version. Also includes the price in USDC and an accepted_delivery flag.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "items": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "id"
    ],
    "properties": {
     "id": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 1,
      "description": "Package or artifact identifier to resolve against live registry evidence and verified publisher freshness manifests."
     },
     "type": {
      "enum": [
       "npm",
       "pypi",
       "api",
       "doc"
      ],
      "type": "string",
      "description": "Artifact family; omit only when CANON can infer it from the identifier."
     },
     "held_version": {
      "type": "string",
      "description": "Optional version currently held by the caller or mirror for freshness comparison."
     },
     "held_integrity": {
      "type": "string",
      "description": "Optional integrity value currently held by the caller for tamper comparison when evidence supports it."
     },
     "publisher_domain": {
      "type": "string",
      "description": "Optional public publisher domain whose CANON manifest and Ed25519 keyset should be verified."
     }
    },
    "additionalProperties": false
   },
   "maxItems": 100,
   "minItems": 1,
   "description": "One to 100 package or artifact freshness checks. Use CANON to detect stale mirrors, publisher/registry conflicts, superseded artifacts, or current publisher-authoritative locations."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "status": "ready",
  "product": "CANON Bulk",
  "results": [
   {
    "id": "react",
    "type": "npm",
    "trust": "<publisher-trust-state>",
    "verdict": "<evidence-derived-verdict>",
    "current_version": "<registry-or-verified-publisher-version>"
   }
  ],
  "price_usdc": "0.01",
  "accepted_delivery": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/canon-bulk-package-artifact-freshness-verification-batch-c0e93b0e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from scriptmasterlabs.com](https://www.zero.xyz/host/scriptmasterlabs.com/llms.txt)
