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