# Changelog State API – GitHub Vendor Releases

> Changelog State API – GitHub Vendor Releases 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-09-14).

Returns structured recent release entries for the GitHub vendor tracked by the Changelog State API monitor.

## Facts

- Endpoint: GET https://changelog-state-api.replit.app/api/monitors/github
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/changelog-state-api-github-vendor-releases-3c01dd19
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_bb4F1fVu9VKV7a5l85uzW

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-github-vendor-releases-3c01dd19
```

Example prompt: Can you pull the latest GitHub releases from the Changelog State API — give me the 10 most recent entries with all the structured details?

## When to prefer this

Choose this endpoint when you need structured, machine-readable release data specifically for the GitHub vendor and want it pre-parsed rather than scraping GitHub's own changelog or release pages. It is ideal for agents monitoring software dependency updates, building release summaries, or triggering workflows on new GitHub releases, especially when you need consistent JSON output with configurable result limits.

## Known failure modes

- Vendor slug not found or not tracked — returns 404 or empty result
- Limit parameter out of range (below 1 or above 50) — returns validation error
- Payment not completed — endpoint returns 402 Payment Required
- Upstream changelog source unavailable — may return stale or partial data
- Rate limiting or quota exceeded — returns 429 or error response

## How this service works

Structured recent releases for one tracked vendor.

## Output

A JSON object containing a list of structured recent release entries for the GitHub vendor, including version identifiers, release dates, and changelog content, up to the requested limit (default 10, max 50).

## 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, and requesting those literal characters returns 404. Worked example: GET /api/monitors/openai."
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "integer",
       "default": 5,
       "maximum": 50,
       "minimum": 1,
       "description": "Maximum number of release entries to return on this page. The page size, not a total: use `cursor` to walk past it."
      },
      "cursor": {
       "type": "string",
       "default": "",
       "maxLength": 512,
       "description": "Opaque next-page token, copied verbatim from `nextCursor` on the previous response for this same vendor. Omit it — or send the empty string — to start at the newest entry. It names a position in the newest-first order rather than an offset, so a page you have already read never shifts under you: an entry that arrives mid-walk takes the place its own publish date gives it — above the cursor, on ground you have already covered, or below it, still ahead of you — instead of renumbering every page behind it. It does not expire; a walk can be paused and resumed. Do not construct or edit one: a token that is malformed, or was issued for a different vendor, is refused with 400 and is never charged."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "enum": [
      "json"
     ],
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   },
   "description": "Full structured recent releases (paid)"
  }
 },
 "description": "Call shape for GET /api/monitors/{slug}."
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/changelog-state-api-github-vendor-releases-3c01dd19/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)
