{
  "openapi":"3.1.0",
  "info":{"title":"HumanMirror Nexus API","version":"1.0.0","description":"Machine-to-machine tool discovery, routing and credit metering for AI agents."},
  "servers":[{"url":"https://humanmirror.fr"}],
  "components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"hm_nexus_*"}}},
  "paths":{
    "/api/nexus":{"get":{"summary":"Get Nexus metadata, catalog and optional account balance","security":[{},{"BearerAuth":[]}],"responses":{"200":{"description":"Nexus service metadata"}}}},
    "/api/nexus/search":{"get":{"summary":"Search Nexus catalog","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Matching tools"}}}},
    "/api/nexus/trial":{"post":{"summary":"Create a 100-credit Nexus trial key","responses":{"201":{"description":"Trial key created"},"409":{"description":"Trial already used"}}}},
    "/api/nexus/call":{"post":{"summary":"Route a Nexus tool call","security":[{"BearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tool_id","input"],"properties":{"tool_id":{"type":"string"},"input":{},"options":{"type":"object"}}}}}},"responses":{"200":{"description":"Routed tool result"},"401":{"description":"Invalid API key"},"402":{"description":"Insufficient credits"},"404":{"description":"Unknown tool"},"429":{"description":"Rate limited"}}}}
  }
}