{"swagger":"2.0","info":{"title":"registry-api","description":"Registry service used for service discovery and deployment monitoring.","license":{"name":"MIT","url":"http://opensource.org/licenses/MIT"},"version":"0.0.1"},"consumes":["application/json"],"produces":["application/json"],"paths":{"/":{"get":{"description":"Get all services.","parameters":[{"name":"offset","in":"query","required":true,"default":"0","type":"integer","format":"int32"},{"name":"limit","in":"query","required":true,"default":"25","type":"integer","format":"int32"},{"name":"sort_by","in":"query","required":true,"default":"name","type":"string"},{"name":"direction","in":"query","required":true,"default":"asc"}],"responses":{"200":{"description":"200 response","schema":{"type":"array","items":{"$ref":"#/definitions/service"}}}}}},"//{name}":{"get":{"parameters":[{"name":"name","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"200 response","schema":{"$ref":"#/definitions/service"}},"404":{"description":"404 response"}}}},"//{name}/uri":{"get":{"description":"Get the URI of given service.","parameters":[{"name":"name","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"200 response","schema":{"$ref":"#/definitions/string"}},"404":{"description":"404 response"}}}}},"definitions":{"service":{"type":"object","description":"A single available service.","title":"service","required":["name","version","state","type","uri"],"properties":{"name":{"type":"string"},"version":{"type":"string"},"state":{"type":"string","enum":["unavailable","available","error"]},"type":{"type":"string","enum":["public","internal"]},"uri":{"description":"URI under which this service is deployed.","type":"string"},"title":{"description":"A human-readable title of the service.","type":"string"},"description":{"description":"A human-readable description of the service.","type":"string"}}},"service_deleted_event":{"type":"object","description":"A service has been undeployed is not reachable anymore.","title":"service_deleted_event","required":["name","timestamp"],"properties":{"name":{"description":"Name of the service that has been undeployed.","type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"service_upserted_event":{"type":"object","description":"A service has been newly deployed or updated.","title":"service_upserted_event","required":["service","timestamp"],"properties":{"service":{"$ref":"#/definitions/service"},"timestamp":{"type":"string","format":"date-time"}}},"service_event":{"type":"object","title":"service_event","allOf":[{"$ref":"#/definitions/service_upserted_event"},{"$ref":"#/definitions/service_deleted_event"}]}}}