{"ok":true,"schema_version":1,"data":{"agent_readiness":{"blocker_level":"missing-data","blockers":[{"code":"unclear-auth","field":"auth","message":"Callable services exist, but auth requirements are not fully machine-readable.","next_action":"Declare auth_required/auth_schemes or capture auth metadata from the service schema.","severity":"missing-data"},{"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"],"status":"callable"},"categories":["baseline-augmented","baseline-curated","identity-reviewed","official-source-repo","official-website","real-estate"],"completeness_score":93,"contract_version":"2026-07-03.2","example_count":0,"examples":[],"generated_at":"2026-07-27T10:51:25.049Z","integration_readiness":93,"name":"Zipcode","netuid":46,"readiness":{"components":{"active_lifecycle":true,"auth_clarity":false,"callable_now":true,"documented":true,"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":93,"readiness_verified":true},"schema_version":1,"service_count":42,"services":[{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/billing/checkout","capability":"Zipcode POST api billing checkout","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/billing/checkout on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/billing/checkout' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/billing/checkout\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/billing/checkout\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-billing-checkout"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/billing/portal","capability":"Zipcode POST api billing portal","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/billing/portal on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/billing/portal' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/billing/portal\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/billing/portal\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-billing-portal"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/billing/summary","capability":"Zipcode GET api billing summary","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/billing/summary on zipcode.ai. Live-verified 2026-07-21: HTTP 401 {\"ok\":false,\"error\":\"Unauthorized\",\"message\":\"Valid PortalUser authentication required. Please log in.\"}. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/billing/summary' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/billing/summary\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/billing/summary\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-billing-summary"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/auth/validation-set","capability":"Zipcode GET api dashboard auth validation set","description":"GET /api/dashboard/auth/validation-set on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide) — public, no auth declared in the OpenAPI schema. Live-verified 2026-07-21. Registered per the registry's full-API-parity policy (metagraphed#7060) even though it now is.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-api-dashboard-auth-validation-set.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://zipcode.ai/api/dashboard/auth/validation-set"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-api-dashboard-auth-validation-set.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":309,"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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/auth/validation-set'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/auth/validation-set\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/auth/validation-set\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-dashboard-auth-validation-set"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/models/%7Buid%7D","capability":"Zipcode GET api dashboard models by uid","description":"GET /api/dashboard/models/{uid} on zipcode.ai — public, no auth declared in the OpenAPI schema. Live-verified 2026-07-21. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/models/%7Buid%7D'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/models/%7Buid%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/models/%7Buid%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-dashboard-models-uid"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations","capability":"Zipcode GET api dashboard models by uid validations","description":"GET /api/dashboard/models/{uid}/validations on zipcode.ai — public, no auth declared in the OpenAPI schema. Not individually curled — no `security` declared in the OpenAPI schema, same as the verified public endpoints above. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-dashboard-models-uid-validations"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations/%7Bdate%7D","capability":"Zipcode GET api dashboard models by uid validations by date","description":"GET /api/dashboard/models/{uid}/validations/{date} on zipcode.ai — public, no auth declared in the OpenAPI schema. Not individually curled — no `security` declared in the OpenAPI schema, same as the verified public endpoints above. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) — the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations/%7Bdate%7D'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations/%7Bdate%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/models/%7Buid%7D/validations/%7Bdate%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-dashboard-models-uid-validations-date"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/docs","capability":"Zipcode combined OpenAPI docs","description":"Public GET /api/docs on zipcode.ai — combined OpenAPI spec entry point from metagraphed#7060 additional scope (distinct from the openapi-kind sn-46-zipcode-openapi and sn-46-zipcode-dashboard-openapi surfaces). Live-verified 2026-07-21: HTTP 302 redirect to /openapi.json; following the redirect yields byte-identical content to sn-46-zipcode-openapi. Registered as its own callable route per JSONbored reopen — catalog everything the subnet exposes.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-api-docs.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://zipcode.ai/api/docs"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-api-docs.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"redirected","latency_ms":883,"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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/docs'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/docs\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/docs\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-docs"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/geocode","capability":"Zipcode GET api geocode","description":"GET /api/geocode on zipcode.ai — public, no auth declared in the OpenAPI schema. Live-verified 2026-07-21. Registered per the registry's full-API-parity policy (metagraphed#7060) even though it now is.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"degraded"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"http 400","status":"capture-failed"},"health":{"status":"degraded","classification":"unsupported","latency_ms":null,"last_ok":null,"last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/geocode'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/geocode\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/geocode\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-geocode"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/acs/%7BzipCode%7D","capability":"Zipcode GET api portal acs by zipCode","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/portal/acs/{zipCode} on zipcode.ai. Live-verified 2026-07-21: HTTP 401 {\"ok\":false,\"error\":\"Unauthorized\",\"message\":\"Valid PortalUser authentication required. Please log in.\"}. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/acs/%7BzipCode%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/acs/%7BzipCode%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/acs/%7BzipCode%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-46-zipcode-api-portal-acs-zipcode"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects","capability":"Zipcode GET api portal projects","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/portal/projects on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Live-verified 2026-07-21: HTTP 401 {\"ok\":false,\"error\":\"Unauthorized\",\"message\":\"Valid PortalUser authentication required. Please log in.\"}. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D","capability":"Zipcode PATCH api portal projects by projectId","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) PATCH /api/portal/projects/{projectId} on zipcode.ai (this path also supports DELETE — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%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-46-zipcode-api-portal-projects-projectid"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/reveal","capability":"Zipcode POST api portal projects by projectId api keys by keyId reveal","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/portal/projects/{projectId}/api-keys/{keyId}/reveal on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/reveal' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/reveal\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/reveal\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects-projectid-api-keys-keyid-reveal"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/revoke","capability":"Zipcode POST api portal projects by projectId api keys by keyId revoke","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/portal/projects/{projectId}/api-keys/{keyId}/revoke on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/revoke' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/revoke\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/api-keys/%7BkeyId%7D/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-46-zipcode-api-portal-projects-projectid-api-keys-keyid-revoke"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats","capability":"Zipcode GET api portal projects by projectId chats","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/portal/projects/{projectId}/chats on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects-projectid-chats"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D","capability":"Zipcode PATCH api portal projects by projectId chats by chatId","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) PATCH /api/portal/projects/{projectId}/chats/{chatId} on zipcode.ai (this path also supports DELETE — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%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-46-zipcode-api-portal-projects-projectid-chats-chatid"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets","capability":"Zipcode GET api portal projects by projectId chats by chatId assets","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/portal/projects/{projectId}/chats/{chatId}/assets on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects-projectid-chats-chatid-assets"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/%7BassetId%7D","capability":"Zipcode DELETE api portal projects by projectId chats by chatId assets by assetId","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) DELETE /api/portal/projects/{projectId}/chats/{chatId}/assets/{assetId} on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/%7BassetId%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/%7BassetId%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/%7BassetId%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-46-zipcode-api-portal-projects-projectid-chats-chatid-assets-assetid"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/bulk-upload","capability":"Zipcode POST api portal projects by projectId chats by chatId assets bulk upload","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/portal/projects/{projectId}/chats/{chatId}/assets/bulk-upload on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/bulk-upload' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/bulk-upload\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/bulk-upload\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects-projectid-chats-chatid-assets-bulk-upload"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/features","capability":"Zipcode GET api portal projects by projectId chats by chatId assets features","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/portal/projects/{projectId}/chats/{chatId}/assets/features on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/features' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/features\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/features\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects-projectid-chats-chatid-assets-features"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/from-address","capability":"Zipcode POST api portal projects by projectId chats by chatId assets from address","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/portal/projects/{projectId}/chats/{chatId}/assets/from-address on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/from-address' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/from-address\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/from-address\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects-projectid-chats-chatid-assets-from-address"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/stats","capability":"Zipcode GET api portal projects by projectId chats by chatId assets stats","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/portal/projects/{projectId}/chats/{chatId}/assets/stats on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/stats' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/stats\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/assets/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-46-zipcode-api-portal-projects-projectid-chats-chatid-assets-stats"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch","capability":"Zipcode POST api portal projects by projectId chats by chatId scrape batch","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/portal/projects/{projectId}/chats/{chatId}/scrape-batch on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-portal-projects-projectid-chats-chatid-scrape-batch"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch/%7BjobId%7D","capability":"Zipcode GET api portal projects by projectId chats by chatId scrape batch by jobId","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/portal/projects/{projectId}/chats/{chatId}/scrape-batch/{jobId} on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch/%7BjobId%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch/%7BjobId%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/portal/projects/%7BprojectId%7D/chats/%7BchatId%7D/scrape-batch/%7BjobId%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-46-zipcode-api-portal-projects-projectid-chats-chatid-scrape-batch-jobid"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset","capability":"Zipcode POST api v1 real estate asset","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/v1/real_estate/asset on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-v1-real-estate-asset"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D","capability":"Zipcode PUT api v1 real estate asset by assetId","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) PUT /api/v1/real_estate/asset/{assetId} on zipcode.ai (this path also supports DELETE — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%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-46-zipcode-api-v1-real-estate-asset-assetid"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms","capability":"Zipcode GET api v1 real estate asset by assetId bathrooms","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/v1/real_estate/asset/{assetId}/bathrooms on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-v1-real-estate-asset-assetid-bathrooms"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms/%7Bid%7D","capability":"Zipcode PUT api v1 real estate asset by assetId bathrooms by id","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) PUT /api/v1/real_estate/asset/{assetId}/bathrooms/{id} on zipcode.ai (this path also supports DELETE — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms/%7Bid%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms/%7Bid%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bathrooms/%7Bid%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-46-zipcode-api-v1-real-estate-asset-assetid-bathrooms-id"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms","capability":"Zipcode GET api v1 real estate asset by assetId bedrooms","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/v1/real_estate/asset/{assetId}/bedrooms on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-v1-real-estate-asset-assetid-bedrooms"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms/%7Bid%7D","capability":"Zipcode PUT api v1 real estate asset by assetId bedrooms by id","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) PUT /api/v1/real_estate/asset/{assetId}/bedrooms/{id} on zipcode.ai (this path also supports DELETE — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms/%7Bid%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms/%7Bid%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/bedrooms/%7Bid%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-46-zipcode-api-v1-real-estate-asset-assetid-bedrooms-id"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens","capability":"Zipcode GET api v1 real estate asset by assetId kitchens","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/v1/real_estate/asset/{assetId}/kitchens on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-v1-real-estate-asset-assetid-kitchens"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens/%7Bid%7D","capability":"Zipcode PUT api v1 real estate asset by assetId kitchens by id","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) PUT /api/v1/real_estate/asset/{assetId}/kitchens/{id} on zipcode.ai (this path also supports DELETE — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens/%7Bid%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens/%7Bid%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/kitchens/%7Bid%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-46-zipcode-api-v1-real-estate-asset-assetid-kitchens-id"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms","capability":"Zipcode GET api v1 real estate asset by assetId living rooms","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/v1/real_estate/asset/{assetId}/living-rooms on zipcode.ai (this path also supports POST — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-v1-real-estate-asset-assetid-living-rooms"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms/%7Bid%7D","capability":"Zipcode PUT api v1 real estate asset by assetId living rooms by id","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) PUT /api/v1/real_estate/asset/{assetId}/living-rooms/{id} on zipcode.ai (this path also supports DELETE — same auth boundary, not registered as a separate surface since the url would collide). Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms/%7Bid%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms/%7Bid%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/asset/%7BassetId%7D/living-rooms/%7Bid%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-46-zipcode-api-v1-real-estate-asset-assetid-living-rooms-id"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/evaluate/features","capability":"Zipcode POST api v1 real estate evaluate features","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) POST /api/v1/real_estate/evaluate/features on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/evaluate/features' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/evaluate/features\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/evaluate/features\", {\n  headers: { \"Authorization\": \"YOUR_API_KEY\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-api-v1-real-estate-evaluate-features"},{"auth":{"location":"header","name":"Authorization","scheme":"api-key","scopes_note":"Derived from the subnet's own OpenAPI securitySchemes: PortalJWT (`Authorization: JWT <token>`, or cookie `payload-token` for browser sessions) or PortalApiKey (`Authorization: Bearer <token>`, or `x-api-key`/`x-resi-key` headers) — either is accepted per-operation."},"auth_required":true,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/v1/real_estate/evaluate/results/%7Bid%7D","capability":"Zipcode GET api v1 real estate evaluate results by id","description":"Auth-gated (PortalUser session auth, Phase 3 credential passthrough, not built yet) GET /api/v1/real_estate/evaluate/results/{id} on zipcode.ai. Not individually curled at this volume — same declared `PortalJWT`/`PortalApiKey` security scheme as the verified `sn-46-zipcode-api-billing-summary` (401, same message), and the OpenAPI schema's own `security` field names the scheme explicitly. Path/method/shape from the subnet's own OpenAPI schema; registered per the registry's full-API-parity policy (metagraphed#7060) even though it isn't callable by the anonymous Phase-1 call_subnet_surface tool today.","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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/v1/real_estate/evaluate/results/%7Bid%7D' \\\n  -H 'Authorization: YOUR_API_KEY'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/v1/real_estate/evaluate/results/%7Bid%7D\", headers={\"Authorization\": \"YOUR_API_KEY\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/v1/real_estate/evaluate/results/%7Bid%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-46-zipcode-api-v1-real-estate-evaluate-results-id"},{"auth":{"location":"header","name":"Hotkey","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"official","base_url":"https://zipcode.ai/api/dashboard/docs","capability":"RESI Dashboard OpenAPI schema","description":"Machine-readable OpenAPI schema for the dashboard-scoped RESI Subnet 46 API (title: \"RESI Subnet 46 API\") -- distinct from the top-level Zip Code Portal OpenAPI document above, which covers the full portal surface including the auth-gated project/asset endpoints. Already cited as a source_url throughout this file's other surfaces prior to this pass.","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer"],"live_status":"unknown"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-dashboard-openapi.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://zipcode.ai/api/dashboard/docs"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-dashboard-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":"zipcode","schema_artifact":"/metagraph/schemas/sn-46-zipcode-dashboard-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-46-zipcode-dashboard-openapi.json","hash":"035a84059afc45647859ca4eb2d86fbe2a8d40a4e6fc1be362d9f8419baf9448","match":"surface-id","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-46-zipcode-dashboard-openapi","url":"https://zipcode.ai/api/dashboard/docs"},"schema_status":"machine-readable","schema_url":"https://zipcode.ai/api/dashboard/docs","snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/docs' \\\n  -H 'Hotkey: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/docs\", headers={\"Hotkey\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/docs\", {\n  headers: { \"Hotkey\": \"<api-key>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-dashboard-openapi"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/models","capability":"Zipcode model leaderboard data","description":"Public no-auth JSON feed of SN46 miner model leaderboard and evaluation metadata.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-data-artifact.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://zipcode.ai/api/dashboard/models"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-data-artifact.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":917,"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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/models'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/models\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/models\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-data-artifact"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/stats/emissions","capability":"Zipcode daily emissions API","description":"Public no-auth GET /api/dashboard/stats/emissions on zipcode.ai returning SN46 daily TAO emissions and block height. Documented in the subnet OpenAPI on the same host as existing dashboard surfaces.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-emissions-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://zipcode.ai/api/dashboard/stats/emissions"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-emissions-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":231,"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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/stats/emissions'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/stats/emissions\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/stats/emissions\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-emissions-api"},{"auth":{"location":"header","name":"Hotkey","scheme":"api-key","value_format":"<api-key>"},"auth_required":true,"auth_schemes":["apiKey"],"authority":"community","base_url":"https://zipcode.ai/openapi.json","capability":"Zipcode Portal OpenAPI","description":"Machine-readable OpenAPI schema for Zipcode's public portal and dashboard API routes.","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer"],"live_status":"unknown"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-openapi.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://zipcode.ai/openapi.json"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-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":"zipcode","schema_artifact":"/metagraph/schemas/sn-46-zipcode-openapi.json","schema_source":{"artifact":"/metagraph/schemas/sn-46-zipcode-openapi.json","hash":"ab99521e0f20323ab4d66547faee9aa0b5c86e293b41cc3e820a5f076d7f997e","match":"surface-id","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"sn-46-zipcode-openapi","url":"https://zipcode.ai/openapi.json"},"schema_status":"machine-readable","schema_url":"https://zipcode.ai/openapi.json","snippets":{"curl":"curl -sS 'https://zipcode.ai/openapi.json' \\\n  -H 'Hotkey: <api-key>'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/openapi.json\", headers={\"Hotkey\": \"<api-key>\"})\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/openapi.json\", {\n  headers: { \"Hotkey\": \"<api-key>\" },\n});\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-openapi"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/validation-set/real_estate/download","capability":"Zipcode real estate validation dataset","description":"Public no-auth GET returning the SN46 real-estate validation dataset (price, living_area_sqft, lot_size_sqft, bedrooms, bathrooms, lat/long, year_built, and other property features), the miner-model evaluation ground truth. Documented in the RESI Dashboard API docs (path /api/dashboard/validation-set/real_estate/download). Live-verified 2026-07-21: currently returns HTTP 404 {\"error\":\"No validation set found for 2026-07-21.\",\"code\":\"NO_VALIDATION_SET\"} -- the endpoint is still documented in the live OpenAPI schema (not moved/removed), this is a legitimate empty-state response for a date-scoped daily resource, not a config defect. url/method/auth unchanged.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer","status-degraded"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"http 404","status":"capture-failed"},"health":{"status":"ok","classification":"live","latency_ms":1203,"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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/validation-set/real_estate/download'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/validation-set/real_estate/download\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/validation-set/real_estate/download\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-real-estate-validation-set"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://zipcode.ai/api/dashboard/stats","capability":"Zipcode dashboard stats API","description":"Public no-auth dashboard endpoint for SN46 network statistics, scores, emissions, and prize pool data.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://zipcode.ai/api/dashboard/stats"},"response":{"content_type":"application/json","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-46-zipcode-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":833,"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":"zipcode","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://zipcode.ai/api/dashboard/stats'","python":"import requests\n\nresp = requests.get(\"https://zipcode.ai/api/dashboard/stats\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://zipcode.ai/api/dashboard/stats\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-46-zipcode-subnet-api"}],"slug":"sn-46","subnet_type":"application","operational_observed_at":"2026-07-27T23:00:18.289Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/agent-catalog/46.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"}}