# Forest Infra – HTTP Change Detection

> Forest Infra – HTTP Change Detection is a paid API for AI agents from http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-29).

Detects material changes to a public HTTP endpoint by comparing bounded response metadata (ETag, Last-Modified, content hash) against a previous hash, without downloading arbitrary response bodies.

## Facts

- Endpoint: POST https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/http/changed?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forest-infra-http-change-detection-6c1b0a41
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_d5FcZLOuboQ3I0_BwwlDb

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 forest-infra-http-change-detection-6c1b0a41 -d '<json body>'
```

Example prompt: Check if https://api.example.com/status has changed since the last time I looked — the previous hash was abc123def456, and I only want lightweight metadata, not the full body.

## When to prefer this

Choose this endpoint when you need lightweight, deterministic change detection for a public HTTP resource without the cost or bandwidth of downloading the full body. It is ideal for polling scenarios, cache-freshness checks, and monitoring pipelines where ETag and Last-Modified headers are sufficient evidence. Prefer it over full-body scraping when you only care whether something changed, not what changed.

## Known failure modes

- URL is unreachable or returns a non-2xx status, resulting in an error or inconclusive change signal
- Target server does not expose ETag or Last-Modified, reducing detection reliability to content-length/status heuristics
- URL pattern does not match ^https?:// or exceeds 2048 characters, causing validation rejection
- Previous hash is malformed or from a different endpoint, producing a spurious change detection
- Redirects that alter the final URL may cause hash mismatches unrelated to content changes

## How this service works

Detect material public HTTP endpoint changes using bounded response metadata and deterministic hashing. ETag and Last-Modified are evidence; arbitrary body downloads are capped. Base mainnet USDC

## Output

Returns whether the resource has materially changed relative to the previous hash, the new computed hash based on bounded response metadata (ETag, Last-Modified, status code, content-type, content-length), and the raw header values used as evidence — without downloading the full response body.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "pattern": "^https?://",
   "maxLength": 2048,
   "description": "Public HTTP(S) URL to inspect, resolve, or compare."
  },
  "previous_hash": {
   "type": "string",
   "description": "Earlier result hash used to detect a material change."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forest-infra-http-change-detection-6c1b0a41/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run](https://www.zero.xyz/host/http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/llms.txt)
