# CPAN Package Change Tracker

> CPAN Package Change Tracker is a paid API for AI agents from oracles-production.up.railway.app, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Returns new releases and breaking changes for Perl CPAN packages since a given timestamp, scored by significance (1-10).

## Facts

- Endpoint: GET https://oracles-production.up.railway.app/v1/cpan/changes
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cpan-package-change-tracker-cda53435
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4T8wdklPKSxkWY6vld67i

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 cpan-package-change-tracker-cda53435
```

Example prompt: Show me all new releases and breaking changes for the Moose CPAN package since 2024-01-01T00:00:00Z, and only include ones with a significance score of at least 7.

## When to prefer this

Use this endpoint when you need to track or audit Perl CPAN package releases and breaking changes over time, especially for dependency management, vulnerability monitoring, or release automation in Perl projects. Prefer over manually scraping MetaCPAN when you need significance scoring and structured change records.

## Known failure modes

- Unknown or misspelled package name returns empty changes array
- Invalid ISO-8601 timestamp in 'since' causes a 400 error
- Package not yet tracked is fetched live from MetaCPAN, adding latency
- limit exceeding 500 or min_significance outside 1-10 causes validation error
- Payment not included or rejected returns a 402 response

## How this service works

New releases of tracked Perl CPAN packages (Moose, Mojolicious, DBI, Dancer2, and more) on MetaCPAN (Perl) since a timestamp — each tagged new_release or breaking_change (major-version bump) with a 1-10 significance score. Answers "did a dependency in my cpanfile ship a new or breaking version I should pin or upgrade?" Pass ?package=<name> for ANY Perl CPAN package on demand.

## Output

A JSON object containing a count, source identifier, and an array of change records — each with a type (new_release or breaking_change), title, summary, significance score (1-10), entity ID, detected timestamp, effective date, and a source URL for verification.

## 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",
     "properties": {
      "limit": {
       "type": "integer",
       "maximum": 500,
       "minimum": 1
      },
      "since": {
       "type": "string",
       "format": "date-time",
       "description": "Only changes detected after this ISO-8601 instant"
      },
      "package": {
       "type": "string",
       "description": "Any MetaCPAN (Perl) package name — resolved and fetched live if not already tracked"
      },
      "min_significance": {
       "type": "integer",
       "maximum": 10,
       "minimum": 1,
       "description": "Keep only changes scored at least this"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "count": {
       "type": "integer"
      },
      "source": {
       "type": "string"
      },
      "changes": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "type": {
          "type": "string"
         },
         "title": {
          "type": "string"
         },
         "detail": {
          "type": "object"
         },
         "summary": {
          "type": "string"
         },
         "entityId": {
          "type": "string"
         },
         "sourceUrl": {
          "type": [
           "string",
           "null"
          ],
          "description": "Primary-source link for verification"
         },
         "detectedAt": {
          "type": "string",
          "format": "date-time"
         },
         "significance": {
          "type": "integer",
          "maximum": 10,
          "minimum": 1
         },
         "effectiveDate": {
          "type": [
           "string",
           "null"
          ]
         }
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cpan-package-change-tracker-cda53435/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from oracles-production.up.railway.app](https://www.zero.xyz/host/oracles-production.up.railway.app/llms.txt)
