{"name":"registry-api","description":"Registry service used for service discovery and deployment monitoring.","info":{"license":{"name":"MIT","url":"http://opensource.org/licenses/MIT"}},"imports":[{"uri":"https://app.apibuilder.io/nccloud/common/latest/service.json"}],"headers":[],"enums":{"service_state":{"description":"The current state of a single service.","values":[{"name":"unavailable","description":"This service is currently not deployed."},{"name":"available","description":"This service is deployed and reachable."},{"name":"error","description":"This service is deployed but not reachable due to an error."}]},"service_type":{"description":"Indicates where a service is reachable.","values":[{"name":"public","description":"This service is publicly reachable."},{"name":"internal","description":"This service only reachable internally in the cluster."}]}},"interfaces":{},"models":{"service":{"description":"A single available service.","fields":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"state","type":"service_state"},{"name":"type","type":"service_type","default":"public"},{"name":"uri","type":"string","description":"URI under which this service is deployed."},{"name":"title","type":"string","required":false,"description":"A human-readable title of the service."},{"name":"description","type":"string","required":false,"description":"A human-readable description of the service."}]},"service_upserted_event":{"description":"A service has been newly deployed or updated.","fields":[{"name":"service","type":"service"},{"name":"timestamp","type":"date-time-iso8601"}]},"service_deleted_event":{"description":"A service has been undeployed is not reachable anymore.","fields":[{"name":"name","type":"string","description":"Name of the service that has been undeployed."},{"name":"timestamp","type":"date-time-iso8601"}]}},"unions":{"service_event":{"discriminator":"type","types":[{"type":"service_upserted_event"},{"type":"service_deleted_event"}]}},"resources":{"service":{"path":"/","operations":[{"method":"GET","description":"Get all services.","parameters":[{"name":"offset","type":"integer","default":0,"location":"query"},{"name":"limit","type":"integer","default":25,"location":"query"},{"name":"sort_by","type":"string","default":"name","location":"query"},{"name":"direction","type":"de.nccloud.common.v0.enums.sort_direction","default":"asc","location":"query"}],"responses":{"200":{"type":"[service]"}}},{"method":"GET","path":"/:name","responses":{"200":{"type":"service"},"404":{"type":"unit"}}},{"method":"GET","path":"/:name/uri","description":"Get the URI of given service.","responses":{"200":{"type":"string"},"404":{"type":"unit"}}}]}},"attributes":[],"annotations":{}}