{"openapi":"3.1.0","info":{"title":"Glimind reliability oracle","version":"1","description":"Neutral, real-time reliability for AI agent tools (MCP servers/APIs): is this tool working right now, how do I call it correctly, what do I use if it's down. Free reads need no key; a self-serve key raises limits. Full docs: https://glimind.com/docs","contact":{"email":"support@glimind.com","url":"https://glimind.com"}},"servers":[{"url":"https://glimind.com"}],"paths":{"/v1/ping":{"get":{"summary":"Liveness","operationId":"ping","responses":{"200":{"description":"ok","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}}}}}}}}},"/v1/search":{"get":{"summary":"Semantic tool discovery (free)","operationId":"searchTools","description":"Free-text capability search over the live cross-ecosystem catalog. Each result includes toolId, live status, and the advertised inputSchema so you can discover-then-invoke in one round trip.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"example":"search the web"}],"responses":{"200":{"description":"ranked results","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object"}}}}}}}}}},"/v1/route":{"get":{"summary":"Best LIVE tool for a task, ready to call (flagship)","operationId":"routeTask","description":"One call replacing discover+check+prepare+alternatives: returns the chosen tool (verdict, score, inputSchema, callHints) plus a ranked fallback chain. recommendation=no_confident_match when nothing fits well.","parameters":[{"name":"task","in":"query","required":true,"schema":{"type":"string"},"example":"send a slack message"}],"responses":{"200":{"description":"routing plan","content":{"application/json":{"schema":{"type":"object","properties":{"chosen":{"type":"object"},"fallbacks":{"type":"array","items":{"type":"object"}},"recommendation":{"type":"string"}}}}}}}}},"/v1/health/{toolId}":{"get":{"summary":"Is this tool working right now?","operationId":"getHealth","parameters":[{"name":"toolId","in":"path","required":true,"schema":{"type":"string"},"description":"Tool id, e.g. `mcp-registry/io.github.owner/server/tool_name` (slashes allowed raw or URL-encoded). Get ids from /v1/search."}],"responses":{"200":{"description":"live health","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string","enum":["healthy","degraded","down","unknown"]},"score":{"type":"number"},"uptime":{"type":"object"},"forecast":{"type":"object"}}}}}}}}},"/v1/score/{toolId}":{"get":{"summary":"Signed 0-100 reliability score + grade","operationId":"getScore","parameters":[{"name":"toolId","in":"path","required":true,"schema":{"type":"string"},"description":"Tool id, e.g. `mcp-registry/io.github.owner/server/tool_name` (slashes allowed raw or URL-encoded). Get ids from /v1/search."}],"responses":{"200":{"description":"score + Ed25519 attestation (JWKS at /.well-known/jwks.json)","content":{"application/json":{"schema":{"type":"object","properties":{"score":{"type":"number"},"grade":{"type":"string"},"verdict":{"type":"string"},"attestation":{"type":"string"}}}}}}}}},"/v1/alternatives/{toolId}":{"get":{"summary":"Live, semantically-similar alternatives (failover targets)","operationId":"getAlternatives","parameters":[{"name":"toolId","in":"path","required":true,"schema":{"type":"string"},"description":"Tool id, e.g. `mcp-registry/io.github.owner/server/tool_name` (slashes allowed raw or URL-encoded). Get ids from /v1/search."}],"responses":{"200":{"description":"alternatives","content":{"application/json":{"schema":{"type":"object","properties":{"alternatives":{"type":"array","items":{"type":"object"}}}}}}}}}},"/v1/breakages":{"get":{"summary":"Currently-open breakages across the ecosystem","operationId":"listBreakages","responses":{"200":{"description":"open breakages","content":{"application/json":{"schema":{"type":"object","properties":{"breakages":{"type":"array","items":{"type":"object"}}}}}}}}}},"/v1/reliability/feed":{"get":{"summary":"Cacheable neutral snapshot for gateways/routers (poll <=1/min)","operationId":"reliabilityFeed","responses":{"200":{"description":"feed","content":{"application/json":{"schema":{"type":"object","properties":{"openBreakages":{"type":"array","items":{"type":"object"}},"scores":{"type":"array","items":{"type":"object"}}}}}}}}}},"/v1/reliability/lookup":{"post":{"summary":"Resolve GitHub repos / package names to live reliability (for registries + directories)","operationId":"reliabilityLookup","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"repos":{"type":"array","items":{"type":"string"},"description":"GitHub repo URLs in any form (max 500)"},"packages":{"type":"array","items":{"type":"string"},"description":"npm / PyPI package names (max 500)"},"ids":{"type":"array","items":{"type":"string"},"description":"Glimind server ids (max 500)"}}}}}},"responses":{"200":{"description":"resolved ratings","content":{"application/json":{"schema":{"type":"object","properties":{"resolved":{"type":"array","items":{"type":"object"}},"unresolved":{"type":"array","items":{"type":"string"}}}}}}}}}},"/v1/report":{"get":{"summary":"State of MCP reliability (ecosystem report, CC-BY-4.0)","operationId":"getReport","responses":{"200":{"description":"report","content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}}},"/v1/keys":{"post":{"summary":"Self-serve API key (free tier, no signup)","operationId":"createKey","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"}}}}}},"responses":{"201":{"description":"key issued","content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string"}}}}}}}}},"/v1/ingest":{"post":{"summary":"Report privacy-clean call outcomes (earns credits)","operationId":"ingestOutcomes","description":"Value-free shapes only — never payloads/PII; the endpoint hard-rejects anything payload-like. See https://glimind.com/privacy","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"toolId":{"type":"string"},"success":{"type":"boolean"},"latencyMs":{"type":"number"}},"required":["toolId","success"]}}},"required":["events"]}}}},"responses":{"200":{"description":"accepted count","content":{"application/json":{"schema":{"type":"object","properties":{"accepted":{"type":"number"}}}}}}}}}}}