{"ok":true,"schema_version":1,"data":{"agent_readiness":{"blocker_level":"missing-data","blockers":[{"code":"unclear-auth","field":"auth","message":"Callable services exist, but auth requirements are not fully machine-readable.","next_action":"Declare auth_required/auth_schemes or capture auth metadata from the service schema.","severity":"missing-data"}],"missing_fields":["auth"],"status":"callable"},"categories":["baseline-augmented","developer-tools","pilot","repositories"],"completeness_score":98,"contract_version":"2026-07-03.2","example_count":0,"examples":[],"generated_at":"2026-07-27T10:51:25.049Z","integration_readiness":96,"name":"Gittensor","netuid":74,"readiness":{"components":{"active_lifecycle":true,"auth_clarity":false,"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":96,"readiness_verified":true},"schema_version":1,"service_count":42,"services":[{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://raw.githubusercontent.com/entrius/gittensor/main/gittensor/validator/weights/master_repositories.json","capability":"Gittensor master repository weights","description":"Documented source for public repository emission_share, issue_discovery_share, and maintainer_cut config.","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":234,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://raw.githubusercontent.com/entrius/gittensor/main/gittensor/validator/weights/master_repositories.json'","python":"import requests\n\nresp = requests.get(\"https://raw.githubusercontent.com/entrius/gittensor/main/gittensor/validator/weights/master_repositories.json\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://raw.githubusercontent.com/entrius/gittensor/main/gittensor/validator/weights/master_repositories.json\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"gittensor-master-repositories"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.loopover.ai/v1/public/subnet-interface","capability":"Gittensory contribution-interface descriptor","description":"Machine-readable descriptor declaring Gittensory (now branded LoopOver) as the SN74 contribution interface: MCP endpoint, contribution-relevant tools, GitHub App, and onboarding steps. Migrated from gittensory-api.aethereal.dev (dead, DNS unresolvable) to api.loopover.ai -- verified live 2026-07-15, payload confirms netuid 74 / name \"gittensor\" / provider \"LoopOver\".","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/gittensory-contribution-interface.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.loopover.ai/v1/public/subnet-interface"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/gittensory-contribution-interface.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":914,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensory","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.loopover.ai/v1/public/subnet-interface'","python":"import requests\n\nresp = requests.get(\"https://api.loopover.ai/v1/public/subnet-interface\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.loopover.ai/v1/public/subnet-interface\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"gittensory-contribution-interface"},{"auth":{"scheme":"custom","scopes_note":"Requires GitHub OAuth sign-in; not a static API key or bearer token."},"auth_required":true,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.loopover.ai/mcp","capability":"Gittensory MCP (contribution interface)","description":"Streamable-HTTP MCP server exposing deterministic, gittensor-native contribution signals (decision pack, check-before-start, preflight, notifications) to a contributor's own agent harness. POST-only JSON-RPC, so recurring read probes are intentionally disabled. Contributor tools are scoped to the authenticated GitHub login. Migrated from gittensory-api.aethereal.dev to api.loopover.ai -- both GET and POST now correctly return 401 unauthorized (confirmed 2026-07-15), consistent with the prior auth-gated behavior. Live-verified 2026-07-20: anonymous GET and JSON-RPC POST tools/list both returned HTTP 401 application/json with {\"error\":\"unauthorized\"}, confirming the declared custom-auth requirement; execution remains Phase 3 territory.","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown","auth-required"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensory","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.loopover.ai/mcp' \\\n  -H 'Authorization: Bearer YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.loopover.ai/mcp\", headers={\"Authorization\": \"Bearer YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.loopover.ai/mcp\", {\n  headers: { \"Authorization\": \"Bearer YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"gittensory-mcp"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.loopover.ai/v1/mcp/compatibility","capability":"Gittensory MCP compatibility status","description":"Public no-auth GET /v1/mcp/compatibility on api.loopover.ai returning the @loopover/mcp package's minimum/latest supported version info (used by the CLI to self-check compatibility). Documented in the LoopOver API OpenAPI schema (100 paths) on the same host as the contribution-interface descriptor. Live-verified 2026-07-20: GET returned HTTP 200 application/json (435 bytes) with status, service, apiVersion, mcp compatibility, warnings, breaking changes, and generatedAt fields.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/gittensory-mcp-compatibility.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.loopover.ai/v1/mcp/compatibility"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/gittensory-mcp-compatibility.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":747,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"gittensory","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.loopover.ai/v1/mcp/compatibility'","python":"import requests\n\nresp = requests.get(\"https://api.loopover.ai/v1/mcp/compatibility\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.loopover.ai/v1/mcp/compatibility\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"gittensory-mcp-compatibility"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.loopover.ai/v1/public/stats","capability":"Gittensory public contribution stats","description":"Public no-auth GET /v1/public/stats on api.loopover.ai returning aggregate PR-handling stats (totals: handled/merged/closed/reviewed/accuracyPct/minutesSaved, plus a weekly breakdown). Documented in the LoopOver API OpenAPI schema (100 paths) on the same host as the contribution-interface descriptor.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/gittensory-public-stats.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.loopover.ai/v1/public/stats"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/gittensory-public-stats.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":3246,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensory","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.loopover.ai/v1/public/stats'","python":"import requests\n\nresp = requests.get(\"https://api.loopover.ai/v1/public/stats\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.loopover.ai/v1/public/stats\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"gittensory-public-stats"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/configurations/general","capability":"Gittensor general scoring configuration","description":"Public no-auth GET /configurations/general on api.gittensor.io returning the live scoring configuration (language-file scoring weights, repository PR scoring parameters, time-decay curve settings) validators apply. Documented in the subnet swagger-json OpenAPI spec on the same host as the existing surfaces.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-configurations-general.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/configurations/general"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-configurations-general.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":503,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/configurations/general'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/configurations/general\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/configurations/general\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-configurations-general"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/commits","capability":"Gittensor recent scored commits","description":"Public no-auth GET /dash/commits on api.gittensor.io returning recent scored pull-request commits (pullRequestNumber, hotkey, title, additions/deletions, label, repository, mergedAt). Documented in the subnet swagger-json OpenAPI spec on the same host as the existing prs surface.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-dash-commits.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/dash/commits"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-dash-commits.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":679,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/commits'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/commits\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/commits\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-dash-commits"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/dash/lines/hotkey","capability":"Gittensor GET dash lines hotkey","description":"GET /dash/lines/hotkey on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Required query params: hotkey. Live-verified 2026-07-21 with a real, valid value: HTTP 200. probe.enabled:false is the safer default here: an auto-probe with no query params would just error, misreporting the surface as down. Registered with the fixed base url, no query string baked in — already callable today via call_subnet_surface's own query argument. Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/lines/hotkey' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/lines/hotkey\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/lines/hotkey\", {\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-74-gittensor-dash-lines-hotkey"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/prices","capability":"Gittensor TAO price snapshot","description":"Public no-auth GET /dash/prices on api.gittensor.io returning a live TAO market data snapshot (price, marketCap, volume24h, percentChange24h/7d) used by the dashboard. Documented in the subnet swagger-json OpenAPI spec on the same host as the existing dash/* surfaces.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-dash-prices.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/dash/prices"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-dash-prices.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":651,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/prices'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/prices\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/prices\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-dash-prices"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/prices/history","capability":"Gittensor TAO price history","description":"Public no-auth GET /dash/prices/history on api.gittensor.io returning a time series of TAO price/market snapshots. Documented in the subnet swagger-json OpenAPI spec on the same host as the existing dash/prices surface.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-dash-prices-history.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/dash/prices/history"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-dash-prices-history.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":918,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/prices/history'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/prices/history\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/prices/history\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-dash-prices-history"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/stats","capability":"Gittensor network statistics dashboard API","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"ok","classification":"live","latency_ms":459,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/stats'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/stats\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/stats\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-data-artifact"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/issues","capability":"Gittensor issue bounties","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"ok","classification":"live","latency_ms":516,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/issues'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/issues\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/issues\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-data-artifact-api-gittensor-io"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/issues/stats","capability":"Gittensor issue bounty statistics","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"ok","classification":"live","latency_ms":536,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/issues/stats'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/issues/stats\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/issues/stats\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-data-artifact-api-gittensor-io-2"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/languages","capability":"Gittensor languages data-artifact","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"ok","classification":"live","latency_ms":251,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/languages'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/languages\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/languages\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-data-artifact-api-gittensor-io-3"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/repos","capability":"Gittensor master repository list","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"ok","classification":"live","latency_ms":636,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/repos'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/repos\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/repos\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-data-artifact-api-gittensor-io-4"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/prs","capability":"Gittensor merged pull requests","description":"Public no-auth GET /prs on api.gittensor.io returning the list of scored merged pull requests (pullRequestNumber, hotkey, title, additions/deletions, label, minerIncentive, repository, score fields). Documented in the subnet swagger-json OpenAPI spec on the same host as the existing miners and dash surfaces.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"response exceeds byte limit","status":"capture-failed"},"health":{"status":"ok","classification":"live","latency_ms":1065,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/prs'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/prs\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/prs\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-data-artifact-api-gittensor-io-5"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/","capability":"Gittensor API root health","description":"Public no-auth GET / on api.gittensor.io returning API liveness (observed plain-text response: Hello World!). Documented as AppController_getHello at path / in the subnet swagger-json OpenAPI spec on the same host as the existing miners and dash subnet-api surfaces. Live-verified 2026-07-20: GET returned HTTP 200 text/html; charset=utf-8 with the 12-byte body \"Hello World!\"; probe.expect any remains correct for this non-JSON response.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"ok","classification":"live","latency_ms":221,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/\", {\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-74-gittensor-health"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/issues/%7Bid%7D","capability":"Gittensor GET issues by id","description":"GET /issues/{id} on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/issues/%7Bid%7D' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/issues/%7Bid%7D\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/issues/%7Bid%7D\", {\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-74-gittensor-issues-id"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/issues/%7Bid%7D/details","capability":"Gittensor GET issues by id details","description":"GET /issues/{id}/details on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/issues/%7Bid%7D/details' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/issues/%7Bid%7D/details\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/issues/%7Bid%7D/details\", {\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-74-gittensor-issues-id-details"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/issues/%7Bid%7D/submissions","capability":"Gittensor GET issues by id submissions","description":"GET /issues/{id}/submissions on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/issues/%7Bid%7D/submissions' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/issues/%7Bid%7D/submissions\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/issues/%7Bid%7D/submissions\", {\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-74-gittensor-issues-id-submissions"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/issues/repo/%7BrepoFullName%7D/summary","capability":"Gittensor GET issues repo by repoFullName summary","description":"GET /issues/repo/{repoFullName}/summary on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/issues/repo/%7BrepoFullName%7D/summary' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/issues/repo/%7BrepoFullName%7D/summary\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/issues/repo/%7BrepoFullName%7D/summary\", {\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-74-gittensor-issues-repo-repofullname-summary"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://raw.githubusercontent.com/entrius/gittensor/a5b21df92d123f9bd5fe63cea05d98c13d20fa8f/gittensor/validator/weights/programming_languages.json","capability":"Gittensor programming-language scoring weights","description":"Public no-auth machine-readable JSON from the official SN74 Gittensor repository (entrius/gittensor), pinned to an immutable commit. Maps each programming language to the scoring weight the validators apply when evaluating miners' code contributions (e.g. per-language weight multipliers). Static data artifact documenting the subnet's language-weighting scoring parameters.","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":281,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://raw.githubusercontent.com/entrius/gittensor/a5b21df92d123f9bd5fe63cea05d98c13d20fa8f/gittensor/validator/weights/programming_languages.json'","python":"import requests\n\nresp = requests.get(\"https://raw.githubusercontent.com/entrius/gittensor/a5b21df92d123f9bd5fe63cea05d98c13d20fa8f/gittensor/validator/weights/programming_languages.json\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://raw.githubusercontent.com/entrius/gittensor/a5b21df92d123f9bd5fe63cea05d98c13d20fa8f/gittensor/validator/weights/programming_languages.json\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-language-weights"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/lines/hist-trend","capability":"Gittensor lines-committed historical trend","description":"Public no-auth GET /dash/lines/hist-trend on api.gittensor.io returning a daily time series of total lines committed across tracked repositories. Documented in the subnet swagger-json OpenAPI spec on the same host as the existing dash/* surfaces.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-lines-hist-trend.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/dash/lines/hist-trend"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-lines-hist-trend.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":240,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/lines/hist-trend'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/lines/hist-trend\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/lines/hist-trend\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-lines-hist-trend"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/lines/total","capability":"Gittensor total lines committed","description":"Public no-auth GET /dash/lines/total on api.gittensor.io returning the all-time total linesCommitted count across tracked repositories. Documented in the subnet swagger-json OpenAPI spec on the same host as the existing dash/* surfaces.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-lines-total.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/dash/lines/total"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-lines-total.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":219,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/lines/total'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/lines/total\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/lines/total\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-lines-total"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/miners/by-github-id/%7BgithubId%7D/hotkey","capability":"Gittensor GET miners by github id by githubId hotkey","description":"GET /miners/by-github-id/{githubId}/hotkey on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/miners/by-github-id/%7BgithubId%7D/hotkey' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/miners/by-github-id/%7BgithubId%7D/hotkey\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/miners/by-github-id/%7BgithubId%7D/hotkey\", {\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-74-gittensor-miners-by-github-id-githubid-hotkey"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/miners/by-hotkey/%7Bhotkey%7D/github","capability":"Gittensor GET miners by hotkey by hotkey github","description":"GET /miners/by-hotkey/{hotkey}/github on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/miners/by-hotkey/%7Bhotkey%7D/github' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/miners/by-hotkey/%7Bhotkey%7D/github\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/miners/by-hotkey/%7Bhotkey%7D/github\", {\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-74-gittensor-miners-by-hotkey-hotkey-github"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/miners/%7BgithubId%7D","capability":"Gittensor GET miners by githubId","description":"GET /miners/{githubId} on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/miners/%7BgithubId%7D' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/miners/%7BgithubId%7D\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/miners/%7BgithubId%7D\", {\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-74-gittensor-miners-githubid"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/miners/%7BgithubId%7D/github","capability":"Gittensor GET miners by githubId github","description":"GET /miners/{githubId}/github on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/miners/%7BgithubId%7D/github' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/miners/%7BgithubId%7D/github\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/miners/%7BgithubId%7D/github\", {\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-74-gittensor-miners-githubid-github"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/miners/%7BgithubId%7D/prs","capability":"Gittensor GET miners by githubId prs","description":"GET /miners/{githubId}/prs on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/miners/%7BgithubId%7D/prs' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/miners/%7BgithubId%7D/prs\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/miners/%7BgithubId%7D/prs\", {\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-74-gittensor-miners-githubid-prs"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/og-image","capability":"Gittensor GET og image","description":"GET /og-image on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Required query params: type, id, repo, number. Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-dash-lines-hotkey` sibling. probe.enabled:false is the safer default here: an auto-probe with no query params would just error, misreporting the surface as down. Registered with the fixed base url, no query string baked in — already callable today via call_subnet_surface's own query argument. Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/og-image' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/og-image\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/og-image\", {\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-74-gittensor-og-image"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/swagger-json","capability":"Gittensor API OpenAPI schema","description":"Live-verified 2026-07-20: GET returned HTTP 200 application/json (15,254 bytes), parsed as an OpenAPI 3.0 object with paths, info, tags, servers, and components. Tightened probe.expect from any to json to match the observed response.","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer"],"live_status":"unknown"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-openapi.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/swagger-json"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-openapi.json","captured_at":"2026-07-27T10:51:25.372Z","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":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"surface-id","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/swagger-json' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/swagger-json\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/swagger-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-74-gittensor-openapi"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/prs/comments","capability":"Gittensor GET prs comments","description":"GET /prs/comments on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Required query params: repo, number. Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-dash-lines-hotkey` sibling. probe.enabled:false is the safer default here: an auto-probe with no query params would just error, misreporting the surface as down. Registered with the fixed base url, no query string baked in — already callable today via call_subnet_surface's own query argument. Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/prs/comments' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/prs/comments\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/prs/comments\", {\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-74-gittensor-prs-comments"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/prs/details","capability":"Gittensor GET prs details","description":"GET /prs/details on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Required query params: repo, number. Live-verified 2026-07-21 with a real, valid value: HTTP 200. probe.enabled:false is the safer default here: an auto-probe with no query params would just error, misreporting the surface as down. Registered with the fixed base url, no query string baked in — already callable today via call_subnet_surface's own query argument. Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/prs/details' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/prs/details\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/prs/details\", {\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-74-gittensor-prs-details"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.gittensor.io/dash/repos/commits","capability":"Gittensor per-repository commit stats","description":"Public no-auth GET /dash/repos/commits on api.gittensor.io returning per-repository commit statistics (repositoryFullName, emissionShare, commits, additions/deletions, linesChanged). Documented in the subnet swagger-json OpenAPI spec on the same host as the existing dash/repos surface.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-repos-commits.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/dash/repos/commits"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-repos-commits.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":886,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"gittensor","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.gittensor.io/dash/repos/commits'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/dash/repos/commits\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/dash/repos/commits\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-74-gittensor-repos-commits"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/repos/%7Brepo%7D","capability":"Gittensor GET repos by repo","description":"GET /repos/{repo} on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/repos/%7Brepo%7D' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/repos/%7Brepo%7D\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/repos/%7Brepo%7D\", {\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-74-gittensor-repos-repo"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/repos/%7Brepo%7D/badge.svg","capability":"Gittensor GET repos by repo badge svg","description":"GET /repos/{repo}/badge.svg on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/repos/%7Brepo%7D/badge.svg' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/repos/%7Brepo%7D/badge.svg\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/repos/%7Brepo%7D/badge.svg\", {\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-74-gittensor-repos-repo-badge-svg"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/repos/%7Brepo%7D/impact","capability":"Gittensor GET repos by repo impact","description":"GET /repos/{repo}/impact on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Live-verified 2026-07-21 with a real, valid value: HTTP 200. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/repos/%7Brepo%7D/impact' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/repos/%7Brepo%7D/impact\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/repos/%7Brepo%7D/impact\", {\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-74-gittensor-repos-repo-impact"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/repos/%7Brepo%7D/issues","capability":"Gittensor GET repos by repo issues","description":"GET /repos/{repo}/issues on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/repos/%7Brepo%7D/issues' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/repos/%7Brepo%7D/issues\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/repos/%7Brepo%7D/issues\", {\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-74-gittensor-repos-repo-issues"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/repos/%7Brepo%7D/maintainers","capability":"Gittensor GET repos by repo maintainers","description":"GET /repos/{repo}/maintainers on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/repos/%7Brepo%7D/maintainers' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/repos/%7Brepo%7D/maintainers\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/repos/%7Brepo%7D/maintainers\", {\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-74-gittensor-repos-repo-maintainers"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/repos/%7Brepo%7D/miners","capability":"Gittensor GET repos by repo miners","description":"GET /repos/{repo}/miners on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/repos/%7Brepo%7D/miners' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/repos/%7Brepo%7D/miners\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/repos/%7Brepo%7D/miners\", {\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-74-gittensor-repos-repo-miners"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/repos/%7Brepo%7D/prs","capability":"Gittensor GET repos by repo prs","description":"GET /repos/{repo}/prs on api.gittensor.io — public, no auth declared in the OpenAPI schema (Gittensor's whole public API is no-auth). Not individually curled — same no-auth, no-declared-security shape as the verified `sn-74-gittensor-repos-repo` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7087).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture skips credentialed services","status":"auth-required"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/repos/%7Brepo%7D/prs' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/repos/%7Brepo%7D/prs\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/repos/%7Brepo%7D/prs\", {\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-74-gittensor-repos-repo-prs"},{"auth":{"location":"header","name":"x-api-key","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://api.gittensor.io/miners","capability":"Gittensor community subnet-api","description":"Live-verified 2026-07-20: GET returned HTTP 200 application/json (179,338 bytes), parsed as an array of 168 miner records. Tightened probe.expect from any to json to match the observed response.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.gittensor.io/miners"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-74-gittensor-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":735,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"gittensor","schema_artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-74-gittensor-openapi.json","hash":"06d69c7648941b9dff160ea9fa21129d449f326e6508ba719be9060d154b3547","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-74-gittensor-openapi","url":"https://api.gittensor.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.gittensor.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.gittensor.io/miners' \\\n  -H 'x-api-key: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://api.gittensor.io/miners\", headers={\"x-api-key\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.gittensor.io/miners\", {\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-74-gittensor-subnet-api"}],"slug":"gittensor","subnet_type":"application","operational_observed_at":"2026-07-27T23:00:18.289Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/agent-catalog/74.json","cache":"standard","contract_version":"2026-07-03.2","generated_at":"2026-07-27T10:51:25.049Z","published_at":"2026-07-27T10:51:25.049Z","source":"live-cron-prober","operational_observed_at":"2026-07-27T23:00:18.289Z"}}