{"ok":true,"schema_version":1,"data":{"agent_readiness":{"blocker_level":"none","blockers":[],"missing_fields":[],"status":"callable"},"categories":["ai-research","baseline-augmented","baseline-curated","identity-reviewed","official-docs","official-source-repo","official-website"],"completeness_score":93,"contract_version":"2026-07-03.2","example_count":0,"examples":[],"generated_at":"2026-07-27T10:51:25.049Z","integration_readiness":100,"name":"Plaτform","netuid":100,"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":28,"services":[{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/validators/public","capability":"Base validators (public)","description":"Public no-auth GET returning the public validator list (hotkey, uid, status, online, capabilities). Documented in the subnet's own OpenAPI schema.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-100-joinbase-validators-public.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://chain.joinbase.ai/v1/validators/public"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-100-joinbase-validators-public.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":187,"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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/validators/public' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/validators/public\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/validators/public\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-joinbase-validators-public"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/admin","capability":"Platform admin","description":"Admin Home operation on the Plaтform BASE Challenge Proxy API (GET /admin), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3). Live-verified 2026-07-21: an unauthenticated GET returns HTTP 401 {\"detail\":\"Unauthorized\"}, confirming the gate.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/admin' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/admin\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/admin\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-admin"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/admin/challenges","capability":"Platform admin challenges","description":"Admin Challenges operation on the Plaтform BASE Challenge Proxy API (GET /admin/challenges), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3). Live-verified 2026-07-21: an unauthenticated GET returns HTTP 401 {\"detail\":\"Unauthorized\"}, confirming the gate.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/admin/challenges' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/admin/challenges\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/admin/challenges\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-admin-challenges"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/challenges/%7Bslug%7D","capability":"Platform challenges slug","description":"Proxy Root operation on the Plaтform BASE Challenge Proxy API (DELETE, GET, PATCH, POST, PUT /challenges/{slug}), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {slug}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/challenges/%7Bslug%7D' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/challenges/%7Bslug%7D\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/challenges/%7Bslug%7D\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-challenges-slug"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/challenges/%7Bslug%7D/%7Bpath%7D","capability":"Platform challenges slug path","description":"Proxy Path operation on the Plaтform BASE Challenge Proxy API (DELETE, GET, PATCH, POST, PUT /challenges/{slug}/{path}), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {slug}, {path}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/challenges/%7Bslug%7D/%7Bpath%7D' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/challenges/%7Bslug%7D/%7Bpath%7D\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/challenges/%7Bslug%7D/%7Bpath%7D\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-challenges-slug-path"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/internal/v1/challenges/%7Bslug%7D/raw-weights","capability":"Platform internal v1 challenges slug raw weights","description":"Push Raw Weights operation on the Plaтform BASE Challenge Proxy API (POST /internal/v1/challenges/{slug}/raw-weights), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {slug}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/internal/v1/challenges/%7Bslug%7D/raw-weights' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/internal/v1/challenges/%7Bslug%7D/raw-weights\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/internal/v1/challenges/%7Bslug%7D/raw-weights\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-internal-v1-challenges-slug-raw-weights"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://chain.joinbase.ai/v1/challenges/dashboard.svg","capability":"Plaτform challenges dashboard SVG","description":"Public no-auth GET returning a rendered SVG dashboard (registered BASE challenges with status, miners, and emissions) on the same chain.joinbase.ai host as the registered OpenAPI/subnet-api surfaces. Documented in the subnet's own OpenAPI spec (chain.joinbase.ai/openapi.json, path /v1/challenges/dashboard.svg, summary \"Get Challenges Dashboard Svg\").","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"non-json response","status":"capture-failed"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"data-artifact","provider":"platform-network","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/challenges/dashboard.svg'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/challenges/dashboard.svg\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/challenges/dashboard.svg\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-network-challenges-dashboard"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/openapi.json","capability":"Plaτform BASE Challenge Proxy OpenAPI","description":"OpenAPI 3.1 spec for the BASE challenge proxy public edge at chain.joinbase.ai. The official SN100 source repository (PlatformNetwork/platform README) documents this host as the live public API front door for the multi-challenge subnet platform.","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer"],"live_status":"unknown"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-100-platform-network-openapi.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://chain.joinbase.ai/openapi.json"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-100-platform-network-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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"surface-id","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/openapi.json' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/openapi.json\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/openapi.json\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-network-openapi"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/registry","capability":"Plaτform challenge registry API","description":"Public no-auth GET returning the active BASE challenge registry (network, API version, and challenge slugs with emission percentages). Documented in the subnet's own OpenAPI (chain.joinbase.ai/openapi.json, path /v1/registry); same host as the registered OpenAPI surface. The sibling /v1/weights/latest endpoint on this host returns netuid 100, confirming SN100 ownership.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-100-platform-network-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://chain.joinbase.ai/v1/registry"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-100-platform-network-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":223,"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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/registry' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/registry\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/registry\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-network-subnet-api"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/admin/challenges","capability":"Platform v1 admin challenges","description":"Create Challenge operation on the Plaтform BASE Challenge Proxy API (POST /v1/admin/challenges), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/admin/challenges' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/admin/challenges\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/admin/challenges\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-admin-challenges"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D","capability":"Platform v1 admin challenges slug","description":"Get Challenge operation on the Plaтform BASE Challenge Proxy API (GET, PATCH /v1/admin/challenges/{slug}), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-admin-challenges-slug"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/activate","capability":"Platform v1 admin challenges slug activate","description":"Activate Challenge operation on the Plaтform BASE Challenge Proxy API (POST /v1/admin/challenges/{slug}/activate), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/activate' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/activate\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/activate\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-admin-challenges-slug-activate"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/deactivate","capability":"Platform v1 admin challenges slug deactivate","description":"Deactivate Challenge operation on the Plaтform BASE Challenge Proxy API (POST /v1/admin/challenges/{slug}/deactivate), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/deactivate' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/deactivate\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/deactivate\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-admin-challenges-slug-deactivate"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/pull","capability":"Platform v1 admin challenges slug pull","description":"Pull Challenge operation on the Plaтform BASE Challenge Proxy API (POST /v1/admin/challenges/{slug}/pull), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/pull' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/pull\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/pull\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-admin-challenges-slug-pull"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/restart","capability":"Platform v1 admin challenges slug restart","description":"Restart Challenge operation on the Plaтform BASE Challenge Proxy API (POST /v1/admin/challenges/{slug}/restart), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/restart' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/restart\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/restart\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-admin-challenges-slug-restart"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/status","capability":"Platform v1 admin challenges slug status","description":"Challenge Status operation on the Plaтform BASE Challenge Proxy API (GET /v1/admin/challenges/{slug}/status), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/status' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/status\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/admin/challenges/%7Bslug%7D/status\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-admin-challenges-slug-status"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/progress","capability":"Platform v1 assignments assignment id progress","description":"Assignment Progress operation on the Plaтform BASE Challenge Proxy API (POST /v1/assignments/{assignment_id}/progress), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {assignment_id}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/progress' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/progress\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/progress\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-assignments-assignment-id-progress"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/result","capability":"Platform v1 assignments assignment id result","description":"Assignment Result operation on the Plaтform BASE Challenge Proxy API (POST /v1/assignments/{assignment_id}/result), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {assignment_id}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/result' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/result\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/assignments/%7Bassignment_id%7D/result\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-assignments-assignment-id-result"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/assignments/pull","capability":"Platform v1 assignments pull","description":"Pull Assignments operation on the Plaтform BASE Challenge Proxy API (POST /v1/assignments/pull), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares no security on it; it is a state-changing POST and not probe-safe, so the probe is disabled and no auth requirement is asserted without evidence.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/assignments/pull' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/assignments/pull\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/assignments/pull\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-assignments-pull"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions","capability":"Platform v1 challenges challenge name submissions","description":"Upload Submission operation on the Plaтform BASE Challenge Proxy API (POST /v1/challenges/{challenge_name}/submissions), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {challenge_name}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-challenges-challenge-name-submissions"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions/%7Bsubmission_id%7D","capability":"Platform v1 challenges challenge name submissions submission id","description":"Bridge Submission Status operation on the Plaтform BASE Challenge Proxy API (GET /v1/challenges/{challenge_name}/submissions/{submission_id}), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {challenge_name}, {submission_id}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions/%7Bsubmission_id%7D' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions/%7Bsubmission_id%7D\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/challenges/%7Bchallenge_name%7D/submissions/%7Bsubmission_id%7D\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-challenges-challenge-name-submissions-submission-id"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes (HTTPBearer), declared per-operation.","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/validators","capability":"Platform v1 validators","description":"List Validators operation on the Plaтform BASE Challenge Proxy API (GET /v1/validators), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares the HTTPBearer security scheme on it, so it is registered auth_required:true with probe.enabled:false (Phase 3). Live-verified 2026-07-21: an unauthenticated GET returns HTTP 401 {\"detail\":\"Unauthorized\"}, confirming the gate.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/validators' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/validators\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/validators\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-validators"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/validators/heartbeat","capability":"Platform v1 validators heartbeat","description":"Heartbeat Validator operation on the Plaтform BASE Challenge Proxy API (POST /v1/validators/heartbeat), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares no security on it; it is a state-changing POST and not probe-safe, so the probe is disabled and no auth requirement is asserted without evidence.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/validators/heartbeat' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/validators/heartbeat\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/validators/heartbeat\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-validators-heartbeat"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/validators/register","capability":"Platform v1 validators register","description":"Register Validator operation on the Plaтform BASE Challenge Proxy API (POST /v1/validators/register), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares no security on it; it is a state-changing POST and not probe-safe, so the probe is disabled and no auth requirement is asserted without evidence.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/validators/register' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/validators/register\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/validators/register\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-validators-register"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/validators/subscriptions","capability":"Platform v1 validators subscriptions","description":"Set Subscriptions operation on the Plaтform BASE Challenge Proxy API (POST /v1/validators/subscriptions), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares no security on it; it is a state-changing POST and not probe-safe, so the probe is disabled and no auth requirement is asserted without evidence.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/validators/subscriptions' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/validators/subscriptions\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/validators/subscriptions\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-validators-subscriptions"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/weights/latest","capability":"Platform v1 weights latest","description":"Get Latest Weights operation on the Plaтform BASE Challenge Proxy API (GET /v1/weights/latest), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Live-verified 2026-07-21: GET /v1/weights/latest -> HTTP 200 application/json (protocol_version, vector_id, vector_digest). Public, no-auth and fixed-URL, so its probe is enabled.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-100-platform-v1-weights-latest.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://chain.joinbase.ai/v1/weights/latest"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-100-platform-v1-weights-latest.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":84,"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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/weights/latest' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/weights/latest\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/weights/latest\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-weights-latest"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/weights/submission-observations","capability":"Platform v1 weights submission observations","description":"Report Submission Observation operation on the Plaтform BASE Challenge Proxy API (POST /v1/weights/submission-observations), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. The spec declares no security on it; it is a state-changing POST and not probe-safe, so the probe is disabled and no auth requirement is asserted without evidence.","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/weights/submission-observations' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/weights/submission-observations\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/weights/submission-observations\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-weights-submission-observations"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","value_format":"Bearer <token>"},"auth_required":true,"auth_schemes":["http"],"authority":"community","base_url":"https://chain.joinbase.ai/v1/weights/%7Bvector_id%7D","capability":"Platform v1 weights vector id","description":"Get Weight Vector operation on the Plaтform BASE Challenge Proxy API (GET /v1/weights/{vector_id}), declared in the subnet's own OpenAPI spec at https://chain.joinbase.ai/openapi.json. Path-parameterized on {vector_id}, so there is no single fixed callable URL; the template is registered per the registry's catalog-everything policy (Phase 2).","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":"platform-network","schema_artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-100-platform-network-openapi.json","hash":"364843c905c6a643c67e24d01a90f49e36d5f06fb2d8a5769d27330cb50960f1","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-100-platform-network-openapi","url":"https://chain.joinbase.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://chain.joinbase.ai/openapi.json","snippets":{"curl":"curl -sS 'https://chain.joinbase.ai/v1/weights/%7Bvector_id%7D' \\\n  -H 'Authorization: Bearer <token>'","python":"import requests\n\nresp = requests.get(\"https://chain.joinbase.ai/v1/weights/%7Bvector_id%7D\", headers={\"Authorization\": \"Bearer <token>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://chain.joinbase.ai/v1/weights/%7Bvector_id%7D\", {\n  headers: { \"Authorization\": \"Bearer <token>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-100-platform-v1-weights-vector-id"}],"slug":"sn-100","subnet_type":"application","operational_observed_at":"2026-07-27T23:00:18.289Z","health_source":"live-cron-prober","previously_known_as":["BASE"]},"meta":{"artifact_path":"/metagraph/agent-catalog/100.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"}}