{
  "openapi":"3.0.0",
  "info":{
    "title":"Global Catalog API",
    "description":"The catalog service manages offerings across geographies as the system of record. The catalog supports a RESTful API where users can retrieve information about existing offerings and create, manage, and delete their offerings. Start with the base URL and use the endpoints to retrieve metadata about services in the catalog and manage service visbility. Depending on the kind of object, the metadata can include information about pricing, provisioning, regions, and more. For more information, see the [catalog documentation](https://cloud.ibm.com/docs/overview/catalog.html#global-catalog-overview).",
    "version":"1.0.3",
    "x-ibm-name":"catalog-api",
    "contact":{
      "name":"Courtney Bittner",
      "email":"cdmauney@us.ibm.com"
    },
    "x-alternate-name":"Global Catalog",
    "x-codegen-config":{
      "improvedNameFormattingV2": true,
      "go":{
        "apiPackage":"github.com/IBM/platform-services-go-sdk"
      },
      "java":{
        "apiPackage":"com.ibm.cloud.platform_services"
      },
      "python":{
        "apiPackage":"ibm_platform_services"
      }
    }
  },
  "tags":[
    {
      "name":"Object"
    },
    {
      "name":"Visibility"
    },
    {
      "name":"Pricing"
    },
    {
      "name":"Audit"
    },
    {
      "name":"Artifact"
    }
  ],
  "paths":{
    "/":{
      "get":{
        "tags":[
          "Object"
        ],
        "operationId":"list_catalog_entries",
        "summary":"Returns parent catalog entries",
        "description":"Includes key information, such as ID, name, kind, CRN, tags, and provider. This endpoint is ETag enabled.",
        "parameters":[
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"include",
            "in":"query",
            "description":"A GET call by default returns a basic set of properties. To include other properties, you must add this parameter. A wildcard (`*`) includes all properties for an object, for example `GET /?include=*`. To include specific metadata fields, separate each field with a colon (:), for example `GET /?include=metadata.ui:metadata.pricing`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"q",
            "in":"query",
            "description":"Searches the catalog entries for keywords. Add filters to refine your search. A query filter, for example, `q=kind:iaas service_name rc:true`, filters entries of kind iaas with metadata.service.rc_compatible set to true and  have a service name is in their name, display name, or description.  Valid tags are **kind**:<string>, **tag**:<strging>, **rc**:[true|false], **iam**:[true|false], **active**:[true|false], **geo**:<string>, and **price**:<string>",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"sort-by",
            "in":"query",
            "description":"The field on which the output is sorted. Sorts by default by **name** property. Available fields are **name**, **displayname** (overview_ui.display_name), **kind**, **provider** (provider.name), **sbsindex** (metadata.ui.side_by_side_index), and the time **created**, and **updated**.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"descending",
            "in":"query",
            "description":"Sets the sort order. The default is false, which is ascending.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"languages",
            "in":"query",
            "description":"Return the data strings in a specified language. By default, the strings returned are of the language preferred by your browser through the Accept-Language header, which allows an override of the header. Languages are specified in standard form, such as `en-us`. To include all languages use a wildcard (*).",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"catalog",
            "in":"query",
            "description":"Checks to see if a catalog's object is visible, or if it's filtered by service, plan, deployment, or region. Use the value `?catalog=true`. If a `200` code is returned, the object is visible. If a `403` code is returned, the object is not visible for the user.",
            "required":false,
            "schema":{
              "type":"boolean"
            }
          },
          {
            "name":"complete",
            "in":"query",
            "description":"Returns all available fields for all languages. Use the value `?complete=true` as shortcut for ?include=*&languages=*.",
            "required":false,
            "schema":{
              "type":"boolean"
            }
          },
          {
            "name":"_offset",
            "in":"query",
            "description":"Useful for pagination, specifies index (origin 0) of first item to return in response.",
            "required":false,
            "schema":{
              "type":"integer",
              "default":0
            }
          },
          {
            "name":"_limit",
            "in":"query",
            "description":"Useful for pagination, specifies the maximum number of items to return in the response.",
            "required":false,
            "schema":{
              "type":"integer",
              "default":50,
              "maximum":200
            }
          }
        ],
        "responses":{
          "200":{
            "description":"Successful search result containing a paginated list of resources that match the search criteria. Your permissions determine what you can see.",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/EntrySearchResult"
                },
                "examples":{
                  "response":{
                    "value":{
                      "page":"STRING",
                      "resources":"ARRAY",
                      "results_per_page":"STRING",
                      "total_results":"STRING"
                    }
                  }
                }
              }
            }
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1?account=string&include=string&q=string&sort-by=string&descending=string&languages=string&complete=string' \\\n",
                      "--header 'accept: application/json'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post":{
        "tags":[
          "Object"
        ],
        "operationId":"create_catalog_entry",
        "summary":"Create a catalog entry",
        "description":"The created catalog entry is restricted by default. You must have an administrator or editor role in the scope of the provided token. This API will return an ETag that can be used for standard ETag processing, except when depth query is used.",
        "parameters":[
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "requestBody":{
          "$ref":"#/components/requestBodies/CatalogEntryCreate"
        },
        "x-codegen-request-body-name":"body",
        "responses":{
          "201":{
            "description":"Successfully created a catalog entry.",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/CatalogEntry"
                }
              }
            }
          },
          "400":{
            "description":"The request was invalid. Such as invalid depth query parameter."
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"Permission Denied: You must have an Adminstrator or editor role to create a catalog entry."
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request POST \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1?account=string' \\\n",
                      "--header 'accept: application/json'\n",
                      "--data '{\"active\":true,\"catalog_crn\":\"string\",\"children\":[null],\"children_url\":\"string\",\"created\":\"string\",\"disabled\":true,\"geo_tags\":[null],\"group\":true,\"id\":\"string\",\"images\":{\"description\":\"Image annotation for this catalog entry. The image is a URL\",\"properties\":{\"feature_image\":\"string\",\"image\":\"string\",\"medium_image\":\"string\",\"small_image\":\"string\"},\"required\":[\"image\"],\"type\":\"object\"},\"kind\":\"string\",\"metadata\":{\"additionalProperties\":false,\"description\":\"Metadata is not returned by default, and includes specific data depending on the object **kind**\",\"properties\":{\"alias\":{\"properties\":{\"plan_id\":\"string\",\"type\":\"string\"},\"type\":\"object\"},\"callbacks\":{\"properties\":{\"broker_proxy_url\":\"string\",\"broker_utl\":\"string\",\"dashboard_data_url\":\"string\",\"dashboard_detail_tab_ext_url\":\"string\",\"dashboard_detail_tab_url\":\"string\",\"dashboard_url\":\"string\",\"service_monitor_api\":\"string\",\"service_monitor_app\":\"string\",\"service_production_url\":\"string\",\"service_staging_url\":\"string\"},\"type\":\"object\"},\"compliance\":[null],\"deployment\":{\"properties\":{\"broker\":{\"properties\":{\"guid\":\"string\",\"name\":\"string\",\"password\":{\"properties\":{\"iv\":\"string\",\"key\":\"string\",\"text\":\"string\"},\"type\":\"object\"}},\"type\":\"object\"},\"location\":\"string\",\"location_url\":\"string\",\"supports_rc_migration\":true,\"target_crn\":\"string\"},\"type\":\"object\"},\"origin_name\":\"string\",\"other\":{\"description\":\"Additional information\",\"type\":\"object\"},\"plan\":{\"properties\":{\"allow_internal_users\":true,\"async_provisioning_supported\":true,\"async_unprovisioning_supported\":true,\"bindable\":true,\"cf_guid\":\"string\",\"reservable\":true,\"service_check_enabled\":true,\"single_scope_instance\":\"string\",\"test_check_interval\":0},\"type\":\"object\"},\"pricing\":{\"properties\":{\"metrics\":[{\"amounts\":[{\"country\":\"string\",\"currency\":\"string\",\"prices\":[{\"Price\":0,\"quantity_tier\":0}]}],\"charge_unit_display_name\":\"string\",\"charge_unit_name\":\"string\",\"charge_unit_quantity\":\"integer\",\"metric_id\":\"string\",\"resource_display_name\":\"string\",\"tier_model\":\"string\",\"usage_cap_qty\":0}],\"origin\":\"string\",\"starting_price\":{\"properties\":{\"amount\":[{\"country\":\"string\",\"currency\":\"string\",\"prices\":[{\"Price\":0,\"quantity_tier\":0}]}],\"deployment_id\":\"string\",\"plan_id\":\"string\"},\"type\":\"object\"},\"type\":\"string\"},\"type\":\"object\"},\"rc_compatible\":true,\"service\":{\"properties\":{\"async_provisioning_supported\":true,\"async_unprovisioning_supported\":true,\"bindable\":true,\"cf_guid\":\"string\",\"iam_compatible\":true,\"plan_updateable\":true,\"provisionable\":true,\"requires\":[null],\"service_check_enabled\":true,\"service_key_supported\":true,\"state\":\"string\",\"test_check_interval\":0,\"type\":\"string\",\"unique_api_key\":true},\"type\":\"object\"},\"sla\":{\"properties\":{\"dr\":{\"properties\":{\"description\":\"string\",\"dr\":true},\"type\":\"object\"},\"provisioning\":\"string\",\"responsiveness\":\"string\",\"tenancy\":\"string\",\"terms\":\"string\"},\"type\":\"object\"},\"template\":{\"properties\":{\"buildpack\":\"string\",\"cf_runtime_id\":\"string\",\"default_memory\":0,\"environment_variables\":{\"description\":\"Environment variables for the template\",\"properties\":{\"_key_\":\"string\"},\"type\":\"object\"},\"executable_file\":\"string\",\"runtime_catalog_id\":\"string\",\"services\":[null],\"source\":{\"description\":\"Location of your applications source files\",\"properties\":{\"path\":\"string\",\"type\":\"string\",\"url\":\"string\"},\"type\":\"object\"},\"start_cmd\":\"string\",\"template_id\":\"string\"},\"type\":\"object\"},\"ui\":{\"properties\":{\"accessible_during_provision\":true,\"embeddable_dashboard\":\"string\",\"embeddable_dashboard_full_width\":true,\"end_of_service_time\":\"string\",\"navigation_order\":[null],\"not_creatable\":true,\"primary_offering_id\":\"string\",\"reservable\":true,\"side_by_side_index\":0,\"strings\":{\"description\":\"Language specific translation of translation properties, like label and description\",\"properties\":{\"_language_\":{\"properties\":{\"bullets\":[{\"description\":\"string\",\"icon\":\"string\",\"quantity\":\"string\",\"title\":\"string\"}],\"deprecation_warning\":\"string\",\"instruction\":\"string\",\"media\":[{\"URL\":\"string\",\"caption\":\"string\",\"source\":{\"properties\":{\"description\":\"string\",\"icon\":\"string\",\"quantity\":\"string\",\"title\":\"string\"},\"type\":\"object\"},\"thumbnail_url\":\"string\",\"type\":\"string\"}],\"not_creatable__robot_msg\":\"string\",\"not_creatable_msg\":\"string\",\"popup_warning_message\":\"string\"},\"type\":\"object\"}},\"type\":\"object\"},\"urls\":{\"description\":\"UI based URLs\",\"properties\":{\"api_url\":\"string\",\"catalog_details_url\":\"string\",\"create_url\":\"string\",\"custom_create_page_url\":\"string\",\"deprecation_doc_url\":\"string\",\"doc_url\":\"string\",\"instructions_url\":\"string\",\"sdk_download_url\":\"string\",\"terms_url\":\"string\"},\"type\":\"object\"}},\"type\":\"object\"},\"version\":\"string\"},\"type\":\"object\"},\"name\":\"string\",\"overview_ui\":{\"description\":\"Overview is nested in the top level. The key value pair is `[_language_]overview_ui`.\",\"properties\":{\"_language_\":{\"description\":\"Overview is nested in the top level. The key value pair is `[_language_]overview_ui`.\",\"properties\":{\"description\":\"string\",\"display_name\":\"string\",\"long_description\":\"string\"},\"required\":[\"display_name\",\"description\",\"long_description\"],\"type\":\"object\"}},\"type\":\"object\"},\"parent_id\":\"string\",\"parent_url\":\"string\",\"pricing_tags\":[null],\"provider\":{\"properties\":{\"contact\":\"string\",\"email\":\"string\",\"name\":\"string\",\"phone\":\"string\",\"support_email\":\"string\"},\"required\":[\"email\",\"name\"],\"type\":\"object\"},\"tags\":[null],\"updated\":\"string\",\"url\":\"string\"}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{id}":{
      "get":{
        "tags":[
          "Object"
        ],
        "operationId":"get_catalog_entry",
        "summary":"Get a specific catalog object",
        "description":"This endpoint returns a specific catalog entry using the object's unique identifier, for example `/*service_name*?complete=true`. This endpoint is ETag enabled. This can be used by an unauthenticated user for publicly available services.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The catalog entry's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"include",
            "in":"query",
            "description":"A GET call by default returns a basic set of properties. To include other properties, you must add this parameter. A wildcard (`*`) includes all properties for an object, for example `GET /id?include=*`. To include specific metadata fields, separate each field with a colon (:), for example `GET /id?include=metadata.ui:metadata.pricing`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"languages",
            "in":"query",
            "description":"Return the data strings in the specified language. By default the strings returned are of the language preferred by your browser through the Accept-Language header, which allows an override of the header. Languages are specified in standard form, such as `en-us`. To include all languages use a wildcard (*).",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"complete",
            "in":"query",
            "description":"Returns all available fields for all languages. Use the value `?complete=true` as shortcut for ?include=*&languages=*.",
            "required":false,
            "schema":{
              "type":"boolean"
            }
          },
          {
            "name":"depth",
            "in":"query",
            "description":"Return the children down to the requested depth. Use * to include the entire children tree. If there are more children than the maximum permitted an error will be returned. Be judicious with this as it can cause a large number of database accesses and can result in a large amount of data returned.",
            "required":false,
            "schema":{
              "type":"integer"
            }
          }
        ],
        "responses":{
          "200":{
            "description":"A catalog entry object",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/CatalogEntry"
                },
                "examples":{
                  "response":{
                    "value":{
                      "active":"BOOLEAN",
                      "catalog_crn":"STRING",
                      "children":"ARRAY",
                      "children_url":"STRING",
                      "created":"STRING",
                      "disabled":"BOOLEAN",
                      "geo_tags":"ARRAY",
                      "group":"BOOLEAN",
                      "id":"STRING",
                      "images":{
                        "feature_image":"STRING",
                        "image":"STRING",
                        "medium_image":"STRING",
                        "small_image":"STRING"
                      },
                      "kind":"STRING",
                      "metadata":{
                        "alias":{
                          "plan_id":"STRING",
                          "type":"STRING"
                        },
                        "callbacks":{
                          "broker_proxy_url":"STRING",
                          "broker_utl":"STRING",
                          "dashboard_data_url":"STRING",
                          "dashboard_detail_tab_ext_url":"STRING",
                          "dashboard_detail_tab_url":"STRING",
                          "dashboard_url":"STRING",
                          "service_monitor_api":"STRING",
                          "service_monitor_app":"STRING",
                          "service_production_url":"STRING",
                          "service_staging_url":"STRING"
                        },
                        "compliance":"ARRAY",
                        "deployment":{
                          "broker":{
                            "guid":"STRING",
                            "name":"STRING",
                            "password":{
                              "iv":"STRING",
                              "key":"STRING",
                              "text":"STRING"
                            }
                          },
                          "location":"STRING",
                          "location_url":"STRING",
                          "supports_rc_migration":"BOOLEAN",
                          "target_crn":"STRING"
                        },
                        "origin_name":"STRING",
                        "other":"OBJECT",
                        "plan":{
                          "allow_internal_users":"BOOLEAN",
                          "async_provisioning_supported":"BOOLEAN",
                          "async_unprovisioning_supported":"BOOLEAN",
                          "bindable":"BOOLEAN",
                          "cf_guid":"STRING",
                          "reservable":"BOOLEAN",
                          "service_check_enabled":"BOOLEAN",
                          "single_scope_instance":"STRING",
                          "test_check_interval":"INTEGER"
                        },
                        "pricing":{
                          "metrics":{
                            "amounts":{
                              "country":"STRING",
                              "currency":"STRING",
                              "prices":{
                                "price":"DOUBLE",
                                "quantity_tier":"INTEGER"
                              }
                            },
                            "charge_unit_display_name":"STRING",
                            "charge_unit_name":"STRING",
                            "charge_unit_quantity":"INTEGER",
                            "metric_id":"STRING",
                            "resource_display_name":"STRING",
                            "tier_model":"STRING",
                            "usage_cap_qty":"INTEGER"
                          },
                          "origin":"STRING",
                          "starting_price":{
                            "amount":{
                              "country":"STRING",
                              "currency":"STRING",
                              "prices":{
                                "price":"DOUBLE",
                                "quantity_tier":"INTEGER"
                              }
                            },
                            "deployment_id":"STRING",
                            "plan_id":"STRING"
                          },
                          "type":"STRING"
                        },
                        "rc_compatible":"BOOLEAN",
                        "service":{
                          "async_provisioning_supported":"BOOLEAN",
                          "async_unprovisioning_supported":"BOOLEAN",
                          "bindable":"BOOLEAN",
                          "cf_guid":"STRING",
                          "iam_compatible":"BOOLEAN",
                          "plan_updateable":"BOOLEAN",
                          "provisionable":"BOOLEAN",
                          "requires":"ARRAY",
                          "service_check_enabled":"BOOLEAN",
                          "service_key_supported":"BOOLEAN",
                          "state":"STRING",
                          "test_check_interval":"INTEGER",
                          "type":"STRING",
                          "unique_api_key":"BOOLEAN"
                        },
                        "sla":{
                          "dr":{
                            "description":"STRING",
                            "dr":"BOOLEAN"
                          },
                          "provisioning":"NUMBER",
                          "responsiveness":"NUMBER",
                          "tenancy":"STRING",
                          "terms":"STRING"
                        },
                        "template":{
                          "buildpack":"STRING",
                          "cf_runtime_id":"STRING",
                          "default_memory":"INTEGER",
                          "environment_variables":{
                            "_key_":"STRING"
                          },
                          "executable_file":"STRING",
                          "runtime_catalog_id":"STRING",
                          "services":"ARRAY",
                          "source":{
                            "path":"STRING",
                            "type":"STRING",
                            "url":"STRING"
                          },
                          "start_cmd":"STRING",
                          "template_id":"STRING"
                        },
                        "ui":{
                          "accessible_during_provision":"BOOLEAN",
                          "embeddable_dashboard":"STRING",
                          "embeddable_dashboard_full_width":"BOOLEAN",
                          "end_of_service_time":"STRING",
                          "navigation_order":"ARRAY",
                          "not_creatable":"BOOLEAN",
                          "primary_offering_id":"STRING",
                          "reservable":"BOOLEAN",
                          "side_by_side_index":"INTEGER",
                          "strings":{
                            "_language_":{
                              "bullets":{
                                "description":"STRING",
                                "icon":"STRING",
                                "quantity":"STRING",
                                "title":"STRING"
                              },
                              "deprecation_warning":"STRING",
                              "instruction":"STRING",
                              "media":{
                                "URL":"STRING",
                                "caption":"STRING",
                                "source":{
                                  "description":"STRING",
                                  "icon":"STRING",
                                  "quantity":"STRING",
                                  "title":"STRING"
                                },
                                "thumbnail_url":"STRING",
                                "type":"STRING"
                              },
                              "not_creatable__robot_msg":"STRING",
                              "not_creatable_msg":"STRING",
                              "popup_warning_message":"STRING"
                            }
                          },
                          "urls":{
                            "api_url":"STRING",
                            "catalog_details_url":"STRING",
                            "create_url":"STRING",
                            "custom_create_page_url":"STRING",
                            "deprecation_doc_url":"STRING",
                            "doc_url":"STRING",
                            "instructions_url":"STRING",
                            "sdk_download_url":"STRING",
                            "terms_url":"STRING"
                          }
                        },
                        "version":"STRING"
                      },
                      "name":"STRING",
                      "overview_ui":{
                        "_language_":{
                          "description":"STRING",
                          "display_name":"STRING",
                          "long_description":"STRING"
                        }
                      },
                      "parent_id":"STRING",
                      "parent_url":"STRING",
                      "pricing_tags":"ARRAY",
                      "provider":{
                        "contact":"STRING",
                        "email":"STRING",
                        "name":"STRING",
                        "phone":"STRING",
                        "support_email":"STRING"
                      },
                      "tags":"ARRAY",
                      "updated":"STRING",
                      "url":"STRING"
                    }
                  }
                }
              }
            }
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Object was not found."
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}?account=string&include=string&languages=string&complete=string&depth=0' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put":{
        "tags":[
          "Object"
        ],
        "operationId":"update_catalog_entry",
        "summary":"Update a catalog entry",
        "description":"Update a catalog entry. The visibility of the catalog entry cannot be modified with this endpoint. You must be an administrator or editor in the scope of the provided token. This endpoint is ETag enabled.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The object's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"move",
            "in":"query",
            "description":"Reparenting object. In the body set the parent_id to a different parent. Or remove the parent_id field to reparent to the root of the catalog. If this is not set to 'true' then changing the parent_id in the body of the request will not be permitted. If this is 'true' and no change to parent_id then this is also error. This is to prevent accidental changing of parent.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "requestBody":{
          "$ref":"#/components/requestBodies/CatalogEntryUpdate"
        },
        "x-codegen-request-body-name":"body",
        "responses":{
          "200":{
            "description":"Successfully updated the catalog entry.",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/CatalogEntry"
                }
              }
            }
          },
          "400":{
            "description":"There is a validation error. Use accept=application/json to see all of the validation errors."
          },
          "401":{
            "description":"Unauthorized."
          },
          "403":{
            "description":"Permission Denied: You must have an Adminstrator or editor role to update this catalog entry."
          },
          "404":{
            "description":"Object was not found."
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request PUT \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}?account=string&move=string' \\\n",
                      "--header 'accept: application/json'\n",
                      "--data '{\"active\":true,\"catalog_crn\":\"string\",\"children\":[null],\"children_url\":\"string\",\"created\":\"string\",\"disabled\":true,\"geo_tags\":[null],\"group\":true,\"id\":\"string\",\"images\":{\"description\":\"Image annotation for this catalog entry. The image is a URL\",\"properties\":{\"feature_image\":\"string\",\"image\":\"string\",\"medium_image\":\"string\",\"small_image\":\"string\"},\"required\":[\"image\"],\"type\":\"object\"},\"kind\":\"string\",\"metadata\":{\"additionalProperties\":false,\"description\":\"Metadata is not returned by default, and includes specific data depending on the object **kind**\",\"properties\":{\"alias\":{\"properties\":{\"plan_id\":\"string\",\"type\":\"string\"},\"type\":\"object\"},\"callbacks\":{\"properties\":{\"broker_proxy_url\":\"string\",\"broker_utl\":\"string\",\"dashboard_data_url\":\"string\",\"dashboard_detail_tab_ext_url\":\"string\",\"dashboard_detail_tab_url\":\"string\",\"dashboard_url\":\"string\",\"service_monitor_api\":\"string\",\"service_monitor_app\":\"string\",\"service_production_url\":\"string\",\"service_staging_url\":\"string\"},\"type\":\"object\"},\"compliance\":[null],\"deployment\":{\"properties\":{\"broker\":{\"properties\":{\"guid\":\"string\",\"name\":\"string\",\"password\":{\"properties\":{\"iv\":\"string\",\"key\":\"string\",\"text\":\"string\"},\"type\":\"object\"}},\"type\":\"object\"},\"location\":\"string\",\"location_url\":\"string\",\"supports_rc_migration\":true,\"target_crn\":\"string\"},\"type\":\"object\"},\"origin_name\":\"string\",\"other\":{\"description\":\"Additional information\",\"type\":\"object\"},\"plan\":{\"properties\":{\"allow_internal_users\":true,\"async_provisioning_supported\":true,\"async_unprovisioning_supported\":true,\"bindable\":true,\"cf_guid\":\"string\",\"reservable\":true,\"service_check_enabled\":true,\"single_scope_instance\":\"string\",\"test_check_interval\":0},\"type\":\"object\"},\"pricing\":{\"properties\":{\"metrics\":[{\"amounts\":[{\"country\":\"string\",\"currency\":\"string\",\"prices\":[{\"Price\":0,\"quantity_tier\":0}]}],\"charge_unit_display_name\":\"string\",\"charge_unit_name\":\"string\",\"charge_unit_quantity\":\"integer\",\"metric_id\":\"string\",\"resource_display_name\":\"string\",\"tier_model\":\"string\",\"usage_cap_qty\":0}],\"origin\":\"string\",\"starting_price\":{\"properties\":{\"amount\":[{\"country\":\"string\",\"currency\":\"string\",\"prices\":[{\"Price\":0,\"quantity_tier\":0}]}],\"deployment_id\":\"string\",\"plan_id\":\"string\"},\"type\":\"object\"},\"type\":\"string\"},\"type\":\"object\"},\"rc_compatible\":true,\"service\":{\"properties\":{\"async_provisioning_supported\":true,\"async_unprovisioning_supported\":true,\"bindable\":true,\"cf_guid\":\"string\",\"iam_compatible\":true,\"plan_updateable\":true,\"provisionable\":true,\"requires\":[null],\"service_check_enabled\":true,\"service_key_supported\":true,\"state\":\"string\",\"test_check_interval\":0,\"type\":\"string\",\"unique_api_key\":true},\"type\":\"object\"},\"sla\":{\"properties\":{\"dr\":{\"properties\":{\"description\":\"string\",\"dr\":true},\"type\":\"object\"},\"provisioning\":\"string\",\"responsiveness\":\"string\",\"tenancy\":\"string\",\"terms\":\"string\"},\"type\":\"object\"},\"template\":{\"properties\":{\"buildpack\":\"string\",\"cf_runtime_id\":\"string\",\"default_memory\":0,\"environment_variables\":{\"description\":\"Environment variables for the template\",\"properties\":{\"_key_\":\"string\"},\"type\":\"object\"},\"executable_file\":\"string\",\"runtime_catalog_id\":\"string\",\"services\":[null],\"source\":{\"description\":\"Location of your applications source files\",\"properties\":{\"path\":\"string\",\"type\":\"string\",\"url\":\"string\"},\"type\":\"object\"},\"start_cmd\":\"string\",\"template_id\":\"string\"},\"type\":\"object\"},\"ui\":{\"properties\":{\"accessible_during_provision\":true,\"embeddable_dashboard\":\"string\",\"embeddable_dashboard_full_width\":true,\"end_of_service_time\":\"string\",\"navigation_order\":[null],\"not_creatable\":true,\"primary_offering_id\":\"string\",\"reservable\":true,\"side_by_side_index\":0,\"strings\":{\"description\":\"Language specific translation of translation properties, like label and description\",\"properties\":{\"_language_\":{\"properties\":{\"bullets\":[{\"description\":\"string\",\"icon\":\"string\",\"quantity\":\"string\",\"title\":\"string\"}],\"deprecation_warning\":\"string\",\"instruction\":\"string\",\"media\":[{\"URL\":\"string\",\"caption\":\"string\",\"source\":{\"properties\":{\"description\":\"string\",\"icon\":\"string\",\"quantity\":\"string\",\"title\":\"string\"},\"type\":\"object\"},\"thumbnail_url\":\"string\",\"type\":\"string\"}],\"not_creatable__robot_msg\":\"string\",\"not_creatable_msg\":\"string\",\"popup_warning_message\":\"string\"},\"type\":\"object\"}},\"type\":\"object\"},\"urls\":{\"description\":\"UI based URLs\",\"properties\":{\"api_url\":\"string\",\"catalog_details_url\":\"string\",\"create_url\":\"string\",\"custom_create_page_url\":\"string\",\"deprecation_doc_url\":\"string\",\"doc_url\":\"string\",\"instructions_url\":\"string\",\"sdk_download_url\":\"string\",\"terms_url\":\"string\"},\"type\":\"object\"}},\"type\":\"object\"},\"version\":\"string\"},\"type\":\"object\"},\"name\":\"string\",\"overview_ui\":{\"description\":\"Overview is nested in the top level. The key value pair is `[_language_]overview_ui`.\",\"properties\":{\"_language_\":{\"description\":\"Overview is nested in the top level. The key value pair is `[_language_]overview_ui`.\",\"properties\":{\"description\":\"string\",\"display_name\":\"string\",\"long_description\":\"string\"},\"required\":[\"display_name\",\"description\",\"long_description\"],\"type\":\"object\"}},\"type\":\"object\"},\"parent_id\":\"string\",\"parent_url\":\"string\",\"pricing_tags\":[null],\"provider\":{\"properties\":{\"contact\":\"string\",\"email\":\"string\",\"name\":\"string\",\"phone\":\"string\",\"support_email\":\"string\"},\"required\":[\"email\",\"name\"],\"type\":\"object\"},\"tags\":[null],\"updated\":\"string\",\"url\":\"string\"}'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete":{
        "tags":[
          "Object"
        ],
        "operationId":"delete_catalog_entry",
        "summary":"Delete a catalog entry",
        "description":"Delete a catalog entry. This will archive the catalog entry for a minimum of two weeks. While archived, it can be restored using the PUT restore API. After two weeks, it will be deleted and cannot be restored. You must have administrator role in the scope of the provided token to modify it. This endpoint is ETag enabled.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The object's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"force",
            "in":"query",
            "description":"This will cause entry to be deleted fully. By default it is archived for two weeks, so that it can be restored if necessary.",
            "required":false,
            "schema":{
              "type":"boolean"
            }
          }
        ],
        "responses":{
          "200":{
            "description":"Successfully deleted the catalog entry, or it was already archived or did not exist."
          },
          "401":{
            "description":"Unauthorized."
          },
          "403":{
            "description":"Permission Denied: You must have an Adminstrator role to create a catalog entry."
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request DELETE \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}?account=string' \\\n",
                      "--header 'accept: application/json'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{id}/{kind}":{
      "get":{
        "tags":[
          "Object"
        ],
        "operationId":"get_child_objects",
        "summary":"Get child catalog entries of a specific kind",
        "description":"Fetch child catalog entries for a catalog entry with a specific id. This endpoint is ETag enabled. This can be used by an unauthenticated user for publicly available services. If there are more than the limit allowed for total number of children then the token form must be used.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The parent catalog entry's ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"kind",
            "in":"path",
            "description":"The **kind** of child catalog entries to search for. A wildcard (*) includes all child catalog entries for all kinds, for example `GET /service_name/*`.",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"include",
            "in":"query",
            "description":"A colon (:) separated list of properties to include. A GET call by defaults return a limited set of properties. To include other properties, you must add the include parameter.  A wildcard (*) includes all properties",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"q",
            "in":"query",
            "description":"A query filter, for example, `q=kind:iaas IBM`  will filter on entries of **kind** iaas that has `IBM` in their name, display name, or description. This is invalid in the tokenized form.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"sort-by",
            "in":"query",
            "description":"The field on which to sort the output. By default by name. Available fields are **name**, **kind**, and **provider**. This is invalid in the tokenized form.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"descending",
            "in":"query",
            "description":"The sort order. The default is false, which is ascending. This is invalid in the tokenized form.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"languages",
            "in":"query",
            "description":"Return the data strings in the specified language. By default the strings returned are of the language preferred by your browser through the Accept-Language header. This allows an override of the header. Languages are specified in standard form, such as `en-us`. To include all languages use the wildcard (*).",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"complete",
            "in":"query",
            "description":"Use the value `?complete=true` as shortcut for ?include=*&languages=*.",
            "required":false,
            "schema":{
              "type":"boolean"
            }
          },
          {
            "name":"start",
            "in":"query",
            "description":"Useful for pagination, specifies starting token of first item to return in response. Use \"\" for the first page. This is invalid in the offset form.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"_offset",
            "in":"query",
            "description":"Useful for pagination, specifies index (origin 0) of first item to return in response.  This is invalid in the tokenized form.",
            "required":false,
            "schema":{
              "type":"integer",
              "default":0
            }
          },
          {
            "name":"_limit",
            "in":"query",
            "description":"Useful for pagination, specifies the maximum number of items to return in the response.",
            "required":false,
            "schema":{
              "type":"integer",
              "default":50,
              "maximum":200
            }
          }
        ],
        "responses":{
          "200":{
            "description":"Successful search result containing a paginated list of child objects.",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/EntrySearchResult"
                },
                "examples":{
                  "response":{
                    "value":{
                      "page":"STRING",
                      "resources":"ARRAY",
                      "results_per_page":"STRING",
                      "total_results":"STRING"
                    }
                  }
                }
              }
            }
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}/{kind}?account=string&include=string&q=string&sort-by=string&descending=string&languages=string&complete=string' \\\n",
                      "--header 'accept: application/json'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{id}/visibility":{
      "parameters":[
        {
          "name":"id",
          "in":"path",
          "description":"The object's unique ID",
          "required":true,
          "schema":{
            "type":"string"
          }
        }
      ],
      "get":{
        "tags":[
          "Visibility"
        ],
        "operationId":"get_visibility",
        "summary":"Get the visibility constraints for an object",
        "description":"This endpoint returns the visibility rules for this object. Overall visibility is determined by the parent objects and any further restrictions on this object. You must have an administrator role in the scope of the provided token. This endpoint is ETag enabled.",
        "parameters":[
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "responses":{
          "200":{
            "description":"The entry visibility object",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/Visibility"
                },
                "examples":{
                  "response":{
                    "value":{
                      "approved":"BOOLEAN",
                      "exclude":{
                        "accounts":{
                          "_accountid_":"STRING"
                        }
                      },
                      "include":{
                        "accounts":{
                          "_accountid_":"STRING"
                        }
                      },
                      "owner": "STRING",
                      "restrictions":"STRING"
                    }
                  }
                }
              }
            }
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Object was not found"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}/visibility?account=string' \\\n",
                      "--header 'accept: application/json'"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put":{
        "tags":[
          "Visibility"
        ],
        "operationId":"update_visibility",
        "summary":"Update visibility",
        "description":"Update an Object's Visibility. You must have an administrator role in the scope of the provided token. This endpoint is ETag enabled.",
        "parameters":[
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "requestBody":{
          "content":{
            "application/json":{
              "schema":{
                "$ref":"#/components/schemas/Visibility"
              }
            }
          },
          "description":"Object to post",
          "required":true
        },
        "x-codegen-request-body-name":"body",
        "responses":{
          "200":{
            "description":"Successfully updated the visibility of the catalog entry."
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"Permission Denied: You must have an Adminstrator role to set visibility of a catalog entry."
          },
          "404":{
            "description":"Object was not found."
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request PUT \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}/visibility?account=string' \\\n",
                      "--header 'accept: application/json'\n",
                      "--data '{\"approved\":true,\"exclude\":{\"properties\":{\"accounts\":{\"properties\":{\"_accountid_\":\"string\"},\"type\":\"object\"}},\"required\":[\"accounts\"],\"type\":\"object\"},\"include\":{\"properties\":{\"accounts\":{\"properties\":{\"_accountid_\":\"string\"},\"type\":\"object\"}},\"required\":[\"accounts\"],\"type\":\"object\"},\"owner\":{\"properties\":{\"type\":\"string\",\"value\":\"string\"},\"type\":\"object\"},\"restrictions\":\"string\"}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{id}/pricing":{
      "get":{
        "tags":[
          "Pricing"
        ],
        "operationId":"get_pricing",
        "summary":"Get the pricing for an object",
        "description":"This endpoint returns the pricing for an object. Static pricing is defined in the catalog. Dynamic pricing is stored in IBM Cloud Pricing Catalog. This can be used by an unauthenticated user for publicly available services.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The object's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name": "deployment_region",
            "in":"query",
            "description": "Specify a region to retrieve plan pricing for a global deployment. The value must match an entry in the `deployment_regions` list.    ",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "responses":{
          "200":{
            "description":"The pricing for the object",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/PricingGet"
                },
                "examples":{
                  "response":{
                    "value":{
                      "deployment_id": "744bfc56-d12c-4866-88d5-dac9139e0e5d:global",
                      "deployment_location": "global",
                      "origin": "pricing_catalog",
                      "type": "paygo",
                      "i18n": {},
                      "starting_price": {},
                      "effective_from": "2021-01-01T00:00:00Z",
                      "effective_until": "9999-12-30T16:00:00Z",
                      "metrics": [
                          {
                              "part_ref": "",
                              "metric_id": "COSVLTSTOR",
                              "tier_model": "Step Tier",
                              "resource_display_name": "Vault storage",
                              "charge_unit_display_name": "GIGABYTE",
                              "charge_unit_name": "VAULT_STORAGE",
                              "charge_unit": "GIGABYTE",
                              "charge_unit_quantity": 1,
                              "amounts": [
                                  {
                                      "country": "USA",
                                      "currency": "USD",
                                      "prices": [
                                          {
                                              "quantity_tier": 499999,
                                              "price": 0.02
                                          },
                                          {
                                              "quantity_tier": 999999999,
                                              "price": 0.018
                                          }
                                      ]
                                  }
                              ]
                          }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Pricing not available"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}/pricing?account=string' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{id}/pricing/deployment":{
      "get":{
        "tags":[
          "Pricing"
        ],
        "operationId":"get_pricing_deployments",
        "summary":"Get the pricing deployments for a plan",
        "description":"This endpoint returns the deployment pricing for a plan. For a plan it returns a pricing for each visible child deployment object. Static pricing is defined in the catalog. Dynamic pricing is stored in IBM Cloud Pricing Catalog. This can be used by an unauthenticated user for publicly available services.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The object's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The pricing for the object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PricingSearchResult"
                },
                "examples": {
                  "response": {
                    "value": {
                      "offset": 0,
                      "limit": 50,
                      "count": 1,
                      "resource_count": 1,
                      "resources": [
                        {
                          "deployment_id": "744bfc56-d12c-4866-88d5-dac9139e0e5d:global",
                          "deployment_location": "global",
                          "origin": "pricing_catalog",
                          "type": "paygo",
                          "i18n": {},
                          "starting_price": {},
                          "effective_from": "2021-01-01T00:00:00Z",
                          "effective_until": "9999-12-30T16:00:00Z",
                          "metrics": [
                            {
                              "part_ref": "",
                              "metric_id": "COSVLTSTOR",
                              "tier_model": "Step Tier",
                              "resource_display_name": "Vault storage",
                              "charge_unit_display_name": "GIGABYTE",
                              "charge_unit_name": "VAULT_STORAGE",
                              "charge_unit": "GIGABYTE",
                              "charge_unit_quantity": 1,
                              "amounts": [
                                {
                                  "country": "USA",
                                  "currency": "USD",
                                  "prices": [
                                    {
                                      "quantity_tier": 499999,
                                      "price": 0.02
                                    },
                                    {
                                      "quantity_tier": 999999999,
                                      "price": 0.018
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Pricing not available"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}/pricing?account=string' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },    
    "/{id}/logs":{
      "get":{
        "tags":[
          "Audit"
        ],
        "operationId":"get_audit_logs",
        "summary":"Get the audit logs for an object",
        "description":"This endpoint returns the audit logs for an object. Only administrators and editors can get logs.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The object's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"ascending",
            "in":"query",
            "description":"Sets the sort order. False is descending.",
            "required":false,
            "schema":{
              "type":"string",
              "default":"false"
            }
          },
          {
            "name":"startat",
            "in":"query",
            "description":"Starting time for the logs. If it's descending then the entries will be equal or earlier. The default is latest. For ascending it will entries equal or later. The default is earliest. It can be either a number or a string. If a number then it is in the format of Unix timestamps. If it is a string then it is a date in the format YYYY-MM-DDTHH:MM:SSZ  and the time is UTC. The T and the Z are required. For example: 2017-12-24T12:00:00Z for Noon UTC on Dec 24, 2017",
            "required":false,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"_offset",
            "in":"query",
            "description":"Count of number of log entries to skip before returning logs. The default is zero.",
            "required":false,
            "schema":{
              "type":"integer",
              "default":0
            }
          },
          {
            "name":"_limit",
            "in":"query",
            "description":"Count of number of entries to return. The default is fifty. The maximum value is two hundred.",
            "required":false,
            "schema":{
              "type":"integer",
              "maximum":200,
              "default":50
            }
          }
        ],
        "responses":{
          "200":{
            "description":"The audit logs for the object",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/AuditSearchResult"
                },
                "examples":{
                  "response":{
                    "value":{
                      "page":"STRING",
                      "resources":"ARRAY",
                      "results_per_page":"STRING",
                      "total_results":"STRING"
                    }
                  }
                }
              }
            }
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Object not found or is archived"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}/logs?account=string&ascending=false&startat=string&_offset=0&_limit=50' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{id}/restore":{
      "put":{
        "tags":[
          "Object"
        ],
        "operationId":"restore_catalog_entry",
        "summary":"Restore archived catalog entry",
        "description":"Restore an archived catalog entry. You must have an administrator role in the scope of the provided token.",
        "parameters":[
          {
            "name":"id",
            "in":"path",
            "description":"The catalog entry's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "responses":{
          "200":{
            "description":"Successfully restored the catalog entry."
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"Permission Denied: You must have an Adminstrator role to set visibility of a catalog entry."
          },
          "404":{
            "description":"Object was not found."
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request PUT \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{id}/restore?account=string' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{object_id}/artifacts":{
      "get":{
        "tags":[
          "Artifact"
        ],
        "parameters":[
          {
            "name":"object_id",
            "in":"path",
            "description":"The object's unique ID",
            "required":true,
            "schema":{
              "type":"string"
            }
          },
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "operationId":"list_artifacts",
        "summary":"Get artifacts",
        "description":"This endpoint returns a list of artifacts for an object.",
        "responses":{
          "200":{
            "description":"The artifacts for the object",
            "content":{
              "application/json":{
                "schema":{
                  "$ref":"#/components/schemas/Artifacts"
                },
                "examples":{
                  "response":{
                    "value":{
                      "count":"INTEGER",
                      "resources":{
                        "etag":"STRING",
                        "name":"STRING",
                        "size":"INTEGER",
                        "updated":"STRING",
                        "url":"STRING"
                      }
                    }
                  }
                }
              }
            }
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Artifact not found"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{object_id}/artifacts?account=string' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/{object_id}/artifacts/{artifact_id}":{
      "parameters":[
        {
          "name":"object_id",
          "in":"path",
          "description":"The object's unique ID",
          "required":true,
          "schema":{
            "type":"string"
          }
        },
        {
          "name":"artifact_id",
          "in":"path",
          "description":"The artifact's ID",
          "required":true,
          "schema":{
            "type":"string"
          }
        }
      ],
      "get":{
        "tags":[
          "Artifact"
        ],
        "parameters":[
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "operationId":"get_artifact",
        "summary":"Get artifact",
        "description":"This endpoint returns the binary of an artifact.",
        "responses":{
          "200":{
            "description":"The contents of the artifact.  The Content-Type header returned in the response indicates the mime-type associated with the artifact.",
            "content":{
              "*/*":{
                "schema":{
                  "type":"string",
                  "format":"binary"
                }
              }
            }
          },
          "304":{
            "description":"If using header 'If-None-Match' with an ETag this will be returned if the ETag matches."
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Artifact not found"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request GET \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{object_id}/artifacts/{artifact_id}?account=string' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put":{
        "tags":[
          "Artifact"
        ],
        "parameters":[
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "operationId":"upload_artifact",
        "summary":"Upload artifact",
        "description":"This endpoint uploads the binary for an artifact. Only administrators and editors can upload artifacts.",
        "x-codegen-request-body-name": "artifact",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          }
        },
        "responses":{
          "200":{
            "description":"Successfully uploaded the artifact"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request PUT \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{object_id}/artifacts/{artifact_id}?account=string' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete":{
        "tags":[
          "Artifact"
        ],
        "parameters":[
          {
            "name":"account",
            "in":"query",
            "description":"This changes the scope of the request regardless of the authorization header. Example scopes are `account` and `global`. `account=global` is reqired if operating with a service ID that has a global admin policy, for example `GET /?account=global`.",
            "required":false,
            "schema":{
              "type":"string"
            }
          }
        ],
        "operationId":"delete_artifact",
        "summary":"Delete artifact",
        "description":"This endpoint deletes an artifact. Only administrators and editors can delete artifacts.",
        "responses":{
          "200":{
            "description":"Successfully deleted the artifact"
          },
          "401":{
            "description":"Unauthorized"
          },
          "403":{
            "description":"No Permissions"
          },
          "404":{
            "description":"Artifact not found"
          }
        },
        "x-sdk-operations":{
          "request-examples":{
            "curl":[
              {
                "name":"Example request",
                "example":[
                  {
                    "type":"code",
                    "source":[
                      "curl --request DELETE \\\n",
                      "--url 'https://globalcatalog.cloud.ibm.com/api/v1/{object_id}/artifacts/{artifact_id}?account=string' \\\n",
                      "--header 'accept: application/json'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  },
  "x-ibm-configuration":{
    "enforced":false,
    "testable":true,
    "phase":"realized",
    "cors":{
      "enabled":true
    }
  },
  "servers":[
    {
      "url":"https://globalcatalog.cloud.ibm.com/api/v1"
    }
  ],
  "components":{
    "requestBodies":{
      "CatalogEntryCreate":{
        "content":{
          "application/json":{
            "schema":{
              "$ref":"#/components/schemas/CatalogEntryCreate"
            }
          }
        },
        "description":"The catalog entry to be created.",
        "required":true
      },
      "CatalogEntryUpdate":{
        "content":{
          "application/json":{
            "schema":{
              "$ref":"#/components/schemas/CatalogEntryUpdate"
            }
          }
        },
        "description":"The catalog entry to be updated.",
        "required":true
      }
    },
    "schemas":{
      "CatalogEntryBase":{
        "description":"Base set of properties within a CatalogEntry that are common to the create and update operation request bodies as well as the get, create, and update operation responses.",
        "type":"object",
        "properties":{
          "name":{
            "type":"string",
            "description":"Programmatic name for this catalog entry, which must be formatted like a CRN segment. See the display name in OverviewUI for a user-readable name."
          },
          "kind":{
            "type":"string",
            "description":"The type of catalog entry which determines the type and shape of the object. Valid GC types are buildpack, cname, dataset, geography, iaas, platform_service, runtime, service, template, ui-dashboard",
            "enum": [
              "service",
              "template",
              "dashboard"
            ]
          },
          "overview_ui":{
            "$ref":"#/components/schemas/OverviewUI"
          },
          "images":{
            "$ref":"#/components/schemas/Image"
          },
          "parent_id":{
            "type":"string",
            "description":"The ID of the parent catalog entry if it exists"
          },
          "disabled":{
            "type":"boolean",
            "description":"Boolean value that determines the global visibility for the catalog entry, and its children. If it is not enabled, all plans are disabled."
          },
          "tags":{
            "type":"array",
            "description":"A searchable list of tags. For example, IBM, 3rd Party, Beta, GA, and Single Tenant. Valid values found at https://globalcatalog.test.cloud.ibm.com/search",
            "items":{
              "type":"string"
            }
          },
          "group":{
            "type":"boolean",
            "description":"Boolean value that determines whether the catalog entry is a group."
          },
          "provider":{
            "$ref":"#/components/schemas/Provider"
          },
          "active":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service is active."
          },
          "url": {
            "type":"string",
            "description": "Url of the object"
          }
        }
      },
      "CatalogEntryCreate":{
        "description":"Model used to create a new entry in the global catalog.",
        "allOf": [
          {
            "$ref": "#/components/schemas/CatalogEntryBase"
          },
          {
            "type": "object",
            "required":[
              "id",
              "name",
              "overview_ui",
              "kind",
              "images",
              "disabled",
              "provider",
              "tags"
            ],
            "properties":{
              "id":{
                "type":"string",
                "description":"Catalog entry's unique ID. It's the same across all catalog instances."
              },
              "metadata":{
                "$ref":"#/components/schemas/ObjectMetadataSet"
              }
            }
          }
        ]
      },
      "CatalogEntryUpdate":{
        "description":"Model used to update an existing entry in the global catalog.",
        "allOf":[
          {
            "$ref":"#/components/schemas/CatalogEntryBase"
          },
          {
            "required": [
              "name",
              "kind",
              "overview_ui",
              "images",
              "disabled",
              "tags",
              "provider"
            ],
            "properties":{
              "metadata":{
                "$ref":"#/components/schemas/ObjectMetadataSet"
              }
            }
          }
        ]
      },
      "CatalogEntry":{
        "description":"An entry in the global catalog.",
        "allOf":[
          {
            "$ref":"#/components/schemas/CatalogEntryUpdate"
          },
          {
            "type":"object",
            "required": [
              "name",
              "overview_ui",
              "kind",
              "images",
              "disabled",
              "tags",
              "provider"
            ],
            "properties":{
              "id":{
                "type":"string",
                "description":"Catalog entry's unique ID. It's the same across all catalog instances.",
                "readOnly":true
              },
              "metadata":{
                "$ref":"#/components/schemas/ObjectMetadataGet"
              },
              "catalog_crn":{
                "type": "string",
                "readOnly":true,
                "description": "The CRN associated with the catalog entry."
              },
              "url":{
                "type": "string",
                "readOnly":true,
                "description": "URL to get details about this object."
              },
              "children_url":{
                "type": "string",
                "readOnly":true,
                "description": "URL to get details about children of this object."
              },
              "geo_tags":{
                "type": "array",
                "items": {
                  "type": "string"
                },
                "readOnly":true,
                "description": "tags to indicate the locations this service is deployable to."
              },
              "pricing_tags":{
                "type": "array",
                "items": {
                  "type": "string"
                },
                "readOnly":true,
                "description": "tags to indicate the type of pricing plans this service supports. Plans tagged with paid_only will not be shown for trial accounts."
              },
              "created":{
                "type": "string",
                "format": "date-time",
                "readOnly":true,
                "description": "Date created"
              },
              "updated":{
                "type": "string",
                "format": "date-time",
                "readOnly":true,
                "description": "Date last updated"
              }
            }
          }
        ]
      },
      "Overview":{
        "description":"Overview is nested in the top level. The key value pair is `[_language_]overview_ui`.",
        "type":"object",
        "required":[
          "display_name",
          "description",
          "long_description"
        ],
        "properties":{
          "display_name":{
            "type":"string",
            "description":"The translated display name"
          },
          "long_description":{
            "type":"string",
            "description":"The translated long description"
          },
          "description":{
            "type":"string",
            "description":"The translated description"
          },
          "featured_description":{
            "type":"string",
            "description":"The translated description that will be featured"
          }
        }
      },
      "OverviewUI":{
        "description":"Overview is nested in the top level. The key value pair is `[_language_]overview_ui`.",
        "type":"object",
        "additionalProperties":{
          "type":"object",
          "$ref":"#/components/schemas/Overview"
        }
      },
      "ObjectMetadataSet":{
        "description":"Model used to describe metadata object that can be set.",
        "allOf": [
          {
            "$ref": "#/components/schemas/ObjectMetadataBase"
          },
          {
            "type": "object",
            "properties":{
              "pricing":{
                "$ref":"#/components/schemas/PricingSet"
              },
              "deployment":{
                "$ref":"#/components/schemas/DeploymentBase"
              }
            }
          }
        ]
      },
      "ObjectMetadataGet":{
        "description":"Model used to describe metadata object returned.",
        "allOf": [
          {
            "$ref": "#/components/schemas/ObjectMetadataBase"
          },
          {
            "type": "object",
            "properties":{
              "pricing":{
                "$ref":"#/components/schemas/PricingGet"
              },
              "deployment":{
                "$ref":"#/components/schemas/DeploymentGet"
              }
            }
          }
        ]
      },
      "CFMetaData":{
        "description":"Service-related metadata.",
        "type":"object",
        "properties":{
          "type":{
            "type":"string",
            "description":"The type of service (public, cfaas, personal_catalog, kms, toolchain, etc.)",
            "deprecated":true
          },
          "iam_compatible":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service is compatible with Identity and Access Management for authentication and authorization."
          },
          "unique_api_key":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service has a unique API key. Only settable on services, should be set via partnercenter",
            "deprecated":true
          },
          "provisionable":{
            "type":"boolean",
            "description":"Boolean value that, if true, the service is provisionable via resource controller (RC) or, if false, via a service control point API. If false, you may need sales or support to create this service."
          },
          "bindable":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service can be bound to an application. If true then this will create and use resource keys"
          },
          "async_provisioning_supported":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service supports asynchronous provisioning. Now handled by a 202 response indicating support from the broker on provisioning.",
            "deprecated":true
          },
          "async_unprovisioning_supported":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service supports asynchronous unprovisioning. Now handled by a 202 response indicating support from the broker on unprovisioning.",
            "deprecated":true
          },
          "requires":{
            "type":"array",
            "description":"Dependencies needed to use this service",
            "items":{
              "type":"string"
            },
            "deprecated":true
          },
          "plan_updateable":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service supports changing plans within the service. Only settable on services, read only on plans and deployments"
          },
          "state":{
            "type":"string",
            "description":"String that describes whether the service is active or inactive.",
            "deprecated":true
          },
          "service_check_enabled":{
            "type":"boolean",
            "description":"Boolean value that describes whether the Estado testing service will perform uptime tests for this service",
            "deprecated":true
          },
          "test_check_interval":{
            "type":"integer",
            "description":"A unit of time that determines the time in between uptime checks performed by Estado",
            "deprecated":true
          },
          "service_key_supported":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service supports the creation of service credentials. Without service key support, a service cannot be bound to a cluster"
          },
          "cf_guid":{
            "type":"object",
            "description":"If the field is imported from Cloud Foundry, the Cloud Foundry region's GUID. This is a required field. For example, `us-south=123`.",
            "additionalProperties":{
              "type":"string"
            },
            "deprecated":true
          },
          "crn_mask":{
            "type":"string",
            "description":"Cloud resource name identifying the environment containing this service."
          },
          "parameters":{
            "x-sdk-exclude": true,
            "oneOf":[
              {
                "type": "object"
              },
              {
                "type":"array",
                "items":{
                  "type":"object"
                }
              }
            ],
            "description":"Service specific parameters on provisioning. Each parameter must be a map with string keys containing a 'name' key."
          },
          "user_defined_service":{
            "x-sdk-exclude": true,
            "type":"object",
            "description":"An extended set of metadata fields that pertain to user-defined services",
            "deprecated":true
          },
          "extension":{
            "x-sdk-exclude": true,
            "type":"object",
            "description":"A property-bag like extension to service metadata",
            "deprecated":true
          },
          "paid_only":{
            "type":"boolean",
            "description":"Boolean flag indicating if this service only offers paid pricing plans rather than the default paygo",
            "deprecated":true
          },
          "custom_create_page_hybrid_enabled":{
              "type":"boolean",
              "description":"Boolean flag that determines if the hybrid page is accessible from the main catalog provisioning page"
          }
        }
      },
      "PlanMetaData":{
        "description":"Plan-related metadata.",
        "type":"object",
        "properties":{
          "bindable":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service can be bound to an application. If true then this will create and use resource keys"
          },
          "reservable":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service can be reserved for pricing subscriptions"
          },
          "allow_internal_users":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service can be used on IBM accounts. If false this cannot be onboarded by an IBM account."
          },
          "async_provisioning_supported":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service supports asynchronous provisioning. Now handled by a 202 response indicating support from the broker on provisioning.",
            "deprecated":true
          },
          "async_unprovisioning_supported":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service supports asynchronous unprovisioning. Now handled by a 202 response indicating support from the broker on unprovisioning.",
            "deprecated":true
          },
          "provision_type":{
            "type":"string",
            "description":"How the subscription is provisioned (managed cloud service provider (mcsp), IBM_cloud, legacy)"
          },
          "test_check_interval":{
            "type":"integer",
            "description":"A unit of time that determines the time in between uptime checks to be performed by the Estado testing service",
            "deprecated":true
          },
          "single_scope_instance":{
            "type":"string",
            "description":"String denoting if a single instance is shared among a group of users. E.g. org",
            "deprecated":true
          },
          "service_check_enabled":{
            "type":"boolean",
            "description":"Boolean value that describes whether the Estado testing service will perform uptime tests for this service",
            "deprecated":true
          },
          "cf_guid":{
            "type":"object",
            "description":"If the field is imported from Cloud Foundry, the Cloud Foundry region's GUID. This is a required field. For example, `us-south=123`.",
            "additionalProperties":{
              "type":"string"
            },
            "deprecated":true
          }
        }
      },
      "SourceMetaData":{
        "description":"Location of your applications source files",
        "type":"object",
        "properties":{
          "path":{
            "type":"string",
            "description":"Path to your application"
          },
          "type":{
            "type":"string",
            "description":"Type of source, for example, git"
          },
          "url":{
            "type":"string",
            "description":"URL to source"
          }
        }
      },
      "UIMediaSourceMetaData":{
        "description":"Location of your applications media source files",
        "type":"object",
        "properties":{
          "type":{
            "type":"string",
            "description":"Type of source, for example, git"
          },
          "url":{
            "type":"string",
            "description":"URL to source"
          }
        }
      },
      "TemplateMetaData": {
        "description":"Template-related metadata.",
        "type":"object",
        "deprecated":true,
        "properties":{
          "services":{
            "type":"array",
            "description":"List of required offering or plan IDs",
            "items":{
              "type":"string"
            }
          },
          "default_memory":{
            "type":"integer",
            "description":"Cloud Foundry instance memory value"
          },
          "start_cmd":{
            "type":"string",
            "description":"Command used to start a service"
          },
          "source":{
            "$ref": "#/components/schemas/SourceMetaData"
          },
          "runtime_catalog_id":{
            "type":"string",
            "description":"ID of the runtime"
          },
          "cf_runtime_id":{
            "type":"string",
            "description":"ID of the Cloud Foundry runtime"
          },
          "template_id":{
            "type":"string",
            "description":"ID of the boilerplate or template"
          },
          "executable_file":{
            "type":"string",
            "description":"File path to the executable file for the template"
          },
          "buildpack":{
            "type":"string",
            "description":"ID of the buildpack used by the template"
          },
          "environment_variables":{
            "type":"object",
            "description":"Environment variables (key/value pairs) for the template",
            "additionalProperties":{
              "type":"string"
            }
          }
        }
      },
      "AliasMetaData":{
        "description":"Alias-related metadata.",
        "type":"object",
        "properties":{
          "type":{
            "type":"string",
            "description":"Type of alias"
          },
          "plan_id":{
            "type":"string",
            "description":"Points to the plan that this object is an alias for."
          }
        },
        "deprecated":true
      },
      "DRMetaData":{
        "description":"SLA Disaster Recovery-related metadata.",
        "type":"object",
        "properties":{
          "dr":{
            "type":"boolean",
            "description":"Required boolean value that describes whether disaster recovery is on."
          },
          "description":{
            "type":"string",
            "description":"Description of the disaster recovery implementation"
          }
        }
      },
      "SLAMetaData":{
        "description":"Service Level Agreement related metadata.",
        "type":"object",
        "properties":{
          "terms":{
            "type":"string",
            "description":"Required Service License Agreement Terms of Use"
          },
          "tenancy":{
            "type":"string",
            "description":"Required deployment type. Valid values are dedicated, local, or public. It can be Single or Multi tennancy, more specifically on a Server, VM, Physical, or Pod."
          },
          "provisioning":{
            "type":"number",
            "description":"Provisioning reliability, for example, 99.95"
          },
          "responsiveness":{
            "type":"number",
            "description":"Uptime reliability of the service, for example, 99.95"
          },
          "dr":{
            "$ref": "#/components/schemas/DRMetaData"
          }
        }
      },
      "ObjectMetadataBase":{
        "description":"Metadata is not returned by default, and includes specific data depending on the object **kind**",
        "type":"object",
        "properties":{
          "rc_compatible":{
            "type":"boolean",
            "description":"Boolean value that describes whether the service is compatible with the Resource Controller. Only settable for deployments, propogated upward"
          },
          "service":{
            "$ref": "#/components/schemas/CFMetaData"
          },
          "plan":{
            "$ref": "#/components/schemas/PlanMetaData"
          },
          "alias":{
            "$ref": "#/components/schemas/AliasMetaData"
          },
          "template":{
            "$ref": "#/components/schemas/TemplateMetaData"
          },
          "ui":{
            "$ref":"#/components/schemas/UIMetaData"
          },
          "compliance":{
            "type":"array",
            "description":"Compliance information for HIPAA and PCI",
            "items":{
              "type":"string"
            }
          },
          "sla":{
            "$ref":"#/components/schemas/SLAMetaData"
          },
          "callbacks":{
            "$ref":"#/components/schemas/Callbacks"
          },
          "original_name":{
            "type":"string",
            "description":"The original name of the object"
          },
          "version":{
            "type":"string",
            "description":"Optional version of the object. Only valid for templates.",
            "deprecated":true
          },
          "other":{
            "type":"object",
            "description":"Additional information",
            "additionalProperties": true
          }
        },
        "additionalProperties":false
      },
      "DeploymentGet": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeploymentBase"
          },
          {
            "type": "object",
            "properties":{
              "location_url":{
                "readOnly":true,
                "type":"string",
                "description":"Pointer to the location resource in the catalog"
              }
            }
          }
        ]
      },
      "Broker":{
        "description":"The broker associated with a catalog entry",
        "type":"object",
        "properties":{
          "name":{
            "type":"string",
            "description":"Broker name"
          },
          "guid":{
            "type":"string",
            "description":"Broker guid"
          }
        }
      },
      "DeploymentBase":{
        "description":"Deployment-related metadata.",
        "type":"object",
        "properties":{
          "location":{
            "type":"string",
            "description":"Describes the region where the service is located"
          },
          "location_url":{
            "type":"string",
            "description":"URL of deployment"
          },
          "original_location":{
            "type":"string",
            "description":"The original region in which this deployment existed"
          },
          "target_crn":{
            "type":"string",
            "description":"A CRN that describes the deployment. crn:v1:[cname]:[ctype]:[location]:[scope]::[resource-type]:[resource]"
          },
          "service_crn":{
            "type":"string",
            "description":"Cloud resource name for this deployment"
          },
          "mccp_id":{
            "type":"string",
            "description":"ID of the multi cloud connectivity platform",
            "deprecated":true
          },
          "broker":{
            "$ref": "#/components/schemas/Broker"
          },
          "supports_rc_migration":{
            "type":"boolean",
            "description":"This deployment not only supports RC but is ready to migrate and support the RC broker for a location",
            "deprecated":true
          },
          "target_network": {
            "type": "string",
            "description": "When using the service_endpoint_supported tag for a deployment, this optional field can be set on a deployment to denote the supported service endpoint type (cse_private, public, or cse_private+public)"
          }
        }
      },
      "UIMetaData":{
        "description":"Information related to the UI presentation associated with a catalog entry",
        "type":"object",
        "properties":{
          "strings":{
            "$ref":"#/components/schemas/I18N"
          },
          "urls":{
            "$ref":"#/components/schemas/URLS"
          },
          "embeddable_dashboard":{
            "type":"string",
            "description":"Describes how the embeddable dashboard is rendered."
          },
          "embeddable_dashboard_full_width":{
            "type":"boolean",
            "description":"Describes whether the embeddable dashboard is rendered at the full width."
          },
          "navigation_order":{
            "type":"array",
            "description":"Defines the order of information presented.",
            "items":{
              "type":"string"
            }
          },
          "not_creatable":{
            "type":"boolean",
            "description":"Describes whether this entry is able to be created from the UI element or CLI."
          },
          "primary_offering_id":{
            "type":"string",
            "description":"ID of the primary offering for a group"
          },
          "accessible_during_provision":{
            "type":"boolean",
            "description":"Alert to ACE to allow instance UI to be accessible while the provisioning state of instance is in progress."
          },
          "side_by_side_index":{
            "type":"integer",
            "description":"Specifies a side by side ordering weight to the UI"
          },
          "end_of_service_time":{
            "type":"string",
            "format":"date-time",
            "description":"Date and time the service will no longer be available."
          },
          "hidden":{
            "type":"boolean",
            "description":"Denotes visibility. Can be set on a service/plan/deployment only by an account with bluemix admin privileges."
          },
          "hide_lite_metering":{
            "type":"boolean",
            "description":"Denotes lite metering visibility."
          },
          "no_upgrade_next_step":{
            "type":"boolean",
            "description":"Denotes whether an upgrade should occur."
          }
        }
      },
      "Bullets":{
        "description":"Information related to list delimiters",
        "type":"object",
        "properties":{
          "title":{
            "description":"The bullet title",
            "type":"string"
          },
          "description":{
            "description":"The bullet description",
            "type":"string"
          },
          "icon":{
            "description":"The icon to use for rendering the bullet",
            "type":"string"
          },
          "quantity":{
            "description":"The bullet quantity",
            "type":"integer"
          }
        }
      },
      "Visibility":{
        "description":"Information related to the visibility of a catalog entry",
        "type":"object",
        "properties":{
          "restrictions":{
            "type":"string",
            "description":"This controls the overall visibility. It is an enum of *public*, *nonibm_only*, *ibm_only*, and *private*. public means it is visible to all. nonibm_only means it is visible to all except IBM unless their account is explicitly included, ibm_only means it is visible to all IBM unless their account is explicitly excluded. private means it is visible only to the included accounts."
          },
          "owner":{
            "type":"string",
            "description":"IAM Scope-related information associated with a catalog entry",
            "readOnly":true
          },
          "extendable":{
            "type":"boolean",
            "description":"Allows the visibility to be extendable"
          },
          "include":{
            "$ref":"#/components/schemas/VisibilityDetail"
          },
          "exclude":{
            "$ref":"#/components/schemas/VisibilityDetail"
          },
          "approved":{
            "type":"boolean",
            "description":"Determines whether the owning account has full control over the visibility of the entry such as adding non-IBM accounts to the whitelist and making entries `private`, `nonibm_only`, `ibm_only` or `public`.",
            "readOnly":true
          }
        }
      },
      "VisibilityDetail":{
        "description":"Visibility details related to a catalog entry",
        "type":"object",
        "required":[
          "accounts"
        ],
        "properties":{
          "accounts":{
            "description":"Information related to the accounts for which a catalog entry is visible",
            "type":"object",
            "properties":{
              "_accountid_":{
                "type":"string",
                "description":"(_accountid_) is the GUID of the account and the value is the scope of who set it. For setting visibility use \"\" as the value. It is replaced with the owner scope when saved."
              }
            }
          }
        }
      },
      "PricingSet":{
        "description":"Pricing-related information",
        "type":"object",
        "properties":{
          "type":{
            "type":"string",
            "description":"Type of plan. Valid values are `free`, `trial`, `paygo`, `paid`, `subscription`."
          },
          "origin":{
            "type":"string",
            "description":"Defines where the pricing originates, either the pricing catalog or the global catalog"
          },
          "starting_price":{
            "$ref":"#/components/schemas/StartingPrice"
          }
        }
      },
      "PricingGet":{
        "description":"Pricing-related information",
        "type":"object",
        "properties":{
          "deployment_id": {
            "type": "string",
            "description": "The deployment object id this pricing is from. Only set if object kind is deployment."
          },
          "deployment_location": {
            "type": "string",
            "description": "The deployment location this pricing is from. Only set if object kind is deployment."
          },  
          "deployment_region": {
            "type": "string",
            "description": "If price is for a deployment object then the region in the pricing catalog of the deployment object will be here. To be valid, this value must be contained within deployment_regions"
          },
          "deployment_location_no_price_available": {
            "type": "boolean",
            "description": "Is the location price not available. Only set in api /pricing/deployment and only set if true. This means for the given deployment object there was no pricing set in pricing catalog."
          },                   
          "type":{
            "type":"string",
            "description":"Type of plan. Valid values are `free`, `trial`, `paygo`, `paid`, `subscription`."
          },
          "origin":{
            "type":"string",
            "description":"Defines where the pricing originates"
          },
          "starting_price":{
            "$ref":"#/components/schemas/StartingPrice"
          },
          "metrics":{
            "type":"array",
            "description":"Plan-specific cost metric structure",
            "items":{
              "$ref":"#/components/schemas/Metrics"
            }
          },
          "deployment_regions":{
            "type": "array",
            "description":"List of regions where region pricing is available. Only set on global deployments if enabled by owner.",
            "items":{
              "type":"string"
            }
          },
          "effective_from":{
              "type": "string",
              "description": "The start date-time indicating when this pricing plan takes effect",
              "format":"date-time"
          },
          "effective_until":{
              "type": "string",
              "description": "The end date-time indicating when this pricing plan is no longer in effect",
              "format":"date-time"
          },
          "require_login":{
              "type": "boolean",
              "description": "Boolean value indicating whether or not this pricing plan requires login to get pricing data"
          },
          "pricing_catalog_url":{
              "type": "string",
              "description": "URL to the entry for this plan on the pricing catalog"
          },
          "sales_avenue": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags describing how this plan was purchased (catalog [default], seller, private offer). Currently only settable on MCSP subscription plans."
          }
        }
      },
      "StartingPrice":{
        "description":"Plan-specific starting price information",
        "type":"object",
        "properties":{
          "plan_id":{
            "type":"string",
            "description":"ID of the plan the starting price is calculated."
          },
          "deployment_id":{
            "type":"string",
            "description":"ID of the deployment the starting price is calculated."
          },
          "unit":{
            "type":"string",
            "description":"Pricing unit."
          },
          "amount":{
            "type":"array",
            "description":"The pricing per metric by country and currency",
            "items":{
              "$ref":"#/components/schemas/Amount"
            }
          }
        }
      },
      "Metrics":{
        "description":"Plan-specific cost metrics information",
        "type":"object",
        "properties":{
          "part_ref":{
            "type":"string",
            "description":"The reference guid for the part"
          },
          "metric_id":{
            "type":"string",
            "description":"The metric ID or part number"
          },
          "tier_model":{
            "type":"string",
            "description":"The pricing tier type used to calculate the marginal unit price. Follows simple, graduated or block tier styles"
          },
          "charge_unit":{
            "type":"string",
            "description":"The unit to be charged under this metric"
          },
          "charge_unit_name":{
            "type":"string",
            "description":"The name associated with a charge unit to provide context"
          },
          "charge_unit_quantity":{
            "type":"integer",
            "description":"The quantity associated with the charge unit to determine price change intervals"
          },
          "resource_display_name":{
            "type":"string",
            "description":"The display name of the resource tied to the charge unit of this metric"
          },
          "charge_unit_display_name":{
            "type":"string",
            "description":"Display name of the charge unit to be rendered human readable by the UI"
          },
          "usage_cap_qty":{
            "type":"integer",
            "description":"Upper bound for the usage under the parent metric"
          },
          "display_cap":{
            "type":"integer",
            "description":"The display capacity for the UI"
          },
          "effective_from":{
            "type":"string",
            "format":"date-time",
            "description":"The end date-time indicating when this metric is no longer in effect"
          },
          "effective_until":{
            "type":"string",
            "format":"date-time",
            "description":"The start date-time indicating when this metric takes effect"
          },
          "amounts":{
            "type":"array",
            "description":"The pricing per metric by country and currency",
            "items":{
              "$ref":"#/components/schemas/Amount"
            }
          },
          "additional_properties":{
              "type":"object",
              "description":"A property-bag like extension to metric metadata"
          }
        }
      },
      "Amount":{
        "description":"Country-specific pricing information",
        "type":"object",
        "properties":{
          "country":{
            "type":"string",
            "description":"Country"
          },
          "currency":{
            "type":"string",
            "description":"Currency"
          },
          "prices":{
            "type":"array",
            "description":"See Price for nested fields",
            "items":{
              "$ref":"#/components/schemas/Price"
            }
          }
        }
      },
      "Price":{
        "description":"Pricing-related information",
        "type":"object",
        "properties":{
          "quantity_tier":{
            "type":"integer",
            "description":"The quantity of _metric_ associated with the current price point"
          },
          "price":{
            "type":"number",
            "description":"Price in the selected currency"
          }
        }
      },
      "Provider":{
        "description":"Information related to the provider associated with a catalog entry",
        "type":"object",
        "required":[
          "email",
          "name"
        ],
        "properties":{
          "email":{
            "type":"string",
            "description":"Provider's email address for this catalog entry"
          },
          "name":{
            "type":"string",
            "description":"Provider's name, for example, IBM"
          },
          "contact":{
            "type":"string",
            "description":"Provider's contact name"
          },
          "support_email":{
            "type":"string",
            "description":"Provider's support email"
          },
          "phone":{
            "type":"string",
            "description":"Provider's contact phone"
          }
        }
      },
      "I18N":{
        "type":"object",
        "description":"Language specific translation of translation properties, like label and description",
        "additionalProperties":{
          "type":"object",
          "$ref":"#/components/schemas/Strings"
        }
      },
      "Strings":{
        "description":"Information related to a translated text message",
        "type":"object",
        "properties":{
          "bullets":{
            "description":"Presentation information related to list delimiters",
            "type":"array",
            "items":{
              "$ref":"#/components/schemas/Bullets"
            }
          },
          "media":{
            "description":"Media-related metadata",
            "type":"array",
            "items":{
              "$ref":"#/components/schemas/UIMetaMedia"
            }
          },
          "not_creatable_msg":{
            "type":"string",
            "description":"Warning that a message is not creatable."
          },
          "not_creatable__robot_msg":{
            "type":"string",
            "description":"Warning that a robot message is not creatable."
          },
          "deprecation_warning":{
            "type":"string",
            "description":"Warning for deprecation"
          },
          "popup_warning_message":{
            "type":"string",
            "description":"Popup warning message"
          },
          "instruction":{
            "type":"string",
            "description":"Instructions for UI strings"
          }
        }
      },
      "UIMetaMedia":{
        "description":"Media-related metadata",
        "type":"object",
        "properties":{
          "caption":{
            "type":"string",
            "description":"Caption for an image"
          },
          "thumbnail_url":{
            "type":"string",
            "description":"URL for thumbnail image"
          },
          "type":{
            "type":"string",
            "description":"Type of media"
          },
          "URL":{
            "type":"string",
            "description":"URL for media"
          },
          "source":{
            "type": "array",
            "description": "UI media source data for for UI media data",
            "items": {
              "$ref":"#/components/schemas/UIMediaSourceMetaData"
            }
          }
        }
      },
      "Image":{
        "type":"object",
        "description":"Image annotation for this catalog entry. The image is a URL",
        "required":[
          "image"
        ],
        "properties":{
          "image":{
            "type":"string",
            "description":"URL for the large, default image"
          },
          "small_image":{
            "type":"string",
            "description":"URL for a small image"
          },
          "medium_image":{
            "type":"string",
            "description":"URL for a medium image"
          },
          "feature_image":{
            "type":"string",
            "description":"URL for a featured image"
          }
        }
      },
      "Callbacks":{
        "description":"Callback-related information associated with a catalog entry.",
        "type":"object",
        "properties":{
          "controller_url":{
            "type":"string",
            "description":"The URL of the deployment controller"
          },
          "broker_url":{
            "type":"string",
            "description":"The URL of the deployment broker"
          },
          "broker_proxy_url":{
            "type":"string",
            "description":"The URL of the deployment broker SC proxy",
            "deprecated":true
          },
          "dashboard_url":{
            "type":"string",
            "description":"The URL of dashboard callback"
          },
          "dashboard_data_url":{
            "type":"string",
            "description":"The URL of dashboard data"
          },
          "dashboard_detail_tab_url":{
            "type":"string",
            "description":"The URL of the dashboard detail tab"
          },
          "dashboard_detail_tab_ext_url":{
            "type":"string",
            "description":"The URL of the dashboard detail tab extension"
          },
          "service_monitor_api":{
            "type":"string",
            "description":"Service monitor API URL"
          },
          "service_monitor_app":{
            "type":"string",
            "description":"Service monitor app URL"
          },
          "api_endpoint":{
            "description":"API endpoint",
            "type":"object",
            "additionalProperties":{
              "type":"string"
            }
          }
        }
      },
      "PaginatedSearchResult": {
        "description":"A paginated search result.",
        "type":"object",
        "properties":{
          "offset":{
            "type": "integer",
            "description": "The offset (origin 0) of the first resource in this page of search results."
          },
          "limit":{
            "type":"integer",
            "description":"The maximum number of resources returned in each page of search results."
          },
          "count":{
            "type":"integer",
            "description":"The overall total number of resources in the search result set."
          },
          "resource_count":{
            "type":"integer",
            "description":"The number of resources returned in this page of search results."
          },
          "first":{
            "type":"string",
            "description":"A URL for retrieving the first page of search results."
          },
          "last":{
            "type":"string",
            "description":"A URL for retrieving the last page of search results."
          },
          "prev":{
            "type":"string",
            "description":"A URL for retrieving the previous page of search results."
          },
          "next":{
            "type":"string",
            "description":"A URL for retrieving the next page of search results."
          }
        }
      },
      "PaginationLink": {
        "description": "A link within the paginated start search results.",
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "A URL for retrieving a page of search results."
          },
          "start": {
            "type": "string",
            "description": "The token for the page to retrieve with this link."
          }
        }
      },
      "PaginatedStartSearchResult": {
        "description":"A paginated search result using Start/tokenized format.",
        "type":"object",
        "properties":{
          "start":{
            "type": "string",
            "description": "The token of the first resource in this page of search results."
          },
          "limit":{
            "type":"integer",
            "description":"The maximum number of resources returned in each page of search results."
          },
          "resource_count":{
            "type":"integer",
            "description":"The number of resources returned in this page of search results."
          },
          "first":{
            "$ref":"#/components/schemas/PaginationLink",
            "description":"A link for retrieving the first page of search results."
          },
          "next":{
            "$ref":"#/components/schemas/PaginationLink",
            "description":"A link for retrieving the next page of search results."
          }
        }
      },
      "EntrySearchResult": {
        "description":"A paginated search result containing catalog entries.",
        "allOf":[
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaginatedSearchResult"
              },
              {
                "$ref": "#/components/schemas/PaginatedStartSearchResult"
              }
            ]             
          },
          {
            "type":"object",
            "properties":{
              "resources":{
                "type":"array",
                "description":"The resources (catalog entries) contained in this page of search results.",
                "items":{
                  "$ref":"#/components/schemas/CatalogEntry"
                }
              }
            }
          }
        ]
      },
      "AuditSearchResult":{
        "description":"A paginated search result containing audit logs.",
        "allOf":[
          {
            "$ref": "#/components/schemas/PaginatedSearchResult"
          },
          {
            "type":"object",
            "properties":{
              "resources":{
                "type":"array",
                "description":"The resources (audit messages) contained in this page of search results.",
                "items":{
                  "$ref":"#/components/schemas/Message"
                }
              }
            }
          }
        ]
      },
      "PricingSearchResult": {
        "description":"A paginated result containing pricing entries.",
        "allOf":[
          {
            "$ref": "#/components/schemas/PaginatedSearchResult"
          },
          {
            "type":"object",
            "properties":{
              "resources":{
                "type":"array",
                "description":"The resources (prices) contained in this page of search results.",
                "items":{
                  "$ref":"#/components/schemas/PricingGet"
                }
              }
            }
          }
        ]
      }, 
      "URLS":{
        "type":"object",
        "description":"UI based URLs",
        "properties":{
          "doc_url":{
            "type":"string",
            "description":"URL for documentation"
          },
          "instructions_url":{
            "type":"string",
            "description":"URL for usage instructions"
          },
          "api_url":{
            "type":"string",
            "description":"API URL"
          },
          "create_url":{
            "type":"string",
            "description":"URL Creation UI / API"
          },
          "sdk_download_url":{
            "type":"string",
            "description":"URL to downlaod an SDK"
          },
          "terms_url":{
            "type":"string",
            "description":"URL to the terms of use for your service"
          },
          "custom_create_page_url":{
            "type":"string",
            "description":"URL to the custom create page for your service"
          },
          "catalog_details_url":{
            "type":"string",
            "description":"URL to the catalog details page for your service"
          },
          "deprecation_doc_url":{
            "type":"string",
            "description":"URL for deprecation documentation"
          },
          "dashboard_url": {
            "type":"string",
            "description":"URL for dashboard"
          },
          "registration_url": {
            "type":"string",
            "description":"URL for registration"
          },
          "apidocsurl": {
            "type":"string",
            "description":"URL for API documentation"
          }
        }
      },
      "Artifacts":{
        "type":"object",
        "description":"Artifacts List",
        "properties":{
          "count":{
            "type":"integer",
            "description":"The total number of artifacts"
          },
          "resources":{
            "description":"The list of artifacts",
            "type":"array",
            "items":{
              "$ref":"#/components/schemas/Artifact"
            }
          }
        }
      },
      "Artifact":{
        "type":"object",
        "description":"Artifact Details",
        "properties":{
          "name":{
            "type":"string",
            "description":"The name of the artifact"
          },
          "updated":{
            "type":"string",
            "format":"date-time",
            "description":"The timestamp of the last update to the artifact"
          },
          "url":{
            "type":"string",
            "description":"The url for the artifact"
          },
          "etag":{
            "type":"string",
            "description":"The etag of the artifact"
          },
          "size":{
            "type":"integer",
            "description":"The content length of the artifact"
          }
        }
      },
      "Message": {
        "type":"object",
        "description": "log object describing who did what",
        "properties": {
          "id":{
            "type": "string",
            "description": "id of catalog entry"
          },
          "effective":{
            "$ref":"#/components/schemas/Visibility"
          },
          "time":{
            "type": "string",
            "format":"date-time",
            "description": "time of action"
          },
          "who_id":{
            "type": "string",
            "description": "user ID of person who did action"
          },
          "who_name":{
            "type": "string",
            "description": "name of person who did action"
          },
          "who_email":{
            "type": "string",
            "description": "user email of person who did action"
          },
          "instance":{
            "type": "string",
            "description": "Global catalog instance where this occured"
          },
          "gid":{
            "type": "string",
            "description": "transaction id associatd with action"
          },
          "type":{
            "type": "string",
            "description": "type of action taken"
          },
          "message":{
            "type": "string",
            "description": "message describing action"
          },
          "data": {
            "type": "object",
            "description": "An object containing details on changes made to object data.",
            "additionalProperties": true
          }
        }
      }
    }
  }
}
