{"uid":"cap_-GRLfOEWk3k26BWze-5r1","slug":"forest-factory-api-api-readiness-check-328fd64f","name":"Forest Factory API – API Readiness Check","description":"Machine-readable contract for active Forest paid capabilities. Unsigned paid calls return HTTP 402 with a PAYMENT-REQUIRED x402 challenge.","url":"https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/api/readiness?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","pattern":"^https?://","maxLength":2048,"minLength":1,"description":"Public HTTP(S) URL to inspect, resolve, or compare."},"openapi_url":{"type":"string","pattern":"^https?://","maxLength":2048,"minLength":1,"description":"Public openapi url value used to scope this lookup."}}},"responseSchema":{"type":"json","example":{"ok":true,"data":{"site":"example","scope":"bounded_api_discovery_plus_single_openapi_preflight","state":"ready","servers":[],"api_docs":[],"blockers":[],"auth_docs":[],"auth_types":[],"openapi_version":"example","operation_count":0,"developer_portals":[],"openapi_reachable":false,"openapi_candidates":[],"openapi_parse_valid":false,"selected_openapi_url":"example","provider_request_count":0,"provider_request_budget":11},"meta":{"cache":"miss","provider":"bounded-web-discovery","checked_at":"2026-01-01T00:00:00.000Z","duration_ms":0},"version":"1","capability":"api.readiness"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.006","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.006/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.006","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.006","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_-IMAg_-Zy1TfxEwxvnq9T","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.006","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Inspects a public URL or OpenAPI endpoint to determine if an API is reachable, parseable, and ready for discovery, returning structured readiness metadata.","exampleAgentPrompt":"Can you check if the API at https://api.example.com is ready and discoverable — find its OpenAPI spec, auth types, and whether it's reachable and parseable?","exampleUseCases":[{"title":"Pre-integration API readiness check","prompt":"Before I start building an integration, can you check whether the API at https://api.acme.com is up, find its OpenAPI spec, and tell me what auth methods it supports?"},{"title":"OpenAPI spec validation for a known URL","prompt":"I have an OpenAPI spec at https://api.myservice.io/openapi.json — can you verify it's reachable and valid, and tell me how many operations it exposes?"},{"title":"Discover developer portal for a third-party service","prompt":"I'm trying to integrate with https://payments.fintech.io — can you probe it to find any developer portals, API docs, or OpenAPI candidates it might have?"}],"resultDescription":"Returns a JSON object with a readiness state (e.g. 'ready'), list of servers, API doc URLs, auth types, OpenAPI version, operation count, developer portal links, OpenAPI candidates, parse validity, selected OpenAPI URL, provider request counts, plus metadata including cache status, provider name, check timestamp, and duration.","failureModes":["URL is unreachable or returns non-200 — readiness state may be 'not_ready' or blockers listed","OpenAPI URL is malformed or not an HTTP(S) URL — rejected by input schema pattern validation","Target site blocks automated probing — empty candidates and operation count of 0","Payment not attached — returns HTTP 402 with x402 PAYMENT-REQUIRED challenge","OpenAPI spec found but not parseable — openapi_parse_valid returns false","Provider request budget exceeded — provider_request_count hits limit"],"whenToPreferThis":"Choose this endpoint when you need a machine-readable readiness signal for an API before attempting integration — especially when you want to auto-discover OpenAPI specs, validate parseability, enumerate auth types, and find developer portals from just a URL. Prefer this over generic HTTP probing tools when you need structured API-specific metadata rather than raw HTTP responses.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-20T06:41:40.835Z","isFirstParty":false,"canonicalSlug":"forest-factory-api-api-readiness-check-328fd64f"}