# Changelog State API – OpenZeppelin Change History

> Changelog State API – OpenZeppelin Change History is a paid API for AI agents from changelog-state-api.replit.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-24).

Returns detected changelog update history (new releases, version changes, date changes, title changes, breaking signals) for the OpenZeppelin vendor.

## Facts

- Endpoint: GET https://changelog-state-api.replit.app/api/monitors/openzeppelin/changes?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/changelog-state-api-openzeppelin-change-history-8abf9428
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zPbtIUyyZzMphy9GrWFif

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 changelog-state-api-openzeppelin-change-history-8abf9428
```

Example prompt: Show me the changelog update history for OpenZeppelin — specifically any new releases or breaking changes detected in the last 7 days, up to 50 results.

## When to prefer this

Use this endpoint when you need to track historical changelog mutations (not just the latest releases) for OpenZeppelin specifically, especially when you care about detecting breaking signals, title changes, or date adjustments alongside new releases. Prefer this over the releases endpoint when your goal is auditing what changed in the changelog metadata itself, not just what was released.

## Known failure modes

- Invalid or unknown vendor slug returns no data or 404
- 'since' timestamp in wrong format returns 400
- limit exceeding 200 returns validation error
- Payment failure (x402) blocks access to paid response
- No changes in specified window returns empty array

## How this service works

Detected changelog update history for one tracked vendor.

## Output

A JSON array of detected changelog change records for OpenZeppelin, each including the change type (new_release, version_changed, date_changed, title_changed, breaking_signal), detection timestamp, and associated metadata about the release or update event.

## 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"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "slug"
     ],
     "properties": {
      "slug": {
       "type": "string",
       "example": "openai",
       "pattern": "^[a-z0-9][a-z0-9-]*$",
       "maxLength": 64,
       "minLength": 1,
       "description": "Vendor slug, lowercase alphanumeric with dashes. Take one from GET /api/monitors and substitute it into the path: `{slug}` is a placeholder that names no vendor and never returns data. Worked example: GET /api/monitors/openai."
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "type": {
       "enum": [
        "new_release",
        "version_changed",
        "date_changed",
        "title_changed",
        "breaking_signal"
       ],
       "type": "string",
       "description": "Restrict to a single change type."
      },
      "limit": {
       "type": "integer",
       "default": 50,
       "maximum": 200,
       "minimum": 1,
       "description": "Maximum number of change rows to return."
      },
      "since": {
       "type": "string",
       "format": "date-time",
       "description": "Only return changes detected at or after this instant."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "enum": [
      "json"
     ],
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   },
   "description": "Detected changelog update history (paid)"
  }
 },
 "description": "Call shape for GET /api/monitors/{slug}/changes."
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/changelog-state-api-openzeppelin-change-history-8abf9428/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from changelog-state-api.replit.app](https://www.zero.xyz/host/changelog-state-api.replit.app/llms.txt)
