{"uid":"cap_p06OGaOZ2iMI3SxZhlf7Y","slug":"canon-bulk-package-artifact-freshness-verification-batch-c0e93b0e","name":"CANON Bulk — Package & Artifact Freshness Verification (Batch)","description":"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.","url":"https://scriptmasterlabs.com/api/canon/batch?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"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."}}},"responseSchema":{"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}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Aat1DYHLO6vPoPGlo-wLP","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"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.","exampleAgentPrompt":"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?","exampleUseCases":[{"title":"Lock file freshness audit for CI pipeline","prompt":"Before I cut a release, verify all 20 packages in my lock file — mix of npm and PyPI — against live registry evidence and flag any that are stale or where my held version doesn't match the current publisher-authoritative one."},{"title":"Supply chain tamper detection","prompt":"I want to check the integrity of these 10 npm packages my mirror is caching — can you run them through CANON with the integrity hashes I have and tell me if any have been tampered with compared to what the publisher is signing?"},{"title":"Publisher domain trust verification","prompt":"We're onboarding a new vendor library — can you verify that the publisher domain scriptmasterlabs.com and its Ed25519 keyset check out for the artifact 'canon-sdk' on npm, and confirm it's the current authoritative version?"}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:39:47.458Z","isFirstParty":false,"canonicalSlug":"canon-bulk-package-artifact-freshness-verification-batch-c0e93b0e"}