{"x402Version":2,"kind":"resource-server","name":"Forest Factory","description":"Public x402 resource server exposing bounded paid capabilities for autonomous agents.","resources":[{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/api/discover","method":"POST","description":"Discover the callable public API behind a developer or documentation page: identify candidate API base URLs, developer portals, machine-readable API docs and authentication documentation for integration setup."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/api/readiness","method":"POST","description":"Compose bounded API discovery with one deterministic OpenAPI or Swagger preflight into a concise agent-readiness state. The check does not authenticate, call discovered API operations, or prove business-level API correctness."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/automation/preflight","method":"POST","description":"Preflight one public Apify Actor before a paid automation run using only public Store and default-build OpenAPI metadata. Forest checks agentic-payment eligibility, pricing/budget signals and top-level input compatibility without starting an Actor, buying credit, authenticating or making an external payment."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/blob/decode","method":"POST","description":"Identify and unwrap a bounded caller-supplied opaque string into readable JSON, text or binary evidence using deterministic local rules for JWT payloads, canonical Base64/Base64URL and gzip. Ambiguous hex/Base64 representations stop in auto mode; canonical hex and Brotli can be selected only through explicit bounded hints. JWT claims are decode-only and always marked unverified."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/chain/gas-snapshot","method":"POST","description":"Return one bounded current EVM fee-history snapshot for a fixed supported chain using SolidRPC public JSON-RPC. Forest reports recent base-fee and latest sampled-block priority-fee percentile evidence only; it does not estimate a caller transaction gas limit, simulate, sign or broadcast a transaction, access a wallet, choose a transaction fee for the caller or guarantee an optimal fee."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/availability","method":"POST","description":"Resolve public product or listing availability with explicit normalized states. It reports only provider evidence and never infers inventory, reserves items or places an order."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/buyability","method":"POST","description":"Report whether a public item appears buyable with explicit blockers such as out-of-stock or unknown. This is a preflight only: it never signs in, buys, creates an order or guarantees checkout."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/canonical-product","method":"POST","description":"Resolve a public product redirect, canonical URL and stable provider identifiers using bounded HTTP and structured data. It does not execute JavaScript or assert unavailable facts."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/cart-preflight","method":"POST","description":"Preflight an item into a fresh isolated commerce session without touching a customer cart. Sessions are ephemeral and payment/order creation is never attempted."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/changed","method":"POST","description":"Cheaply detect material public product changes in price, availability, selected variant or seller using a deterministic hash. Timestamps, images and analytics noise are excluded."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/checkout-preflight","method":"POST","description":"Check whether an isolated cart can reach checkout and expose blockers without payment. It never logs in, creates an order or finalizes checkout."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/delivery-options","method":"POST","description":"Report public delivery options for an isolated ephemeral cart and destination when the provider exposes them. No customer cart, payment or order is touched."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/price","method":"POST","description":"Return a normalized current offer price for a public product or listing. Provider fields missing from the source remain null; no price prediction, purchase or customer authentication is performed."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/product-identifiers","method":"POST","description":"Extract public SKU, GTIN, UPC, EAN, ISBN, MPN and provider identifiers from a product source. Missing identifiers stay null and are never guessed."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/product-state","method":"POST","description":"Normalize a public product URL into current title, selected variant, price, currency, availability and buyability. Uses bounded read-only provider responses or JSON-LD; it never buys, logs in or guarantees unpublished stock."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/purchase-preflight","method":"POST","description":"Combine public product resolution, one fresh isolated anonymous cart, optional delivery lookup and checkout handoff evidence into one bounded purchase preflight. Shopify Ajax and WooCommerce Store API are supported; Forest never logs in, touches a customer session, creates an order or attempts payment."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/quantity-preflight","method":"POST","description":"Check whether a requested product quantity is allowed for a public variant before cart or checkout. Returns known minimum, maximum, increment, stock availability and blockers from public Shopify or WooCommerce data; unknown stock remains unknown and nothing is reserved or purchased."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/commerce/variant-resolve","method":"POST","description":"Resolve requested product options to a canonical public variant when the provider exposes them. Ambiguous or missing options are reported explicitly; no checkout or cart mutation occurs."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/container/changed","method":"POST","description":"Watch an OCI tag for digest and platform changes with a deterministic hash. Registry timestamps and unrelated annotations are ignored; no layers are pulled."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/container/digest","method":"POST","description":"Resolve a mutable OCI tag to an immutable content digest using bounded Distribution manifest metadata. It does not assert signature or vulnerability status."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/container/platforms","method":"POST","description":"Return deterministic OS/architecture variants from an OCI image index or manifest list. It reads bounded manifest metadata only and never downloads image layers."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/container/pull-preflight","method":"POST","description":"Preflight one anonymously readable OCI image for a requested target platform before pull or deploy. Forest resolves the supplied tag once, selects one exact multi-arch child manifest when possible, reports that immutable manifest declared config/layer size, and checks bounded OCI referrer presence. No layers are downloaded and referrer presence is never treated as signature, SBOM, attestation or vulnerability verification."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/container/referrers","method":"POST","description":"Discover OCI 1.1 artifacts referring to an image digest, such as SBOM or attestation evidence. Presence is reported only; Forest does not verify signatures or download blobs."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/container/size","method":"POST","description":"Return registry-declared config and layer bytes for one OCI image manifest before an agent pulls it. Multi-architecture indexes require a platform-specific child digest and are rejected because their total image size is not determinate without a platform. Values are declarations, not a compressed download or vulnerability measurement."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/container/tag-state","method":"POST","description":"Check an anonymously readable OCI image tag and resolve its manifest digest through the standard Distribution API. No blob pull, push, delete or private registry access is performed."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/cors/preflight","method":"POST","description":"Send exactly one bounded non-credentialed browser-style CORS OPTIONS preflight to the supplied public URL and normalize the observed Access-Control-Allow-* response into origin, method and header decisions. Redirects are not followed, so the result describes the exact resource URL. Forest does not send cookies or Authorization, invoke the requested resource afterward, run JavaScript, or guarantee browser/runtime success beyond the observed response."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/crypto/fear-greed","method":"POST","description":"Return the current Bitcoin-focused Crypto Fear & Greed reading and an optional bounded recent daily history from Alternative.me. Forest preserves the provider classification and prominent source attribution; it does not synthesize an asset-specific altcoin score, forecast price, create a trading signal, recommend a trade or access any account or wallet."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/crypto/spot-price","method":"POST","description":"Return one current Coinbase spot-product snapshot for an exact BASE-QUOTE product id, including venue price, 24-hour price change and provider-reported 24-hour product volume. Forest reads only Coinbase Advanced Trade public market data; it does not infer tickers, infer the provider volume denomination, aggregate venues, read an account or wallet, place orders, provide an executable quote, forecast returns or recommend a trade."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/deploy/readiness","method":"POST","description":"Compose bounded DNS propagation, TLS validity and HTTP health observations into one conservative deployment-readiness state. Optional DNS change evidence is included when a previous hash is supplied; this is not a deployment guarantee or worldwide propagation claim."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/changed","method":"POST","description":"Detect material public DNS answer changes with a deterministic hash. TTL-only changes do not count and no arbitrary resolver or AXFR operation is exposed."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/consensus","method":"POST","description":"Compare one public DNS record type across a fixed bounded set of independent public DNS-over-HTTPS resolvers. Answers, TTL ranges and resolver disagreement are normalized; this is not an authoritative or worldwide DNS view."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/lookup","method":"POST","description":"Resolve one bounded public DNS record type into normalized answers. AXFR, resolver abuse and private-network probing are blocked; TTL and authority are null when unavailable."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/propagation","method":"POST","description":"Check whether a DNS change has reached the configured public resolvers. Compare public DoH answers with an optional expected answer set and return complete, partial, not_observed or unknown. Scope is a fixed bounded resolver set; Forest does not claim worldwide propagation."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/dns/snapshot","method":"POST","description":"Fetch one bounded public DNS snapshot for A, AAAA, CNAME, MX, NS, SOA and TXT in a single call. Forest uses a fixed public DNS-over-HTTPS resolver, distinguishes answers, NODATA, NXDOMAIN and per-type resolver errors, and marks mixed trustworthy/error outcomes as partial instead of converting resolver failure into an empty DNS result."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/docs/discover","method":"POST","description":"Discover machine-readable integration documentation from a public developer/docs page: llms.txt, Markdown alternates, API/auth docs, OpenAPI or Swagger specifications, and MCP candidates. Candidates are returned only after bounded verification. Maximum 10 HTTP requests; no JavaScript, recursive crawl or authenticated content."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/domain/mail-preflight","method":"POST","description":"MX/SPF/DMARC preflight; not mailbox verification."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/domain/preflight","method":"POST","description":"Resolve a bare public domain into operational registration, DNS, HTTPS/TLS and mail-policy state using IANA-routed RDAP, DNS, MX/TXT/SPF/DMARC and a bounded TLS probe. No registrant personal data, vulnerability scanning, mailbox existence or deliverability claim. Provider uncertainty is explicit."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/domain/registration-state","method":"POST","description":"Read public RDAP registration state for a domain: registrar or managing entity when published, registration and expiry dates, and registry status codes. This is a registration/ownership-lifecycle lookup only; it does not perform DNS, mail, TLS or website checks."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/email/verify","method":"POST","description":"Verify email syntax and public DNS readiness with a bounded deterministic preflight. Forest checks normalized syntax, MX/address records including explicit null MX, and curated role/free/disposable-domain signals, then returns a conservative safe-to-attempt decision. It never connects to SMTP, sends mail, authenticates, stores customer mailboxes or claims that a mailbox exists."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/entity/lei-resolve","method":"POST","description":"Resolve one exact 20-character Legal Entity Identifier against the public GLEIF LEI record API and return a compact normalized legal-entity reference snapshot. Forest reports source facts only and does not turn LEI status into a KYC, AML, credit or legal decision."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/fx/reference","method":"POST","description":"Convert one bounded fiat amount using the latest successfully fetched European Central Bank daily foreign-exchange reference table. Forest returns the ECB observation date and deterministic cross-rates through EUR. Fresh reads use the latest published working-day data; bounded outage fallback is explicitly labeled as cached official data. Reference data only: not an intraday market quote, bid/ask spread, executable transaction price, forecast, or trading recommendation."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/http/changed","method":"POST","description":"Detect material public HTTP endpoint changes using bounded response metadata and deterministic hashing. ETag and Last-Modified are evidence; arbitrary body downloads are capped."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/http/health","method":"POST","description":"Check the current operational HTTP health of one public URL or API endpoint with a bounded GET or HEAD probe. Returns reachability, status code, redirects, content type and size basics; it does not scrape page content, run JavaScript or test private networks."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/http/latency","method":"POST","description":"Measure bounded sequential timing samples for one public HTTP endpoint. Samples are hard-capped at three and this is never a load-testing or port-scanning service."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/job/apply-route","method":"POST","description":"Return the current public application route; do not submit application."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/job/changed","method":"POST","description":"Cheap watchdog for closed/materially changed job state."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/job/compensation","method":"POST","description":"Normalize compensation explicitly published by the job source; never infer missing salary."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/job/form-schema","method":"POST","description":"Return structured application fields/questions where publicly exposed."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/job/preflight","method":"POST","description":"Normalize whether a public job is still published/open and its canonical apply route."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/json/diff","method":"POST","description":"Deep-compare two caller-supplied JSON values with deterministic object-key ordering and explicit index-based array semantics. Returns bounded added, removed and changed paths with primitive before/after values when safe; performs no network request, model inference, persistence or mutation."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/json/query","method":"POST","description":"Extract one bounded value from caller-supplied JSON using a deterministic simple path such as items[2].name or $.data.id. Forest performs no network request or model inference, returns an explicit found flag, and supports only dot object keys plus numeric array indexes so lookup behavior stays predictable."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/json/validate","method":"POST","description":"Validate caller-supplied JSON against Forest bounded JSON Schema subset v1 before an agent trusts or forwards structured output. Returns deterministic machine-readable violations with stable paths; performs no network request, remote $ref resolution, regex evaluation, model inference or mutation."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/marketplace/listing-changed","method":"POST","description":"Detect material marketplace listing changes in active state, price, seller, condition or quantity with a deterministic hash. It does not place bids, purchases or infer hidden listing facts."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/marketplace/listing-state","method":"POST","description":"Normalize public marketplace listing activity, offer, seller, condition and quantity hints. eBay credentials are optional configuration; no buying, bidding or seller mutation is supported."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/marketplace/seller-state","method":"POST","description":"Return seller identity and publicly published seller signals for a marketplace listing. Missing feedback or business fields remain null; no customer or seller account access is attempted."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/mcp/changed","method":"POST","description":"Auto-detect a public MCP endpoint era, fingerprint its complete normalized tools/list schema contract and optionally compare it with a caller-provided previous SHA-256 hash. Cosmetic descriptions are excluded so text-only edits do not trigger contract drift."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/mcp/contract-check","method":"POST","description":"Inspect one public MCP HTTP endpoint, auto-detect the stateless 2026-07-28 era or fall back to the legacy initialize lifecycle, then normalize tools/list schemas into a deterministic SHA-256 contract fingerprint. Forest never invokes an advertised tool or attempts authentication."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/mcp/discover","method":"POST","description":"Find public MCP server candidates and registry metadata."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/mcp/preflight","method":"POST","description":"Read-only MCP handshake/tools-list preflight; no destructive tool calls."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi/breaking-change","method":"POST","description":"Compare two public OpenAPI or Swagger contracts and determine whether the API update contains directly observable breaking compatibility changes. Detects removed operations, newly required request inputs, narrowed inline enums, removed content types or successful responses and tightened authentication; unsupported compatibility questions remain unknown. No API operation is executed."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi/operation-contract","method":"POST","description":"Inspect the declared request and response contract for one exact OpenAPI or Swagger operation before integration. Returns parameters, request-body content types, response statuses/content types and declared security scheme names without executing the endpoint or resolving external references."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi/operation-resolve","method":"POST","description":"Look up one exact HTTP method and path in a public OpenAPI or Swagger contract and report whether that documented API endpoint exists. This is a contract/endpoint existence check only; Forest reads the specification and never invokes the API operation."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi/payload-validate","method":"POST","description":"Validate one caller-supplied JSON request or response payload against the documented JSON schema for one exact OpenAPI or Swagger operation. Forest fetches only the supplied public specification, never invokes the described API operation, resolves only bounded local references, and reuses the same deterministic schema subset as json.validate."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi/preflight","method":"POST","description":"Validate a public OpenAPI or Swagger document before integration: verify reachability and parseability, summarize declared API operations, servers and authentication metadata, and report whether the specification is usable for machine integration. It does not call any documented API operation."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/openapi/schema-state","method":"POST","description":"Fingerprint the structural machine contract of a public OpenAPI or Swagger specification and compare it with an optional previous SHA-256 fingerprint to detect API contract drift. Paths, operations, parameters, security and component schema structure are tracked while documentation-only text and examples are ignored. No API operation is executed."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/package/changed","method":"POST","description":"Detect whether normalized public npm or PyPI package registry state changed since a saved fingerprint. Returns a deterministic SHA-256 fingerprint for package/version existence, latest/resolved version, deprecation or yank state, license and runtime requirement. No dependency graph, vulnerability scan or registry mutation."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/package/license","method":"POST","description":"Normalize declared package license metadata toward SPDX; no legal compatibility conclusion."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/package/preflight","method":"POST","description":"Verify whether a specific npm or PyPI package version exists before installation, resolve the current/latest version, and report deprecation or yank state when available, plus license and runtime requirement. This is a public-registry package install preflight; it does not resolve dependency graphs or perform vulnerability analysis."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/package/security","method":"POST","description":"Known vulnerabilities for package+version; normalized evidence, not a safety verdict."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/page/downloads","method":"POST","description":"Extract PDF/CSV/XLS/XLSX/ZIP/JSON/XML links from static public HTML by suffix or download filename. Resolve relative/base links and deduplicate. Limits: 500 links, 8s, 5 redirects, 2 MiB. No JavaScript or file downloads; existence, MIME, size and file safety are unverified. Empty results are valid."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/page/forms","method":"POST","description":"Extract bounded static HTML form structure without submitting anything. Forest returns field names/types/labels/constraints and submit-control structure, but never current values, textarea contents, hidden tokens, passwords, cookies or authentication material."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/page/links","method":"POST","description":"Extract a bounded normalized set of public HTTP(S) anchor links from one static HTML page. Forest resolves relative and base URLs, deduplicates by final absolute URL and classifies returned links as same-origin or cross-origin. One page fetch only; no linked URL is requested or crawled."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/page/structured","method":"POST","description":"Extract bounded generic metadata and normalized JSON-LD entities from one static public HTML page. Forest returns only compact fields and key/type summaries, never arbitrary raw JSON-LD; JavaScript rendering and domain-specific business interpretation are excluded."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/page/structured-changed","method":"POST","description":"Detect meaningful changes in normalized static page metadata and JSON-LD with a deterministic semantic hash. Transport noise and malformed JSON-LD counts are excluded; truncated structured output reports unknown when the observed prefix is unchanged."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/perp/funding","method":"POST","description":"Return one current Hyperliquid native perpetual snapshot with hourly funding, 8-hour equivalent, simple nominal annualization of the current hourly rate, mark/oracle basis, Hyperliquid funding premium index, open interest, daily notional volume and max leverage. Forest reads only the fixed public Hyperliquid info endpoint; the annualized field is not compounded, forecast or realized return, and Forest does not trade, sign, read a wallet or recommend a position."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/release/asset-resolve","method":"POST","description":"Resolve a public GitHub release into the most plausible downloadable asset for a normalized OS/architecture target, excluding source/signature/checksum files and linking checksum companions when present. Returns ambiguity instead of silently choosing tied candidates. No private repositories or customer authentication."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/release/changed","method":"POST","description":"Fingerprint the normalized metadata state of one public GitHub release and optionally compare it with a caller-provided previous SHA-256 hash. Forest uses the existing bounded release lookup and does not download assets, inspect repository contents or mutate GitHub state."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/release/checksum","method":"POST","description":"Find checksum/signature companion assets for a release asset."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/release/preflight","method":"POST","description":"Check whether a repository has a usable latest/tagged release before deployment/download."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/repo/actions-state","method":"POST","description":"Normalize the latest public GitHub Actions workflow/run state. Reads only; dispatch, rerun, cancellation, private repositories and customer OAuth are unsupported."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/repo/branch-state","method":"POST","description":"Check whether a named branch exists in a public GitHub repository and return the branch current head commit SHA and URL without cloning. This is a read-only branch-state lookup; branch protection stays unknown when the public API does not expose it."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/repo/changed","method":"POST","description":"Cheaply detect material public repository state changes with a deterministic hash of existence, branch and archive state. Timestamps and unrelated metadata do not trigger a change."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/repo/commit-state","method":"POST","description":"Resolve a public GitHub ref to commit metadata without fetching a diff. Verification is reported as published by GitHub and is not independently re-signed by Forest."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/repo/file-preflight","method":"POST","description":"Check lightweight metadata for a path in a public GitHub repository at an optional ref. It does not clone or download large file contents."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/repo/preflight","method":"POST","description":"Resolve the current public GitHub repository state without cloning or customer OAuth. Archived, fork, branch and license fields reflect only public API facts; private repositories are unsupported."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/robots/context","method":"POST","description":"Interpret the robots.txt crawling rules that apply to a specific public URL and user-agent before an automated fetch or crawl. Returns allow/disallow decision evidence, matched rules, crawl delay and sitemap hints from one bounded robots.txt read. This is protocol guidance, not authorization or an anti-bot bypass."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/service/changed","method":"POST","description":"Cheap watchdog: material service state changed since prior canonical hash?"},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/service/component-status","method":"POST","description":"Resolve the live state of a named service component."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/service/incidents","method":"POST","description":"Return active service incidents in normalized form."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/service/status","method":"POST","description":"Check the current service status published by an explicit public Atlassian Statuspage: operational, maintenance, degraded, partial outage, major outage or unknown, plus components, active incidents and scheduled maintenance. It reads the provider-published status page only and does not infer hidden backend health."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/site/changed-since","method":"POST","description":"Detect bounded changes across one static page surface using one HTML fetch plus at most one robots.txt fetch. Forest hashes HTTP identity, page metadata, normalized JSON-LD, downloadable links, form schema and robots context without storing snapshots, rendering JavaScript or submitting anything."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/sitemap/find","method":"POST","description":"Locate a website sitemap before crawling by reading sitemap declarations from robots.txt and, when none are declared, checking only the conventional same-origin sitemap.xml and sitemap_index.xml locations. Returns verified sitemap discovery evidence without crawling sitemap entries or site pages."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/text/base64","method":"POST","description":"Encode bounded caller-supplied UTF-8 text as standard or URL-safe Base64, or decode canonical Base64 back to valid UTF-8 text. Forest performs the transform locally with no network request and rejects invalid encodings, non-UTF-8 decoded bytes, and outputs beyond the 100 KiB byte bound."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/text/hash","method":"POST","description":"Hash caller-supplied UTF-8 text deterministically with SHA-256 or SHA-512 and return both hexadecimal and Base64 digests. Input is bounded to 100 KiB, no network request or external provider is used, and Forest never treats a digest as proof of authenticity or password security."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/tls/changed","method":"POST","description":"Detect material public certificate changes in fingerprint, issuer, SANs or validity window using a deterministic hash. Handshake timing noise is ignored."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/tls/expiry","method":"POST","description":"Return only the public certificate validity window and remaining lifetime for TLS port 443. It does not scan ciphers, vulnerabilities or private hosts."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/tls/preflight","method":"POST","description":"Inspect one public TLS endpoint and return certificate identity and validity-window facts. This is a bounded preflight, not a vulnerability scanner or security guarantee."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/token/risk-preflight","method":"POST","description":"Return bounded third-party ERC-20 security evidence for one exact contract on a fixed supported EVM chain using the GoPlus Token Security API. Forest normalizes named control, trading-restriction and tax facts into conservative evidence classes; it does not claim a token is safe, audit source code, predict returns, recommend a trade, access a wallet, approve, swap, sign, simulate or broadcast a transaction."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/treasury/yield-curve","method":"POST","description":"Return the latest published U.S. Treasury Daily Treasury Par Yield Curve Rates snapshot across standard maturities from 1 month through 30 years. Forest normalizes one coherent official daily observation, reports missing Treasury tenors as null, and performs no forecast, interpolation, trading signal or secondary-market inference."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/url/preflight","method":"POST","description":"Preflight one public URL before an agent uses it: verify immediate HTTP reachability, origin status, redirect destination, response headers and cache validators with a bounded HEAD-first probe. GET is used only when HEAD is unsupported. No JavaScript, login, page extraction or availability guarantee."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/web/article-extract","method":"POST","description":"Extract the main article/content body from one bounded public static HTML page as clean text and conservative Markdown. Forest deterministically selects article-like content, strips common navigation/footer/form/aside/consent chrome and returns bounded metadata. No JavaScript rendering, link following, authentication or model inference."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/x402/discover","method":"POST","description":"Discover machine-payable x402 services for a task by searching Bazaar resource metadata and returning normalized candidate endpoints, capabilities and payment-discovery facts. This is service/resource discovery only; it does not invoke or pay the discovered endpoint."},{"url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/x402/preflight","method":"POST","description":"Inspect whether a public HTTP endpoint requires x402 payment and normalize the advertised PaymentRequired terms before a buyer decides to call it. Reports payment requirement metadata only; it never signs, pays or executes the protected operation."}],"attestation":{"type":"none"}}