{ "openapi" : "3.0.3", "info" : { "title" : "registry-api", "version" : "0.0.1", "description" : "Registry service used for service discovery and deployment monitoring." }, "paths" : { "/" : { "get" : { "description" : "Get all services.", "parameters" : [ { "name" : "offset", "in" : "query", "required" : true, "schema" : { "type" : "integer", "format" : "int32" } }, { "name" : "limit", "in" : "query", "required" : true, "schema" : { "type" : "integer", "format" : "int32" } }, { "name" : "sort_by", "in" : "query", "required" : true, "schema" : { "type" : "string" } }, { "name" : "direction", "in" : "query", "required" : true, "schema" : { "$ref" : "#/components/schemas/DeNccloudCommonV0EnumsSortDirection" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/DeNccloudRegistryApiV0ModelsService" } } } } } } } }, "//{name}" : { "get" : { "parameters" : [ { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/DeNccloudRegistryApiV0ModelsService" } } } }, "404" : { "description" : "Not found" } } } }, "//{name}/uri" : { "get" : { "description" : "Get the URI of given service.", "parameters" : [ { "name" : "name", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Successful response", "content" : { "application/json" : { "schema" : { "type" : "string" } } } }, "404" : { "description" : "Not found" } } } } }, "components" : { "schemas" : { "DeNccloudRegistryApiV0ModelsServiceUpsertedEvent" : { "description" : "A service has been newly deployed or updated.", "type" : "object", "required" : [ "service", "timestamp" ], "properties" : { "service" : { "$ref" : "#/components/schemas/DeNccloudRegistryApiV0ModelsService" }, "timestamp" : { "type" : "string", "format" : "date-time" } } }, "DeNccloudRegistryApiV0ModelsService" : { "description" : "A single available service.", "type" : "object", "required" : [ "name", "version", "state", "type", "uri" ], "properties" : { "name" : { "type" : "string" }, "version" : { "type" : "string" }, "state" : { "$ref" : "#/components/schemas/DeNccloudRegistryApiV0EnumsServiceState" }, "type" : { "$ref" : "#/components/schemas/DeNccloudRegistryApiV0EnumsServiceType" }, "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" } } }, "DeNccloudRegistryApiV0ModelsServiceDeletedEvent" : { "description" : "A service has been undeployed is not reachable anymore.", "type" : "object", "required" : [ "name", "timestamp" ], "properties" : { "name" : { "description" : "Name of the service that has been undeployed.", "type" : "string" }, "timestamp" : { "type" : "string", "format" : "date-time" } } }, "DeNccloudRegistryApiV0EnumsServiceState" : { "description" : "The current state of a single service.", "type" : "string", "enum" : [ "unavailable", "available", "error" ] }, "DeNccloudRegistryApiV0EnumsServiceType" : { "description" : "Indicates where a service is reachable.", "type" : "string", "enum" : [ "public", "internal" ] }, "DeNccloudCommonV0EnumsSortDirection" : { "description" : "The direction in which to sort by a property.", "type" : "string", "enum" : [ "asc", "desc" ] }, "DeNccloudRegistryApiV0UnionsServiceEvent" : { "oneOf" : [ { "$ref" : "#/components/schemas/DeNccloudRegistryApiV0ModelsServiceUpsertedEvent" }, { "$ref" : "#/components/schemas/DeNccloudRegistryApiV0ModelsServiceDeletedEvent" } ] } } } }