{"openapi":"3.1.0","info":{"title":"GeraNexus Agentic Commerce Protocol","version":"0.1.0","description":"Open protocol enabling AI agents to discover, negotiate, book, pay for, and complete real-world service transactions across all Gera verticals and any third-party service that publishes a /.well-known/gera-nexus.json descriptor.","contact":{"name":"Gera Systems","url":"https://gera.services","email":"developer@gera.services"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"}},"servers":[{"url":"https://api.geranexus.com","description":"Production"}],"paths":{"/protocol/{version}":{"get":{"summary":"Get protocol spec","description":"Returns the full GeraNexus protocol spec for the requested version. Currently only v1 is supported.","operationId":"getProtocolSpec","parameters":[{"name":"version","in":"path","required":true,"schema":{"type":"string","example":"v1"},"description":"Protocol version identifier"}],"responses":{"200":{"description":"Protocol spec object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProtocolSpec"}}}},"404":{"description":"Unknown protocol version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"schemas":{"ProtocolSpec":{"type":"object","required":["protocol","version","specVersion","description","capabilities","messageTypes","transactionLifecycle","errorCodes","settlementLayer","discoveryDescriptor","humanInLoop","openApiUrl"],"properties":{"protocol":{"type":"string","example":"gera-nexus"},"version":{"type":"string","example":"v1"},"specVersion":{"type":"string","example":"0.1.0"},"description":{"type":"string"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/Capability"}},"messageTypes":{"type":"array","items":{"$ref":"#/components/schemas/MessageType"}},"transactionLifecycle":{"type":"array","items":{"$ref":"#/components/schemas/LifecycleStep"}},"errorCodes":{"type":"array","items":{"$ref":"#/components/schemas/ErrorCode"}},"settlementLayer":{"type":"string"},"discoveryDescriptor":{"type":"string"},"humanInLoop":{"type":"string"},"openApiUrl":{"type":"string","example":"/protocol/openapi.json"}}},"Capability":{"type":"object","required":["id","description"],"properties":{"id":{"type":"string","example":"book"},"description":{"type":"string"}}},"MessageType":{"type":"object","required":["name","direction","description"],"properties":{"name":{"type":"string","example":"ActionRequest"},"direction":{"type":"string","enum":["agent→service","service→agent","bidirectional"]},"description":{"type":"string"}}},"LifecycleStep":{"type":"object","required":["step","state","description"],"properties":{"step":{"type":"integer","minimum":1},"state":{"type":"string","example":"booked"},"description":{"type":"string"}}},"ErrorCode":{"type":"object","required":["code","httpStatus","description"],"properties":{"code":{"type":"string","example":"NEXUS_001"},"httpStatus":{"type":"integer","minimum":400,"maximum":599},"description":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer"},"message":{"type":"string"},"error":{"type":"string"}}}}}}