{"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":"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":["docs_url","schemas"],"status":"callable"},"categories":["baseline-augmented","baseline-curated","identity-reviewed","official-source-repo","official-website","trading-strategies"],"completeness_score":78,"contract_version":"2026-07-03.2","example_count":0,"examples":[],"generated_at":"2026-07-27T10:51:25.049Z","integration_readiness":83,"name":"Astrid","netuid":127,"readiness":{"components":{"active_lifecycle":true,"auth_clarity":true,"callable_now":true,"documented":false,"has_callable_api":true,"has_candidate_api":true,"has_public_docs":false,"has_source_repo":true,"profile_complete":true},"readiness_tier":"buildable","readiness_version":2,"score":83,"readiness_verified":true},"schema_version":1,"service_count":3,"services":[{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://arena-api.astrid.global/public/competitions/190482a8-70b8-463d-b6c5-d1808bc7db9f/wallet-activity","capability":"Astrid Arena competition wallet-activity dataset","description":"Public no-auth GET returning the full wallet-activity dataset (totals plus orders/positions/trades records) for a completed SN127 Astrid Arena competition (Miners Showdown 3). The competitionId is sourced from the public completed-competitions endpoint already in this manifest, and the wallet-activity dataset path is documented in the official astridintelligence/sn-127 validator client (src/core/arena/api.ts, fetchAllTrades). Returns application/json; distinct from the completed-competitions API surface.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-127-astrid-data-artifact.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://arena-api.astrid.global/public/competitions/190482a8-70b8-463d-b6c5-d1808bc7db9f/wallet-activity"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-127-astrid-data-artifact.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":244,"last_ok":"2026-07-27T22:15:19.089Z","last_checked":"2026-07-27T22:15:19.089Z","stale":false,"observed_by":"live-cron-prober"},"kind":"data-artifact","provider":"astrid","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://arena-api.astrid.global/public/competitions/190482a8-70b8-463d-b6c5-d1808bc7db9f/wallet-activity'","python":"import requests\n\nresp = requests.get(\"https://arena-api.astrid.global/public/competitions/190482a8-70b8-463d-b6c5-d1808bc7db9f/wallet-activity\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://arena-api.astrid.global/public/competitions/190482a8-70b8-463d-b6c5-d1808bc7db9f/wallet-activity\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-127-astrid-data-artifact"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://arena-api.astrid.global/public/competitions/%7BcompetitionId%7D/executions/presence","capability":"Astrid Arena execution presence","description":"Public no-auth GET returning execution presence records (participantId plus executionTime, with total/limit/offset pagination fields) for an SN127 Astrid Arena competition, per the official validator client (src/core/arena/api.ts, fetchExecutionPresence) — a plain fetch like the sibling completed-competitions call. Requires a participantIds query parameter (comma-joined list; optional limit/offset/after for pagination) in addition to the competitionId path parameter. Live-verified 2026-07-22: without the query parameter the route returns HTTP 400 JSON naming participantIds as required (confirms live validation, not auth); with participant ids taken from the completed-competitions surface already in this manifest it returns HTTP 200 JSON presence records. probe.enabled:false since the probe pipeline has no per-surface injection for the required query parameter.","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":"astrid","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://arena-api.astrid.global/public/competitions/%7BcompetitionId%7D/executions/presence'","python":"import requests\n\nresp = requests.get(\"https://arena-api.astrid.global/public/competitions/%7BcompetitionId%7D/executions/presence\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://arena-api.astrid.global/public/competitions/%7BcompetitionId%7D/executions/presence\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-127-astrid-execution-presence"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://arena-api.astrid.global/public/arena/completed-competitions","capability":"Astrid Arena API","description":"Public no-auth REST API for SN127 Astrid's trading Arena (arena-api.astrid.global) exposing completed competitions, trades, and execution runs; GET /public/arena/completed-competitions returns JSON with no authentication. Documented in the official astridintelligence/sn-127 README. The sibling executions/presence route additionally requires a participantIds query parameter and is not promotable.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-127-astrid-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://arena-api.astrid.global/public/arena/completed-competitions"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-127-astrid-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":179,"last_ok":"2026-07-27T22:15:19.089Z","last_checked":"2026-07-27T22:15:19.089Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"astrid","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://arena-api.astrid.global/public/arena/completed-competitions'","python":"import requests\n\nresp = requests.get(\"https://arena-api.astrid.global/public/arena/completed-competitions\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://arena-api.astrid.global/public/arena/completed-competitions\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-127-astrid-subnet-api"}],"slug":"sn-127","subnet_type":"application","operational_observed_at":"2026-07-27T22:15:19.089Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/agent-catalog/127.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-27T22:15:19.089Z"}}