{ "openapi": "3.0.0", "info": { "description": "Catalog Inventory", "version": "1.0.0", "title": "Catalog Inventory", "contact": { "email": "support@redhat.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" } }, "security": [ { "UserSecurity": [ ] } ], "paths": { "/graphql": { "post": { "summary": "Perform a GraphQL Query", "operationId": "postGraphQL", "description": "Performs a GraphQL Query", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GraphQLRequest" } } }, "description": "GraphQL Query Request", "required": true }, "responses": { "200": { "description": "GraphQL Query Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GraphQLResponse" } } } } } } }, "/openapi.json": { "get": { "summary": "Return this API document in JSON format", "operationId": "getDocumentation", "responses": { "200": { "description": "The API document for this version of the API", "content": { "application/json": { "schema": { "type": "object" } } } } } } }, "/service_credential_types": { "get": { "tags": [ "ServiceCredentialType" ], "summary": "List ServiceCredentialTypes", "operationId": "listServiceCredentialTypes", "description": "Returns an array of ServiceCredentialType objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "ServiceCredentialTypes collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCredentialTypesCollection" } } } } } } }, "/service_credential_types/{id}": { "get": { "tags": [ "ServiceCredentialType" ], "summary": "Show an existing ServiceCredentialType", "operationId": "showServiceCredentialType", "description": "Returns a ServiceCredentialType object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceCredentialType info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCredentialType" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_credentials": { "get": { "tags": [ "ServiceCredential" ], "summary": "List ServiceCredentials", "operationId": "listServiceCredentials", "description": "Returns an array of ServiceCredential objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "ServiceCredentials collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCredentialsCollection" } } } } } } }, "/service_credentials/{id}": { "get": { "tags": [ "ServiceCredential" ], "summary": "Show an existing ServiceCredential", "operationId": "showServiceCredential", "description": "Returns a ServiceCredential object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceCredential info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceCredential" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_instances": { "get": { "tags": [ "ServiceInstance" ], "summary": "List ServiceInstances", "operationId": "listServiceInstances", "description": "Returns an array of ServiceInstance objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "ServiceInstances collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceInstancesCollection" } } } } } } }, "/service_instances/{id}": { "get": { "tags": [ "ServiceInstance" ], "summary": "Show an existing ServiceInstance", "operationId": "showServiceInstance", "description": "Returns a ServiceInstance object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceInstance info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceInstance" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_inventories": { "get": { "tags": [ "ServiceInventory" ], "summary": "List ServiceInventories", "operationId": "listServiceInventories", "description": "Returns an array of ServiceInventory objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "ServiceInventories collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceInventoriesCollection" } } } } } } }, "/service_inventories/{id}": { "get": { "tags": [ "ServiceInventory" ], "summary": "Show an existing ServiceInventory", "operationId": "showServiceInventory", "description": "Returns a ServiceInventory object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceInventory info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceInventory" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_inventories/{id}/tag": { "post": { "tags": [ "ServiceInventory" ], "summary": "Tag a ServiceInventory", "operationId": "tagServiceInventory", "description": "Tags a ServiceInventory object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Tag" } } } }, "description": "Tag attributes to add", "required": true }, "responses": { "201": { "description": "ServiceInventory tagged successful", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Tag" } } } } }, "304": { "description": "Not modified" } } } }, "/service_inventories/{id}/tags": { "get": { "tags": [ "ServiceInventory" ], "summary": "List Tags for ServiceInventory", "operationId": "listServiceInventoryTags", "description": "Returns an array of Tag objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "Tags collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagsCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_inventories/{id}/untag": { "post": { "tags": [ "ServiceInventory" ], "summary": "Untag a ServiceInventory", "operationId": "untagServiceInventory", "description": "Untags a ServiceInventory object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "requestBody": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Tag" } } } }, "description": "Tag attributes to removed", "required": true }, "responses": { "204": { "description": "ServiceInventory untagged successfully" } } } }, "/service_offering_nodes": { "get": { "tags": [ "ServiceOfferingNode" ], "summary": "List ServiceOfferingNodes", "operationId": "listServiceOfferingNodes", "description": "Returns an array of ServiceOfferingNode objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "ServiceOfferingNodes collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOfferingNodesCollection" } } } } } } }, "/service_offering_nodes/{id}": { "get": { "tags": [ "ServiceOfferingNode" ], "summary": "Show an existing ServiceOfferingNode", "operationId": "showServiceOfferingNode", "description": "Returns a ServiceOfferingNode object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceOfferingNode info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOfferingNode" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_offerings": { "get": { "tags": [ "ServiceOffering" ], "summary": "List ServiceOfferings", "operationId": "listServiceOfferings", "description": "Returns an array of ServiceOffering objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "ServiceOfferings collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOfferingsCollection" } } } } } } }, "/service_offerings/{id}": { "get": { "tags": [ "ServiceOffering" ], "summary": "Show an existing ServiceOffering", "operationId": "showServiceOffering", "description": "Returns a ServiceOffering object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceOffering info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOffering" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_offerings/{id}/applied_inventories_tags": { "post": { "tags": [ "ServiceOffering" ], "summary": "Invokes computing of ServiceInventories tags for given ServiceOffering", "operationId": "appliedInventoriesTagsForServiceOffering", "description": "Returns an array of inventories tags", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AppliedInventoriesParametersServicePlan" } } }, "description": "Parameters defining input data for computing inventories", "required": true }, "responses": { "200": { "description": "Returns an array of inventories tags for the computing result", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Tag" } } } } }, "400": { "description": "BadRequest" } } } }, "/service_offerings/{id}/order": { "post": { "tags": [ "ServiceOffering" ], "summary": "Order an existing ServiceOffering", "operationId": "orderServiceOffering", "description": "Returns a Task id", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderParametersServiceOffering" } } }, "description": "Order parameters defining the service and provider control", "required": true }, "responses": { "200": { "description": "Returns a task ID for the order", "content": { "application/json": { "schema": { "type": "object", "properties": { "task_id": { "type": "string" } } } } } }, "400": { "description": "BadRequest" } } } }, "/service_offerings/{id}/service_instances": { "get": { "tags": [ "ServiceOffering" ], "summary": "List ServiceInstances for ServiceOffering", "operationId": "listServiceOfferingServiceInstances", "description": "Returns an array of ServiceInstance objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceInstances collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceInstancesCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_offerings/{id}/service_offering_nodes": { "get": { "tags": [ "ServiceOffering" ], "summary": "List ServiceOfferingNodes for ServiceOffering", "operationId": "listServiceOfferingServiceOfferingNodes", "description": "Returns an array of ServiceOfferingNode objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceOfferingNodes collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOfferingNodesCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_offerings/{id}/service_plans": { "get": { "tags": [ "ServiceOffering" ], "summary": "List ServicePlans for ServiceOffering", "operationId": "listServiceOfferingServicePlans", "description": "Returns an array of ServicePlan objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServicePlans collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePlansCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/service_plans": { "get": { "tags": [ "ServicePlan" ], "summary": "List ServicePlans", "operationId": "listServicePlans", "description": "Returns an array of ServicePlan objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "ServicePlans collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePlansCollection" } } } } } } }, "/service_plans/{id}": { "get": { "tags": [ "ServicePlan" ], "summary": "Show an existing ServicePlan", "operationId": "showServicePlan", "description": "Returns a ServicePlan object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServicePlan info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePlan" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/sources": { "get": { "tags": [ "Source" ], "summary": "List Sources", "operationId": "listSources", "description": "Returns an array of Source objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "Sources collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SourcesCollection" } } } } } } }, "/sources/{id}": { "get": { "tags": [ "Source" ], "summary": "Show an existing Source", "operationId": "showSource", "description": "Returns a Source object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "Source info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Source" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/sources/{id}/refresh": { "patch": { "tags": [ "Source" ], "summary": " Refresh an existing Source", "operationId": "refreshSource", "description": "Refresh a source object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "204": { "description": "Updated, no content" }, "400": { "description": "Bad request" }, "404": { "description": "Not found" }, "429": { "description": "Too many requests" } } } }, "/sources/{id}/incremental_refresh": { "patch": { "tags": [ "Source" ], "summary": "Incremental Refresh an existing Source", "operationId": "incrementalRefreshSource", "description": "Incremental Refresh a source object", "parameters": [ { "$ref": "#/components/parameters/ID" } ], "responses": { "204": { "description": "Updated, no content" }, "400": { "description": "Bad request" }, "404": { "description": "Not found" }, "429": { "description": "Too many requests" } } } }, "/sources/{id}/service_instances": { "get": { "tags": [ "Source" ], "summary": "List ServiceInstances for Source", "operationId": "listSourceServiceInstances", "description": "Returns an array of ServiceInstance objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceInstances collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceInstancesCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/sources/{id}/service_inventories": { "get": { "tags": [ "Source" ], "summary": "List ServiceInventories for Source", "operationId": "listSourceServiceInventories", "description": "Returns an array of ServiceInventory objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceInventories collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceInventoriesCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/sources/{id}/service_offering_nodes": { "get": { "tags": [ "Source" ], "summary": "List ServiceOfferingNodes for Source", "operationId": "listSourceServiceOfferingNodes", "description": "Returns an array of ServiceOfferingNode objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceOfferingNodes collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOfferingNodesCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/sources/{id}/service_offerings": { "get": { "tags": [ "Source" ], "summary": "List ServiceOfferings for Source", "operationId": "listSourceServiceOfferings", "description": "Returns an array of ServiceOffering objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServiceOfferings collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceOfferingsCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/sources/{id}/service_plans": { "get": { "tags": [ "Source" ], "summary": "List ServicePlans for Source", "operationId": "listSourceServicePlans", "description": "Returns an array of ServicePlan objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "ServicePlans collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicePlansCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/sources/{id}/tasks": { "get": { "tags": [ "Source" ], "summary": "List Tasks for Source", "operationId": "listSourceTasks", "description": "Returns an array of Task objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" }, { "$ref": "#/components/parameters/ID" } ], "responses": { "200": { "description": "Tasks collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TasksCollection" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } }, "/tags": { "get": { "tags": [ "Tags" ], "summary": "List Tags", "operationId": "listTags", "description": "Returns an array of Tag objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "Tags collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TagsCollection" } } } } } } }, "/tasks": { "get": { "tags": [ "Task" ], "summary": "List Tasks", "operationId": "listTasks", "description": "Returns an array of Task objects", "parameters": [ { "$ref": "#/components/parameters/QueryLimit" }, { "$ref": "#/components/parameters/QueryOffset" }, { "$ref": "#/components/parameters/QueryFilter" }, { "$ref": "#/components/parameters/QuerySortBy" } ], "responses": { "200": { "description": "Tasks collection", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TasksCollection" } } } } } } }, "/tasks/{id}": { "get": { "tags": [ "Task" ], "summary": "Show an existing Task", "operationId": "showTask", "description": "Returns a Task object", "parameters": [ { "$ref": "#/components/parameters/UUID" } ], "responses": { "200": { "description": "Task info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Task" } } } }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } }, "patch": { "tags": [ "Task" ], "summary": "Update an existing Task", "operationId": "updateTask", "description": "Updates a Task object", "parameters": [ { "$ref": "#/components/parameters/UUID" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Task" } } }, "description": "Task attributes to update", "required": true }, "responses": { "204": { "description": "Updated, no content" }, "400": { "description": "Bad request" }, "404": { "description": "Not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorNotFound" } } } } } } } }, "servers": [ { "url": "https://cloud.redhat.com/{basePath}", "description": "Production Server", "variables": { "basePath": { "default": "/api/catalog-inventory/v1.0" } } }, { "url": "http://localhost:{port}/{basePath}", "description": "Development Server", "variables": { "port": { "default": "3000" }, "basePath": { "default": "/api/catalog-inventory/v1.0" } } } ], "components": { "parameters": { "ID": { "name": "id", "in": "path", "description": "ID of the resource", "required": true, "schema": { "type": "string", "pattern": "^\\d+$" } }, "UUID": { "name": "id", "in": "path", "description": "UUID of task", "required": true, "schema": { "type": "string", "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" } }, "QueryFilter": { "in": "query", "name": "filter", "description": "Filter for querying collections.", "required": false, "style": "deepObject", "explode": true, "schema": { "type": "object" } }, "QueryLimit": { "in": "query", "name": "limit", "description": "The numbers of items to return per page.", "required": false, "schema": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 100 } }, "QueryOffset": { "in": "query", "name": "offset", "description": "The number of items to skip before starting to collect the result set.", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0 } }, "QuerySortBy": { "in": "query", "name": "sort_by", "description": "The list of attribute and order to sort the result set by.", "required": false, "style": "deepObject", "explode": true, "schema": { "type": "object" } } }, "securitySchemes": { "UserSecurity": { "type": "http", "scheme": "basic" } }, "schemas": { "AppliedInventoriesParametersServicePlan": { "type": "object", "additionalProperties": false, "properties": { "service_parameters": { "type": "object", "description": "The provider specific parameters needed to compute list of used service inventories" } } }, "CollectionLinks": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "next": { "type": "string" }, "prev": { "type": "string" } } }, "CollectionMetadata": { "type": "object", "properties": { "count": { "type": "integer" }, "limit": { "type": "integer" }, "offset": { "type": "integer" } } }, "ErrorNotFound": { "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "status": { "type": "string", "example": "404" }, "detail": { "type": "string", "example": "Record not found" } } } } } }, "GraphQLRequest": { "type": "object", "properties": { "query": { "type": "string", "description": "The GraphQL query", "default": "{}" }, "operationName": { "type": "string", "description": "If the Query contains several named operations, the operationName controls which one should be executed", "default": "" }, "variables": { "type": "object", "description": "Optional Query variables", "nullable": true } }, "required": [ "query" ] }, "GraphQLResponse": { "type": "object", "properties": { "data": { "type": "object", "description": "Results from the GraphQL query" }, "errors": { "type": "array", "description": "Errors resulting from the GraphQL query", "items": { "type": "object" } } } }, "ID": { "type": "string", "description": "ID of the resource", "pattern": "^\\d+$", "readOnly": true }, "UUID": { "type": "string", "description": "UUID of task", "format": "uuid", "readOnly": true }, "OrderParametersServiceOffering": { "type": "object", "additionalProperties": false, "properties": { "service_parameters": { "type": "object", "description": "JSON object with provisioning parameters" }, "provider_control_parameters": { "type": "object", "description": "The provider specific parameters needed to provision this service. This might include namespaces, special keys" }, "service_plan_id": { "$ref": "#/components/schemas/ID" } } }, "OrderParametersServicePlan": { "type": "object", "additionalProperties": false, "properties": { "service_parameters": { "type": "object", "description": "JSON object with provisioning parameters" }, "provider_control_parameters": { "type": "object", "description": "The provider specific parameters needed to provision this service. This might include namespaces, special keys" } } }, "ServiceCredential": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "description": { "readOnly": true, "type": "string" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "name": { "readOnly": true, "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "service_credential_type_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "readOnly": true, "type": "string" }, "source_updated_at": { "format": "date-time", "readOnly": true, "type": "string" }, "type_name": { "readOnly": true, "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceCredentialType": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "description": { "readOnly": true, "type": "string" }, "id": { "$ref": "#/components/schemas/ID" }, "kind": { "readOnly": true, "type": "string" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "name": { "readOnly": true, "type": "string" }, "namespace": { "readOnly": true, "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_deleted_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "readOnly": true, "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceCredentialTypesCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceCredentialType" } } } }, "ServiceCredentialsCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceCredential" } } } }, "ServiceInstance": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "external_url": { "readOnly": true, "type": "string" }, "extra": { "description": "Extra information about this object in JSON format", "readOnly": true, "type": "object" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "name": { "example": "Sample ServiceInstance", "readOnly": true, "title": "Name", "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "root_service_instance_id": { "$ref": "#/components/schemas/ID" }, "service_inventory_id": { "$ref": "#/components/schemas/ID" }, "service_offering_id": { "$ref": "#/components/schemas/ID" }, "service_plan_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_deleted_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "format": "uuid", "readOnly": true, "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceInstanceNode": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "extra": { "type": "object" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "name": { "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "root_service_instance_id": { "$ref": "#/components/schemas/ID" }, "service_instance_id": { "$ref": "#/components/schemas/ID" }, "service_inventory_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "type": "string" }, "source_updated_at": { "format": "date-time", "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceInstanceNodesCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceInstanceNode" } } } }, "ServiceInstancesCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceInstance" } } } }, "ServiceInventoriesCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceInventory" } } } }, "ServiceInventory": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "description": { "readOnly": true, "type": "string" }, "extra": { "readOnly": true, "type": "object" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "name": { "readOnly": true, "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "readOnly": true, "type": "string" }, "source_updated_at": { "format": "date-time", "readOnly": true, "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceOffering": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "description": { "example": "This is a short description", "readOnly": true, "title": "Description", "type": "string" }, "display_name": { "example": "MariaDB (Ephemeral)", "readOnly": true, "title": "Display Name", "type": "string" }, "distributor": { "example": "Red Hat, Inc.", "readOnly": true, "title": "Distributor", "type": "string" }, "documentation_url": { "example": "https://github.com/sclorg/mariadb-container/blob/master/10.2/root/usr/share/container-scripts/mysql/README.md", "readOnly": true, "title": "Documentation URL", "type": "string" }, "extra": { "description": "Extra information about this object in JSON format", "readOnly": true, "type": "object" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "long_description": { "example": "This template provides a standalone MariaDB server with a database created...", "readOnly": true, "title": "Long Description", "type": "string" }, "name": { "example": "Sample Service Offering", "readOnly": true, "title": "Name", "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "service_inventory_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_deleted_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "description": "The native reference used by the Source to refer to this object", "example": "object-12345_67890", "readOnly": true, "title": "Source reference", "type": "string" }, "support_url": { "example": "https://access.redhat.com", "readOnly": true, "title": "Support URL", "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceOfferingIcon": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "data": { "description": "Raw icon data", "readOnly": true, "title": "Icon Data", "type": "string" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "example": "icon-mariadb", "readOnly": true, "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceOfferingIconsCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceOfferingIcon" } } } }, "ServiceOfferingNode": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "extra": { "type": "object" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "name": { "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "root_service_offering_id": { "$ref": "#/components/schemas/ID" }, "service_inventory_id": { "$ref": "#/components/schemas/ID" }, "service_offering_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "type": "string" }, "source_updated_at": { "format": "date-time", "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServiceOfferingNodesCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceOfferingNode" } } } }, "ServiceOfferingsCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceOffering" } } } }, "ServicePlan": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "create_json_schema": { "readOnly": true, "type": "object" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "description": { "example": "This is a sample description for a provider", "readOnly": true, "title": "Description", "type": "string" }, "extra": { "description": "Extra information about this object in JSON format", "readOnly": true, "type": "object" }, "id": { "$ref": "#/components/schemas/ID" }, "last_seen_at": { "format": "date-time", "readOnly": true, "type": "string" }, "name": { "example": "Sample Provider", "readOnly": true, "title": "Name", "type": "string" }, "refresh_state_part_id": { "$ref": "#/components/schemas/ID" }, "resource_version": { "readOnly": true, "type": "string" }, "service_offering_id": { "$ref": "#/components/schemas/ID" }, "source_created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_deleted_at": { "format": "date-time", "readOnly": true, "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "source_ref": { "format": "uuid", "readOnly": true, "type": "string" }, "update_json_schema": { "readOnly": true, "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "ServicePlansCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ServicePlan" } } } }, "Source": { "type": "object", "properties": { "archived_at": { "title": "Archived", "format": "date-time", "readOnly": true, "type": "string" }, "created_at": { "title": "Created", "format": "date-time", "readOnly": true, "type": "string" }, "id": { "$ref": "#/components/schemas/ID" }, "info": { "example": "The version of Tower being used", "title": "Info", "readOnly": true, "type": "object" }, "name": { "example": "The Source Name", "title": "Name", "readOnly": true, "type": "string" }, "cloud_connector_id": { "example": "The GUID of the RedHat connect client being used", "title": "RedHat Connect Client Id", "readOnly": true, "type": "string" }, "enabled": { "type": "boolean", "title": "Enabled", "default": false, "readOnly": true }, "refresh_state": { "title": "Refresh state", "type": "string" }, "refresh_started_at": { "title": "Refresh started", "format": "date-time", "readOnly": true, "type": "string" }, "refresh_finished_at": { "title": "Refresh finished", "format": "date-time", "readOnly": true, "type": "string" }, "last_refresh_message": { "title": "Last refresh message", "readOnly": true, "type": "string" }, "refresh_task_id": { "title": "Refresh task", "format": "uuid", "readOnly": true, "type": "string" }, "availability_status": { "example": "The availability status of source", "title": "Availability Status", "type": "string" }, "availability_message": { "title": "Availability Message", "readOnly": true, "type": "string" }, "last_successful_refresh_at": { "title": "Last successful refresh", "format": "date-time", "readOnly": true, "type": "string" }, "last_checked_at": { "title": "Last checked", "format": "date-time", "readOnly": true, "type": "string" }, "last_available_at": { "title": "Last available", "format": "date-time", "readOnly": true, "type": "string" }, "previous_sha": { "readOnly": true, "title": "SHA of previous uploaded files", "type": "string" }, "previous_size": { "readOnly": true, "title": "Size of previous uploaded files", "type": "integer" }, "uid": { "readOnly": true, "title": "Unique ID of the inventory source installation", "type": "string" }, "updated_at": { "title": "Updated", "format": "date-time", "readOnly": true, "type": "string" } }, "additionalProperties": false }, "SourcesCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Source" } } } }, "Tag": { "type": "object", "properties": { "tag": { "example": "/namespace/architecture=x86_64", "type": "string" } }, "additionalProperties": false }, "TagsCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Tag" } } } }, "Task": { "type": "object", "properties": { "archived_at": { "format": "date-time", "readOnly": true, "type": "string" }, "completed_at": { "format": "date-time", "type": "string" }, "input": { "example": "Task payload input content", "title": "Content", "readOnly": true, "type": "object" }, "output": { "example": "Result of Task Execution", "title": "Result", "type": "object" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "id": { "$ref": "#/components/schemas/UUID" }, "name": { "example": "Order Service Plan", "title": "Name", "type": "string" }, "source_id": { "$ref": "#/components/schemas/ID" }, "state": { "example": "running", "enum": [ "pending", "queued", "running", "timedout", "completed" ], "title": "State", "type": "string" }, "status": { "example": "error", "enum": [ "ok", "warn", "unchanged", "error" ], "title": "Status", "type": "string" }, "type": { "example": "CloudConnectorTask", "title": "Type", "type": "string" }, "message": { "example": "received message starting inventory collection", "title": "Message", "type": "string" }, "controller_message_id": { "format": "uuid", "readOnly": true, "type": "string" }, "child_task_id": { "format": "uuid", "readOnly": true, "type": "string" }, "target_source_ref": { "type": "string" }, "target_type": { "type": "string" }, "updated_at": { "format": "date-time", "readOnly": true, "type": "string" }, "owner": { "type": "string", "title": "Owner", "readOnly": true, "example": "jdoe" } }, "additionalProperties": false }, "IncrementalRefreshUploadTask": { "$ref": "#/components/schemas/Task" }, "FullRefreshUploadTask": { "$ref": "#/components/schemas/Task" }, "CheckAvailabilityTask": { "$ref": "#/components/schemas/Task" }, "LaunchJobTask": { "$ref": "#/components/schemas/Task" }, "TowingTask": { "$ref": "#/components/schemas/Task" }, "FullRefreshPersisterTask": { "$ref": "#/components/schemas/Task" }, "TasksCollection": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/CollectionMetadata" }, "links": { "$ref": "#/components/schemas/CollectionLinks" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Task" } } } }, "Tenant": { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/ID" }, "name": { "type": "string", "readOnly": true, "example": "Sample Tenant" }, "description": { "type": "string", "readOnly": true, "example": "Description of the Tenant" }, "external_tenant": { "type": "string", "readOnly": true, "example": "External tenant identifier" } } } } } }