{"ok":true,"schema_version":1,"data":{"agent_readiness":{"blocker_level":"missing-data","blockers":[{"code":"missing-schema","field":"schemas","message":"At least one callable service exists, but no captured schema artifact is available.","next_action":"Capture an official OpenAPI/Swagger/JSON Schema source or document that no schema exists.","severity":"missing-data"},{"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"},{"code":"missing-docs","field":"docs_url","message":"No public documentation link is recorded.","next_action":"Add an official docs URL or document that no public docs exist.","severity":"missing-data"}],"missing_fields":["auth","docs_url","schemas"],"status":"callable"},"categories":["baseline-augmented","baseline-curated","identity-reviewed","official-source-repo","official-website","optimization","research"],"completeness_score":79,"contract_version":"2026-07-03.2","example_count":0,"examples":[],"generated_at":"2026-07-27T10:51:25.049Z","integration_readiness":64,"name":"Graphite","netuid":43,"readiness":{"components":{"active_lifecycle":true,"auth_clarity":false,"callable_now":true,"documented":false,"has_callable_api":true,"has_candidate_api":false,"has_public_docs":false,"has_source_repo":true,"profile_complete":true},"readiness_tier":"buildable","readiness_version":2,"score":64,"readiness_verified":true},"schema_version":1,"service_count":33,"services":[{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/admin/check","capability":"Graphite SN43 admin check (POST, public)","description":"POST /api/v1/admin/check -- reachable without any credential. Live-verified 2026-07-22 (~08:17 UTC): an unauthenticated POST with an empty JSON body returns HTTP 200 JSON with a boolean ok flag (false). probe.enabled:false: the registry probe pipeline only supports GET/HEAD (the linked issue asks for probe.enabled:true for this group, but the probe schema cannot represent a POST operation).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/admin/check'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/admin/check\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/admin/check\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-admin-check"},{"auth":{"scheme":"api-key","scopes_note":"Operator/admin management operation. The schema declares no security scheme, but the live API enforces a credential header, documented by its own HTTP 401 response body. Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/admin/keys/%7Bkey%7D","capability":"Graphite SN43 admin credential revocation (write, auth-gated)","description":"DELETE /api/v1/admin/keys/{key} -- removes an issued customer credential (write/mutation operation, path-parameterized; URL registered with the percent-encoded template). Verified with a placeholder value. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/admin/keys/%7Bkey%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/admin/keys/%7Bkey%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/admin/keys/%7Bkey%7D\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-admin-key-delete"},{"auth":{"scheme":"api-key","scopes_note":"Operator/admin management operation. The schema declares no security scheme, but the live API enforces a credential header, documented by its own HTTP 401 response body. Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/admin/keys","capability":"Graphite SN43 admin credential management (auth-gated)","description":"GET /api/v1/admin/keys lists issued customer credentials; the sibling POST on this exact URL creates one. Both operations share one URL, so this single surface represents the path per the registry's one-surface-per-URL rule (duplicate-URL check); both methods were individually live-verified rejected unauthenticated (HTTP 401). The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/admin/keys' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/admin/keys\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/admin/keys\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-admin-keys"},{"auth":{"scheme":"api-key","scopes_note":"Operator/admin management operation. The schema declares no security scheme, but the live API enforces a credential header, documented by its own HTTP 401 response body. Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/admin/usage/%7Bkey%7D","capability":"Graphite SN43 admin usage lookup (auth-gated)","description":"GET /api/v1/admin/usage/{key} -- per-credential usage accounting (path-parameterized; URL registered with the percent-encoded template). Verified with a placeholder value. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/admin/usage/%7Bkey%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/admin/usage/%7Bkey%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/admin/usage/%7Bkey%7D\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-admin-usage"},{"auth":{"scheme":"api-key","scopes_note":"Operator/admin management operation. The schema declares no security scheme, but the live API enforces a credential header, documented by its own HTTP 401 response body. Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/admin/validator/revoke","capability":"Graphite SN43 validator revocation (write, auth-gated)","description":"POST /api/v1/admin/validator/revoke -- operator-side validator revocation (write/mutation operation). The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/admin/validator/revoke' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/admin/validator/revoke\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/admin/validator/revoke\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-admin-validator-revoke"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/stats/coverage","capability":"Graphite coverage stats","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-ai-coverage-stats.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.graphite-ai.net/api/v1/stats/coverage"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-ai-coverage-stats.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":976,"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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/stats/coverage'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/stats/coverage\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/stats/coverage\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-ai-coverage-stats"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://huggingface.co/datasets/Graphite-AI/Graphite_Past_Problems","capability":"Graphite past problems dataset","description":"Official Graphite SN43 dataset of past TSP problems, pushed daily as .tsv files; the GraphiteAI subnet_tools repo syncs from this HF_REPO.","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":409,"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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://huggingface.co/datasets/Graphite-AI/Graphite_Past_Problems'","python":"import requests\n\nresp = requests.get(\"https://huggingface.co/datasets/Graphite-AI/Graphite_Past_Problems\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://huggingface.co/datasets/Graphite-AI/Graphite_Past_Problems\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-ai-data-artifact"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/openapi.json","capability":"Graphite Knowledge Graph API (OpenAPI)","description":null,"eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"unknown"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-ai-openapi.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.graphite-ai.net/openapi.json"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-ai-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":"graphite-ai","schema_artifact":null,"schema_source":{"artifact":null,"hash":null,"match":"surface-id","observed_at":null,"status":"not-found","surface_id":"sn-43-graphite-ai-openapi","url":"https://api.graphite-ai.net/openapi.json"},"schema_status":"machine-readable","schema_url":"https://api.graphite-ai.net/openapi.json","snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/openapi.json'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/openapi.json\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/openapi.json\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-ai-openapi"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/stats/subnet","capability":"Graphite SN43 subnet stats API","description":"Public, unauthenticated JSON endpoint on Graphite's official SN43 API (api.graphite-ai.net) returning the live subnet-43 metagraph aggregate: netuid, total registered neurons, validator/miner counts, total alpha stake, and an availability flag. Documented in the subnet's OpenAPI spec as GET /api/v1/stats/subnet. Live-verified 2026-07-21: GET https://api.graphite-ai.net/api/v1/stats/subnet -> HTTP 200 application/json (netuid 43, total_registered/validators/miners counts, total_alpha_stake, updated_at).","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"degraded"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-ai-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.graphite-ai.net/api/v1/stats/subnet"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-ai-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"degraded","classification":"timeout","latency_ms":null,"last_ok":"2026-07-27T10:45:02.599Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/stats/subnet'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/stats/subnet\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/stats/subnet\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-ai-subnet-api"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/billing/checkout","capability":"Graphite SN43 billing checkout (POST, public)","description":"POST /api/v1/billing/checkout -- payment-provider checkout entry point, publicly reachable. Live-verified 2026-07-22 (~08:17 UTC): an unauthenticated POST with an empty JSON body returns HTTP 400 JSON asking for a valid email (live input validation, no auth gate). probe.enabled:false: the registry probe pipeline only supports GET/HEAD (the linked issue asks for probe.enabled:true for this group, but the probe schema cannot represent a POST operation).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/billing/checkout'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/billing/checkout\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/billing/checkout\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-billing-checkout"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/billing/webhook","capability":"Graphite SN43 billing webhook (POST, public)","description":"POST /api/v1/billing/webhook -- publicly reachable callback endpoint that is only meaningful for the payment provider's own signed callbacks. Live-verified 2026-07-22 (~08:17 UTC): an unauthenticated POST returns HTTP 400 JSON rejecting the payload signature (a payload-integrity check, not a credential gate). probe.enabled:false: the registry probe pipeline only supports GET/HEAD (the linked issue asks for probe.enabled:true for this group, but the probe schema cannot represent a POST operation).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/billing/webhook'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/billing/webhook\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/billing/webhook\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-billing-webhook"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/chat","capability":"Graphite SN43 chat (POST, auth-gated)","description":"POST /api/v1/chat -- conversational query interface (write-shape POST operation). The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/chat' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/chat\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/chat\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-chat"},{"auth":{"location":"header","name":"X-API-Key","scheme":"api-key","scopes_note":"Requires an API key in the X-API-Key header (a hotkey-signed X-Signature header is also accepted for validators). Contact the subnet operator to obtain a key."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/deltas/merge","capability":"Graphite SN43 delta merge (write, auth-gated)","description":"POST /api/v1/deltas/merge -- validator-facing merge operation (write/mutation operation). The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the accepted credential types. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/deltas/merge' \\\n  -H 'X-API-Key: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/deltas/merge\", headers={\"X-API-Key\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/deltas/merge\", {\n  headers: { \"X-API-Key\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-deltas-merge"},{"auth":{"location":"header","name":"X-API-Key","scheme":"api-key","scopes_note":"Requires an API key in the X-API-Key header (a hotkey-signed X-Signature header is also accepted for validators). Contact the subnet operator to obtain a key."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/deltas/score","capability":"Graphite SN43 delta scoring (write, auth-gated)","description":"POST /api/v1/deltas/score -- validator-facing scoring submission (write/mutation operation). The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the accepted credential types. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/deltas/score' \\\n  -H 'X-API-Key: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/deltas/score\", headers={\"X-API-Key\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/deltas/score\", {\n  headers: { \"X-API-Key\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-deltas-score"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D","capability":"Graphite SN43 entity lookup (auth-gated)","description":"GET /api/v1/entities/{entity_id} -- single-entity lookup (path-parameterized; URL registered with the percent-encoded template per the registry URI format). Verified with a placeholder id. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-entity-by-id"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/facts","capability":"Graphite SN43 entity facts (auth-gated)","description":"GET /api/v1/entities/{entity_id}/facts -- per-entity fact listing. Verified with a placeholder id. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/facts' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/facts\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/facts\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-entity-facts"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/relationships","capability":"Graphite SN43 entity relationships (auth-gated)","description":"GET /api/v1/entities/{entity_id}/relationships -- per-entity relationship listing. Verified with a placeholder id. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/relationships' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/relationships\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/entities/%7Bentity_id%7D/relationships\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-entity-relationships"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/graph/compare","capability":"Graphite SN43 graph compare (auth-gated)","description":"GET /api/v1/graph/compare (query a, b) -- two-entity comparison. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/compare' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/compare\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/compare\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-compare"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"official","base_url":"https://api.graphite-ai.net/api/v1/graph/data","capability":"Graphite knowledge-graph data dump","description":"Public no-auth GET /api/v1/graph/data on api.graphite-ai.net returning a machine-readable dump of SN43 Graphite's knowledge-graph entities (entity_id, entity_type, name, source_url/source_date, provenance) drawn from sourced filings and documents. Documented as GET /api/v1/graph/data in the subnet's own OpenAPI schema; distinct from the already-tracked stats/health/miner-stats endpoints on the same host. Most other /api/v1/graph/* and /api/v1/miners/* routes are 401-gated despite the schema declaring no security scheme; this one is confirmed genuinely public.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-failed"],"live_status":"degraded"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"response exceeds byte limit","status":"capture-failed"},"health":{"status":"degraded","classification":"timeout","latency_ms":null,"last_ok":"2026-07-27T22:45:18.291Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/data'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/data\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/data\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-data"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/graph/exposure","capability":"Graphite SN43 graph exposure (auth-gated)","description":"GET /api/v1/graph/exposure (query entity) -- exposure analysis. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/exposure' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/exposure\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/exposure\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-exposure"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/graph/path","capability":"Graphite SN43 graph path (auth-gated)","description":"GET /api/v1/graph/path (query source, target, max_depth) -- path-finding between two entities. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/path' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/path\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/path\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-path"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/graph/query","capability":"Graphite SN43 graph query (auth-gated)","description":"GET /api/v1/graph/query (query entity_type, sector, ticker, limit, verified_only) -- filtered graph query. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/query' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/query\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/query\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-query"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/graph/stats","capability":"Graphite SN43 graph stats (auth-gated)","description":"GET /api/v1/graph/stats -- knowledge-graph statistics. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/stats' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/stats\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/stats\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-stats"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/graph/subgraph","capability":"Graphite SN43 public subgraph query","description":"GET /api/v1/graph/subgraph (query focus, hops, from_date, to_date) -- genuinely public, matching its public schema tag. Live-verified 2026-07-22 (~08:17 UTC): bare GET returns HTTP 422 JSON naming the required focus query field (live validation, not auth); with focus=test returns HTTP 404 entity-not-found. probe.enabled:false since the probe pipeline has no per-surface query-param injection for required params (the linked issue asks for probe.enabled:true for this group; a bare unparameterized probe cannot return 2xx here).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/subgraph'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/subgraph\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/subgraph\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-subgraph"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/graph/underserved","capability":"Graphite SN43 underserved graph areas (auth-gated)","description":"GET /api/v1/graph/underserved -- underserved-area listing. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/graph/underserved' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/graph/underserved\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/graph/underserved\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-graph-underserved"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/health","capability":"Graphite API health","description":"Public no-auth GET /health returning Graphite API status plus knowledge-graph entity/relationship/fact counts. Documented as GET /health in the subnet's OpenAPI spec on the same host as the existing stats subnet-api surface.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"degraded"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-health.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.graphite-ai.net/health"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-43-graphite-health.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"degraded","classification":"timeout","latency_ms":null,"last_ok":"2026-07-27T10:45:02.599Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/health'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/health\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/health\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-health"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://raw.githubusercontent.com/GraphiteAI/Graphite-Subnet/main/min_compute.yml","capability":"Graphite minimum compute requirements","description":"Public no-auth min_compute.yml committed at the root of SN43 Graphite's official GraphiteAI/Graphite-Subnet repository — the minimum and recommended hardware specification (CPU, RAM, storage, OS, and network bandwidth) for running a Graphite miner or validator. Served read-only via raw.githubusercontent from the same official repo registered as the subnet's source-repo; a standalone machine-readable reference artifact distinct from the existing Graphite past-problems dataset and API surfaces.","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":166,"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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://raw.githubusercontent.com/GraphiteAI/Graphite-Subnet/main/min_compute.yml'","python":"import requests\n\nresp = requests.get(\"https://raw.githubusercontent.com/GraphiteAI/Graphite-Subnet/main/min_compute.yml\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://raw.githubusercontent.com/GraphiteAI/Graphite-Subnet/main/min_compute.yml\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-min-compute"},{"auth":{"location":"header","name":"X-API-Key","scheme":"api-key","scopes_note":"Requires an API key in the X-API-Key header (a hotkey-signed X-Signature header is also accepted for validators). Contact the subnet operator to obtain a key."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/miners/contributions","capability":"Graphite SN43 miner contributions (auth-gated)","description":"GET /api/v1/miners/contributions -- validator-facing contribution listing. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the accepted credential types. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/miners/contributions' \\\n  -H 'X-API-Key: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/miners/contributions\", headers={\"X-API-Key\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/miners/contributions\", {\n  headers: { \"X-API-Key\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-miners-contributions"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/miners/stats","capability":"Graphite miner stats API","description":"Public no-auth GET returning per-miner contribution counts and last contribution timestamps (uid, contributions, last_contribution_at). Documented in the subnet's own OpenAPI (api.graphite-ai.net/openapi.json, path /api/v1/miners/stats, public tag); same host as existing stats and health surfaces.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"degraded"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"request timed out","status":"capture-failed"},"health":{"status":"degraded","classification":"timeout","latency_ms":null,"last_ok":"2026-07-27T10:45:02.599Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/miners/stats'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/miners/stats\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/miners/stats\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-miners-stats-api"},{"auth":{"scheme":"api-key","scopes_note":"Customer knowledge-query operation. The schema declares no security scheme, but the live API enforces a credential header; its HTTP 401 response documents the requirement and points to the subnet's public /portal page where free customer access is issued (also reachable via the public signup route registered above). Live-verified enforced 2026-07-22 (~08:17 UTC)."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/search","capability":"Graphite SN43 entity search (auth-gated)","description":"GET /api/v1/search (query q, type, sector, limit, verified_only) -- knowledge-graph search. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the required credential and pointing to the public portal page for free customer access. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/search' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/search\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/search\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-search"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/signup","capability":"Graphite SN43 customer signup (POST, public)","description":"POST /api/v1/signup -- how a customer obtains free API access, per the subnet's own OpenAPI schema. Live-verified 2026-07-22 (~08:17 UTC): an unauthenticated POST with an empty JSON body reaches the handler and returns HTTP 400 JSON asking for a valid email (live input validation, no auth gate). probe.enabled:false: the registry probe pipeline only supports GET/HEAD (the linked issue asks for probe.enabled:true for this group, but the probe schema cannot represent a POST operation).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/signup'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/signup\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/signup\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-signup"},{"auth":{"location":"header","name":"X-API-Key","scheme":"api-key","scopes_note":"Requires an API key in the X-API-Key header (a hotkey-signed X-Signature header is also accepted for validators). Contact the subnet operator to obtain a key."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/tasks/contribute","capability":"Graphite SN43 contribution tasks (auth-gated)","description":"GET /api/v1/tasks/contribute (query sector) -- validator-facing task feed. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the accepted credential types. Verified with and without the sector query param (same 401). probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/tasks/contribute' \\\n  -H 'X-API-Key: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/tasks/contribute\", headers={\"X-API-Key\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/tasks/contribute\", {\n  headers: { \"X-API-Key\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-tasks-contribute"},{"auth":{"location":"header","name":"X-API-Key","scheme":"api-key","scopes_note":"Requires an API key in the X-API-Key header (a hotkey-signed X-Signature header is also accepted for validators). Contact the subnet operator to obtain a key."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://api.graphite-ai.net/api/v1/tasks/verify","capability":"Graphite SN43 verification tasks (auth-gated)","description":"GET /api/v1/tasks/verify -- validator-facing verification task feed. The schema declares no security scheme for it; live-verified 2026-07-22 (~08:17 UTC): HTTP 401 JSON naming the accepted credential types. probe.enabled:false per the linked issue's guidance for the auth-gated set.","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":"graphite-ai","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.graphite-ai.net/api/v1/tasks/verify' \\\n  -H 'X-API-Key: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://api.graphite-ai.net/api/v1/tasks/verify\", headers={\"X-API-Key\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.graphite-ai.net/api/v1/tasks/verify\", {\n  headers: { \"X-API-Key\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-43-graphite-tasks-verify"}],"slug":"sn-43","subnet_type":"application","operational_observed_at":"2026-07-27T23:00:18.289Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/agent-catalog/43.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"}}