{"ok":true,"schema_version":1,"data":{"agent_readiness":{"blocker_level":"none","blockers":[],"missing_fields":[],"status":"callable"},"categories":["baseline-augmented","baseline-curated","official-source-repo"],"completeness_score":86,"contract_version":"2026-07-03.2","example_count":0,"examples":[],"generated_at":"2026-09-10T12:15:44.147Z","integration_readiness":100,"name":"OpenRoboto","netuid":80,"readiness":{"components":{"active_lifecycle":true,"auth_clarity":true,"callable_now":true,"documented":true,"has_callable_api":true,"has_candidate_api":true,"has_public_docs":true,"has_source_repo":true,"profile_complete":true},"readiness_tier":"buildable","readiness_version":2,"score":100,"readiness_verified":true},"schema_version":1,"service_count":3,"services":[{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://raw.githubusercontent.com/dogelayer-ai/dogelayer/2d29e575c50c5328787405a46080e827e0cff33d/dogelayer/core/chain_data/types.json","capability":"dogelayer chain type registry","description":"Public no-auth machine-readable chain type registry (types.json) from the official SN80 dogelayer repository (dogelayer-ai/dogelayer), pinned to an immutable commit. Defines the SCALE-encoded type definitions the subnet's core uses to decode on-chain data, including the PoolInfo commitment structure (pool_index, ip, port, domain, username, password, high_diff_port) that validators publish when they commit stratum pool metadata to the chain. Static JSON artifact useful for agents decoding SN80 chain state.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"non-json response","status":"capture-failed"},"health":{"status":"ok","classification":"live","latency_ms":214,"last_ok":"2026-09-11T03:00:12.650Z","last_checked":"2026-09-11T03:00:12.650Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"dogelayer","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://raw.githubusercontent.com/dogelayer-ai/dogelayer/2d29e575c50c5328787405a46080e827e0cff33d/dogelayer/core/chain_data/types.json'","python":"import requests\n\nresp = requests.get(\"https://raw.githubusercontent.com/dogelayer-ai/dogelayer/2d29e575c50c5328787405a46080e827e0cff33d/dogelayer/core/chain_data/types.json\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://raw.githubusercontent.com/dogelayer-ai/dogelayer/2d29e575c50c5328787405a46080e827e0cff33d/dogelayer/core/chain_data/types.json\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-80-dogelayer-chain-types"},{"auth":{"location":"header","name":"X-API-Key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"registry-observed","base_url":"https://api.openroboto.ai/api/v1/openapi.json","capability":"OpenRoboto OpenAPI schema","description":"OpenAPI/Swagger document confirmed by a safe probe (validated spec structure) at a conventional path. Requires maintainer review before promotion.","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer"],"live_status":"unknown"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-80-openapi-probe-api-openroboto-ai.json","captured_at":"2026-09-10T12:15:45.054Z","request":{"method":"GET","url":"https://api.openroboto.ai/api/v1/openapi.json"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-80-openapi-probe-api-openroboto-ai.json","captured_at":"2026-09-10T12:15:45.054Z","reason":null,"status":"available"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"openapi","provider":"dogelayer","schema_artifact":"/metagraph/schemas/sn-80-openapi-probe-api-openroboto-ai.json","schema_source":{"artifact":"/metagraph/schemas/sn-80-openapi-probe-api-openroboto-ai.json","hash":"98ee7606a5210080a85f5f8057d6e7d9ffa03a38056d84986d4b4385825c8a40","match":"surface-id","observed_at":"2026-09-10T12:15:45.054Z","status":"captured","surface_id":"sn-80-openapi-probe-api-openroboto-ai","url":"https://api.openroboto.ai/api/v1/openapi.json"},"schema_status":"machine-readable","schema_url":"https://api.openroboto.ai/api/v1/openapi.json","snippets":{"curl":"curl -sS 'https://api.openroboto.ai/api/v1/openapi.json' \\\n  -H 'X-API-Key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.openroboto.ai/api/v1/openapi.json\", headers={\"X-API-Key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.openroboto.ai/api/v1/openapi.json\", {\n  headers: { \"X-API-Key\": \"<api-key>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-80-openapi-probe-api-openroboto-ai"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.taomarketcap.com/public/v1/subnets/80/","capability":"DogeLayer TaoMarketCap subnet snapshot API","description":"Public no-auth GET /public/v1/subnets/80/ on api.taomarketcap.com returning machine-readable JSON for SN80 on-chain subnet state, SubnetIdentitiesV3 metadata, economics, and dTAO market fields. DogeLayer's documented proxy API requires Bearer auth and has no verified no-auth first-party public endpoint; this indexed feed is documented in the TaoMarketCap developer API. TaoMarketCap now enforces a trailing slash (the non-slash path 301s); tracked URL updated to the canonical non-redirecting form. Rejects HEAD (405); probe uses GET.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"degraded"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-80-taomarketcap-subnet-api.json","captured_at":"2026-09-10T12:15:45.054Z","request":{"method":"GET","url":"https://api.taomarketcap.com/public/v1/subnets/80/"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-80-taomarketcap-subnet-api.json","captured_at":"2026-09-10T12:15:45.054Z","reason":null,"status":"available"},"health":{"status":"degraded","classification":"rate-limited","latency_ms":null,"last_ok":"2026-09-11T02:30:12.650Z","last_checked":"2026-09-11T03:00:12.650Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"taomarketcap","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.taomarketcap.com/public/v1/subnets/80/'","python":"import requests\n\nresp = requests.get(\"https://api.taomarketcap.com/public/v1/subnets/80/\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.taomarketcap.com/public/v1/subnets/80/\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-80-taomarketcap-subnet-api"}],"slug":"sn-80","subnet_type":"application","operational_observed_at":"2026-09-11T03:00:12.650Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/agent-catalog/80.json","cache":"standard","contract_version":"2026-07-03.2","generated_at":"2026-09-10T12:15:44.147Z","published_at":"2026-09-10T12:15:44.147Z","source":"live-cron-prober","operational_observed_at":"2026-09-11T03:00:12.650Z"}}