Catalog Inventory icon

Catalog Inventory

Catalog Inventory

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "description": "Production Server",
      "url": "https://cloud.redhat.com/{basePath}",
      "variables": {
        "basePath": {
          "default": "/api/catalog-inventory/v1.0"
        }
      }
    },
    {
      "description": "Development Server",
      "url": "http://localhost:{port}/{basePath}",
      "variables": {
        "basePath": {
          "default": "/api/catalog-inventory/v1.0"
        },
        "port": {
          "default": "3000"
        }
      }
    }
  ],
  "info": {
    "contact": {
      "email": "support@redhat.com"
    },
    "description": "Catalog Inventory",
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "title": "Catalog Inventory",
    "version": "1.0.0",
    "x-apisguru-categories": [
      "developer_tools"
    ],
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://raw.githubusercontent.com/RedHatInsights/catalog_inventory-api/master/public/doc/openapi-3-v1.0.json",
        "version": "3.0"
      }
    ],
    "x-providerName": "redhat.com",
    "x-serviceName": "catalog_inventory",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "security": [
    {
      "UserSecurity": []
    }
  ],
  "paths": {
    "/graphql": {
      "post": {
        "description": "Performs a GraphQL Query",
        "operationId": "postGraphQL",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GraphQLRequest"
              }
            }
          },
          "description": "GraphQL Query Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GraphQLResponse"
                }
              }
            },
            "description": "GraphQL Query Response"
          }
        },
        "summary": "Perform a GraphQL Query"
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "getDocumentation",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "The API document for this version of the API"
          }
        },
        "summary": "Return this API document in JSON format"
      }
    },
    "/service_credential_types": {
      "get": {
        "description": "Returns an array of ServiceCredentialType objects",
        "operationId": "listServiceCredentialTypes",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCredentialTypesCollection"
                }
              }
            },
            "description": "ServiceCredentialTypes collection"
          }
        },
        "summary": "List ServiceCredentialTypes",
        "tags": [
          "ServiceCredentialType"
        ]
      }
    },
    "/service_credential_types/{id}": {
      "get": {
        "description": "Returns a ServiceCredentialType object",
        "operationId": "showServiceCredentialType",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCredentialType"
                }
              }
            },
            "description": "ServiceCredentialType info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing ServiceCredentialType",
        "tags": [
          "ServiceCredentialType"
        ]
      }
    },
    "/service_credentials": {
      "get": {
        "description": "Returns an array of ServiceCredential objects",
        "operationId": "listServiceCredentials",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCredentialsCollection"
                }
              }
            },
            "description": "ServiceCredentials collection"
          }
        },
        "summary": "List ServiceCredentials",
        "tags": [
          "ServiceCredential"
        ]
      }
    },
    "/service_credentials/{id}": {
      "get": {
        "description": "Returns a ServiceCredential object",
        "operationId": "showServiceCredential",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceCredential"
                }
              }
            },
            "description": "ServiceCredential info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing ServiceCredential",
        "tags": [
          "ServiceCredential"
        ]
      }
    },
    "/service_instances": {
      "get": {
        "description": "Returns an array of ServiceInstance objects",
        "operationId": "listServiceInstances",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceInstancesCollection"
                }
              }
            },
            "description": "ServiceInstances collection"
          }
        },
        "summary": "List ServiceInstances",
        "tags": [
          "ServiceInstance"
        ]
      }
    },
    "/service_instances/{id}": {
      "get": {
        "description": "Returns a ServiceInstance object",
        "operationId": "showServiceInstance",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceInstance"
                }
              }
            },
            "description": "ServiceInstance info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing ServiceInstance",
        "tags": [
          "ServiceInstance"
        ]
      }
    },
    "/service_inventories": {
      "get": {
        "description": "Returns an array of ServiceInventory objects",
        "operationId": "listServiceInventories",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceInventoriesCollection"
                }
              }
            },
            "description": "ServiceInventories collection"
          }
        },
        "summary": "List ServiceInventories",
        "tags": [
          "ServiceInventory"
        ]
      }
    },
    "/service_inventories/{id}": {
      "get": {
        "description": "Returns a ServiceInventory object",
        "operationId": "showServiceInventory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceInventory"
                }
              }
            },
            "description": "ServiceInventory info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing ServiceInventory",
        "tags": [
          "ServiceInventory"
        ]
      }
    },
    "/service_inventories/{id}/tag": {
      "post": {
        "description": "Tags a ServiceInventory object",
        "operationId": "tagServiceInventory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/Tag"
                },
                "type": "array"
              }
            }
          },
          "description": "Tag attributes to add",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  },
                  "type": "array"
                }
              }
            },
            "description": "ServiceInventory tagged successful"
          },
          "304": {
            "description": "Not modified"
          }
        },
        "summary": "Tag a ServiceInventory",
        "tags": [
          "ServiceInventory"
        ]
      }
    },
    "/service_inventories/{id}/tags": {
      "get": {
        "description": "Returns an array of Tag objects",
        "operationId": "listServiceInventoryTags",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsCollection"
                }
              }
            },
            "description": "Tags collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List Tags for ServiceInventory",
        "tags": [
          "ServiceInventory"
        ]
      }
    },
    "/service_inventories/{id}/untag": {
      "post": {
        "description": "Untags a ServiceInventory object",
        "operationId": "untagServiceInventory",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/Tag"
                },
                "type": "array"
              }
            }
          },
          "description": "Tag attributes to removed",
          "required": true
        },
        "responses": {
          "204": {
            "description": "ServiceInventory untagged successfully"
          }
        },
        "summary": "Untag a ServiceInventory",
        "tags": [
          "ServiceInventory"
        ]
      }
    },
    "/service_offering_nodes": {
      "get": {
        "description": "Returns an array of ServiceOfferingNode objects",
        "operationId": "listServiceOfferingNodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOfferingNodesCollection"
                }
              }
            },
            "description": "ServiceOfferingNodes collection"
          }
        },
        "summary": "List ServiceOfferingNodes",
        "tags": [
          "ServiceOfferingNode"
        ]
      }
    },
    "/service_offering_nodes/{id}": {
      "get": {
        "description": "Returns a ServiceOfferingNode object",
        "operationId": "showServiceOfferingNode",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOfferingNode"
                }
              }
            },
            "description": "ServiceOfferingNode info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing ServiceOfferingNode",
        "tags": [
          "ServiceOfferingNode"
        ]
      }
    },
    "/service_offerings": {
      "get": {
        "description": "Returns an array of ServiceOffering objects",
        "operationId": "listServiceOfferings",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOfferingsCollection"
                }
              }
            },
            "description": "ServiceOfferings collection"
          }
        },
        "summary": "List ServiceOfferings",
        "tags": [
          "ServiceOffering"
        ]
      }
    },
    "/service_offerings/{id}": {
      "get": {
        "description": "Returns a ServiceOffering object",
        "operationId": "showServiceOffering",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOffering"
                }
              }
            },
            "description": "ServiceOffering info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing ServiceOffering",
        "tags": [
          "ServiceOffering"
        ]
      }
    },
    "/service_offerings/{id}/applied_inventories_tags": {
      "post": {
        "description": "Returns an array of inventories tags",
        "operationId": "appliedInventoriesTagsForServiceOffering",
        "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": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Tag"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Returns an array of inventories tags for the computing result"
          },
          "400": {
            "description": "BadRequest"
          }
        },
        "summary": "Invokes computing of ServiceInventories tags for given ServiceOffering",
        "tags": [
          "ServiceOffering"
        ]
      }
    },
    "/service_offerings/{id}/order": {
      "post": {
        "description": "Returns a Task id",
        "operationId": "orderServiceOffering",
        "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": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "task_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Returns a task ID for the order"
          },
          "400": {
            "description": "BadRequest"
          }
        },
        "summary": "Order an existing ServiceOffering",
        "tags": [
          "ServiceOffering"
        ]
      }
    },
    "/service_offerings/{id}/service_instances": {
      "get": {
        "description": "Returns an array of ServiceInstance objects",
        "operationId": "listServiceOfferingServiceInstances",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceInstancesCollection"
                }
              }
            },
            "description": "ServiceInstances collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServiceInstances for ServiceOffering",
        "tags": [
          "ServiceOffering"
        ]
      }
    },
    "/service_offerings/{id}/service_offering_nodes": {
      "get": {
        "description": "Returns an array of ServiceOfferingNode objects",
        "operationId": "listServiceOfferingServiceOfferingNodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOfferingNodesCollection"
                }
              }
            },
            "description": "ServiceOfferingNodes collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServiceOfferingNodes for ServiceOffering",
        "tags": [
          "ServiceOffering"
        ]
      }
    },
    "/service_offerings/{id}/service_plans": {
      "get": {
        "description": "Returns an array of ServicePlan objects",
        "operationId": "listServiceOfferingServicePlans",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServicePlansCollection"
                }
              }
            },
            "description": "ServicePlans collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServicePlans for ServiceOffering",
        "tags": [
          "ServiceOffering"
        ]
      }
    },
    "/service_plans": {
      "get": {
        "description": "Returns an array of ServicePlan objects",
        "operationId": "listServicePlans",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServicePlansCollection"
                }
              }
            },
            "description": "ServicePlans collection"
          }
        },
        "summary": "List ServicePlans",
        "tags": [
          "ServicePlan"
        ]
      }
    },
    "/service_plans/{id}": {
      "get": {
        "description": "Returns a ServicePlan object",
        "operationId": "showServicePlan",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServicePlan"
                }
              }
            },
            "description": "ServicePlan info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing ServicePlan",
        "tags": [
          "ServicePlan"
        ]
      }
    },
    "/sources": {
      "get": {
        "description": "Returns an array of Source objects",
        "operationId": "listSources",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourcesCollection"
                }
              }
            },
            "description": "Sources collection"
          }
        },
        "summary": "List Sources",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}": {
      "get": {
        "description": "Returns a Source object",
        "operationId": "showSource",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Source"
                }
              }
            },
            "description": "Source info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/incremental_refresh": {
      "patch": {
        "description": "Incremental Refresh a source object",
        "operationId": "incrementalRefreshSource",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "204": {
            "description": "Updated, no content"
          },
          "400": {
            "description": "Bad request"
          },
          "404": {
            "description": "Not found"
          },
          "429": {
            "description": "Too many requests"
          }
        },
        "summary": "Incremental Refresh an existing Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/refresh": {
      "patch": {
        "description": "Refresh a source object",
        "operationId": "refreshSource",
        "parameters": [
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "204": {
            "description": "Updated, no content"
          },
          "400": {
            "description": "Bad request"
          },
          "404": {
            "description": "Not found"
          },
          "429": {
            "description": "Too many requests"
          }
        },
        "summary": " Refresh an existing Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/service_instances": {
      "get": {
        "description": "Returns an array of ServiceInstance objects",
        "operationId": "listSourceServiceInstances",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceInstancesCollection"
                }
              }
            },
            "description": "ServiceInstances collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServiceInstances for Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/service_inventories": {
      "get": {
        "description": "Returns an array of ServiceInventory objects",
        "operationId": "listSourceServiceInventories",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceInventoriesCollection"
                }
              }
            },
            "description": "ServiceInventories collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServiceInventories for Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/service_offering_nodes": {
      "get": {
        "description": "Returns an array of ServiceOfferingNode objects",
        "operationId": "listSourceServiceOfferingNodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOfferingNodesCollection"
                }
              }
            },
            "description": "ServiceOfferingNodes collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServiceOfferingNodes for Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/service_offerings": {
      "get": {
        "description": "Returns an array of ServiceOffering objects",
        "operationId": "listSourceServiceOfferings",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOfferingsCollection"
                }
              }
            },
            "description": "ServiceOfferings collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServiceOfferings for Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/service_plans": {
      "get": {
        "description": "Returns an array of ServicePlan objects",
        "operationId": "listSourceServicePlans",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServicePlansCollection"
                }
              }
            },
            "description": "ServicePlans collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List ServicePlans for Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/sources/{id}/tasks": {
      "get": {
        "description": "Returns an array of Task objects",
        "operationId": "listSourceTasks",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          },
          {
            "$ref": "#/components/parameters/ID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TasksCollection"
                }
              }
            },
            "description": "Tasks collection"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "List Tasks for Source",
        "tags": [
          "Source"
        ]
      }
    },
    "/tags": {
      "get": {
        "description": "Returns an array of Tag objects",
        "operationId": "listTags",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsCollection"
                }
              }
            },
            "description": "Tags collection"
          }
        },
        "summary": "List Tags",
        "tags": [
          "Tags"
        ]
      }
    },
    "/tasks": {
      "get": {
        "description": "Returns an array of Task objects",
        "operationId": "listTasks",
        "parameters": [
          {
            "$ref": "#/components/parameters/QueryLimit"
          },
          {
            "$ref": "#/components/parameters/QueryOffset"
          },
          {
            "$ref": "#/components/parameters/QueryFilter"
          },
          {
            "$ref": "#/components/parameters/QuerySortBy"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TasksCollection"
                }
              }
            },
            "description": "Tasks collection"
          }
        },
        "summary": "List Tasks",
        "tags": [
          "Task"
        ]
      }
    },
    "/tasks/{id}": {
      "get": {
        "description": "Returns a Task object",
        "operationId": "showTask",
        "parameters": [
          {
            "$ref": "#/components/parameters/UUID"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            },
            "description": "Task info"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Show an existing Task",
        "tags": [
          "Task"
        ]
      },
      "patch": {
        "description": "Updates a Task object",
        "operationId": "updateTask",
        "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": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Update an existing Task",
        "tags": [
          "Task"
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "ID": {
        "description": "ID of the resource",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "pattern": "^\\d+$",
          "type": "string"
        }
      },
      "QueryFilter": {
        "description": "Filter for querying collections.",
        "explode": true,
        "in": "query",
        "name": "filter",
        "required": false,
        "schema": {
          "type": "object"
        },
        "style": "deepObject"
      },
      "QueryLimit": {
        "description": "The numbers of items to return per page.",
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        }
      },
      "QueryOffset": {
        "description": "The number of items to skip before starting to collect the result set.",
        "in": "query",
        "name": "offset",
        "required": false,
        "schema": {
          "default": 0,
          "minimum": 0,
          "type": "integer"
        }
      },
      "QuerySortBy": {
        "description": "The list of attribute and order to sort the result set by.",
        "explode": true,
        "in": "query",
        "name": "sort_by",
        "required": false,
        "schema": {
          "type": "object"
        },
        "style": "deepObject"
      },
      "UUID": {
        "description": "UUID of task",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
          "type": "string"
        }
      }
    },
    "schemas": {
      "AppliedInventoriesParametersServicePlan": {
        "additionalProperties": false,
        "properties": {
          "service_parameters": {
            "description": "The provider specific parameters needed to compute list of used service inventories",
            "type": "object"
          }
        },
        "type": "object"
      },
      "CheckAvailabilityTask": {
        "$ref": "#/components/schemas/Task"
      },
      "CollectionLinks": {
        "properties": {
          "first": {
            "type": "string"
          },
          "last": {
            "type": "string"
          },
          "next": {
            "type": "string"
          },
          "prev": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "CollectionMetadata": {
        "properties": {
          "count": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          },
          "offset": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ErrorNotFound": {
        "properties": {
          "errors": {
            "items": {
              "properties": {
                "detail": {
                  "example": "Record not found",
                  "type": "string"
                },
                "status": {
                  "example": "404",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "FullRefreshPersisterTask": {
        "$ref": "#/components/schemas/Task"
      },
      "FullRefreshUploadTask": {
        "$ref": "#/components/schemas/Task"
      },
      "GraphQLRequest": {
        "properties": {
          "operationName": {
            "default": "",
            "description": "If the Query contains several named operations, the operationName controls which one should be executed",
            "type": "string"
          },
          "query": {
            "default": "{}",
            "description": "The GraphQL query",
            "type": "string"
          },
          "variables": {
            "description": "Optional Query variables",
            "nullable": true,
            "type": "object"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "GraphQLResponse": {
        "properties": {
          "data": {
            "description": "Results from the GraphQL query",
            "type": "object"
          },
          "errors": {
            "description": "Errors resulting from the GraphQL query",
            "items": {
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ID": {
        "description": "ID of the resource",
        "pattern": "^\\d+$",
        "readOnly": true,
        "type": "string"
      },
      "IncrementalRefreshUploadTask": {
        "$ref": "#/components/schemas/Task"
      },
      "LaunchJobTask": {
        "$ref": "#/components/schemas/Task"
      },
      "OrderParametersServiceOffering": {
        "additionalProperties": false,
        "properties": {
          "provider_control_parameters": {
            "description": "The provider specific parameters needed to provision this service. This might include namespaces, special keys",
            "type": "object"
          },
          "service_parameters": {
            "description": "JSON object with provisioning parameters",
            "type": "object"
          },
          "service_plan_id": {
            "$ref": "#/components/schemas/ID"
          }
        },
        "type": "object"
      },
      "OrderParametersServicePlan": {
        "additionalProperties": false,
        "properties": {
          "provider_control_parameters": {
            "description": "The provider specific parameters needed to provision this service. This might include namespaces, special keys",
            "type": "object"
          },
          "service_parameters": {
            "description": "JSON object with provisioning parameters",
            "type": "object"
          }
        },
        "type": "object"
      },
      "ServiceCredential": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceCredentialType": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceCredentialTypesCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceCredentialType"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServiceCredentialsCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceCredential"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServiceInstance": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceInstanceNode": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceInstanceNodesCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceInstanceNode"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServiceInstancesCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceInstance"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServiceInventoriesCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceInventory"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServiceInventory": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceOffering": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceOfferingIcon": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceOfferingIconsCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceOfferingIcon"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServiceOfferingNode": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServiceOfferingNodesCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceOfferingNode"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServiceOfferingsCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServiceOffering"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "ServicePlan": {
        "additionalProperties": false,
        "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"
          }
        },
        "type": "object"
      },
      "ServicePlansCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ServicePlan"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "Source": {
        "additionalProperties": false,
        "properties": {
          "archived_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Archived",
            "type": "string"
          },
          "availability_message": {
            "readOnly": true,
            "title": "Availability Message",
            "type": "string"
          },
          "availability_status": {
            "example": "The availability status of source",
            "title": "Availability Status",
            "type": "string"
          },
          "cloud_connector_id": {
            "example": "The GUID of the RedHat connect client being used",
            "readOnly": true,
            "title": "RedHat Connect Client Id",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Created",
            "type": "string"
          },
          "enabled": {
            "default": false,
            "readOnly": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "id": {
            "$ref": "#/components/schemas/ID"
          },
          "info": {
            "example": "The version of Tower being used",
            "readOnly": true,
            "title": "Info",
            "type": "object"
          },
          "last_available_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Last available",
            "type": "string"
          },
          "last_checked_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Last checked",
            "type": "string"
          },
          "last_refresh_message": {
            "readOnly": true,
            "title": "Last refresh message",
            "type": "string"
          },
          "last_successful_refresh_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Last successful refresh",
            "type": "string"
          },
          "name": {
            "example": "The Source Name",
            "readOnly": true,
            "title": "Name",
            "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"
          },
          "refresh_finished_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Refresh finished",
            "type": "string"
          },
          "refresh_started_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Refresh started",
            "type": "string"
          },
          "refresh_state": {
            "title": "Refresh state",
            "type": "string"
          },
          "refresh_task_id": {
            "format": "uuid",
            "readOnly": true,
            "title": "Refresh task",
            "type": "string"
          },
          "uid": {
            "readOnly": true,
            "title": "Unique ID of the inventory source installation",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "title": "Updated",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SourcesCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Source"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "Tag": {
        "additionalProperties": false,
        "properties": {
          "tag": {
            "example": "/namespace/architecture=x86_64",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TagsCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "Task": {
        "additionalProperties": false,
        "properties": {
          "archived_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "child_task_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "completed_at": {
            "format": "date-time",
            "type": "string"
          },
          "controller_message_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/UUID"
          },
          "input": {
            "example": "Task payload input content",
            "readOnly": true,
            "title": "Content",
            "type": "object"
          },
          "message": {
            "example": "received message starting inventory collection",
            "title": "Message",
            "type": "string"
          },
          "name": {
            "example": "Order Service Plan",
            "title": "Name",
            "type": "string"
          },
          "output": {
            "example": "Result of Task Execution",
            "title": "Result",
            "type": "object"
          },
          "owner": {
            "example": "jdoe",
            "readOnly": true,
            "title": "Owner",
            "type": "string"
          },
          "source_id": {
            "$ref": "#/components/schemas/ID"
          },
          "state": {
            "enum": [
              "pending",
              "queued",
              "running",
              "timedout",
              "completed"
            ],
            "example": "running",
            "title": "State",
            "type": "string"
          },
          "status": {
            "enum": [
              "ok",
              "warn",
              "unchanged",
              "error"
            ],
            "example": "error",
            "title": "Status",
            "type": "string"
          },
          "target_source_ref": {
            "type": "string"
          },
          "target_type": {
            "type": "string"
          },
          "type": {
            "example": "CloudConnectorTask",
            "title": "Type",
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TasksCollection": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Task"
            },
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/CollectionLinks"
          },
          "meta": {
            "$ref": "#/components/schemas/CollectionMetadata"
          }
        },
        "type": "object"
      },
      "Tenant": {
        "properties": {
          "description": {
            "example": "Description of the Tenant",
            "readOnly": true,
            "type": "string"
          },
          "external_tenant": {
            "example": "External tenant identifier",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/ID"
          },
          "name": {
            "example": "Sample Tenant",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TowingTask": {
        "$ref": "#/components/schemas/Task"
      },
      "UUID": {
        "description": "UUID of task",
        "format": "uuid",
        "readOnly": true,
        "type": "string"
      }
    },
    "securitySchemes": {
      "UserSecurity": {
        "scheme": "basic",
        "type": "http"
      }
    }
  }
}