{
  "openapi": "3.0.0",
  "info": {
    "description": "## IBM Cloud Container Registry API\n\n## Introduction\n\nIBM Cloud® Container Registry provides a multi-tenant, highly available, and scalable private image registry that is hosted and managed by IBM. You can use the private registry by setting up your own image namespace and pushing container images to your namespace.\n\nFor more information about IBM Cloud Container Registry, see [About IBM Cloud Container Registry](https://cloud.ibm.com/docs/Registry?topic=Registry-registry_overview#registry_overview).\n\nFor more information about IBM Cloud Kubernetes Service, see [Getting started with IBM Cloud Kubernetes Service](https://cloud.ibm.com/docs/containers?topic=containers-getting-started).\n\n## SDKs\n\nSDKs for Java, Node, Python, and Go are available for this API. The client libraries that are provided by the SDKs implement best practices for using the API and reduce the amount of code that you need to write. The tab for each language includes code examples that demonstrate how to use the client libraries.\n\nThe code examples on this tab use the client library that is provided for Node.js.\n\n```bash\nnpm install @ibm-cloud/ibm-container-registry\n```\n\nGitHub\n\nhttps://github.com/IBM/container-registry-node-sdk\n\nThe code examples on this tab use the client library that is provided for Go.\n\n```bash\ngo get -u github.com/IBM/container-registry-go-sdk\n```\n\nGitHub\n\nhttps://github.com/IBM/container-registry-go-sdk\n\nThe code examples on this tab use the client library that is provided for Python.\n\n```bash\npip install --upgrade \"ibm-container-registry\"\n```\n\nGitHub\n\nhttps://github.com/IBM/container-registry-python-sdk\n\nThe code examples on this tab use the client library that is provided for Java.\n\nGradle\n\n```groovy\ncompile group: 'com.ibm.cloud', name: 'container-registry', version: '1.+'\n```\n\nMaven\n\n[Maven installation instructions](https://github.com/IBM/container-registry-java-sdk/#maven)\n\nGitHub\n\nhttps://github.com/IBM/container-registry-java-sdk\n\n## Endpoint URL\n\nThe endpoint for the IBM Cloud Container Registry API is in the format: `https://<registry_dns_name>` For example, the API endpoint for Dallas is: `https://us.icr.io` To find out about the available IBM Cloud Container Registry DNS names, see [Regions](https://cloud.ibm.com/docs/Registry?topic=Registry-registry_overview#registry_regions).\n\nIf you want to find the endpoint for the registry that you are currently targeting, run the [`ibmcloud cr api`](https://cloud.ibm.com/docs/Registry?topic=Registry-containerregcli#bx_cr_api) command.\n\n## Authentication\n\nAccess to IBM Cloud Container Registry is controlled by using IBM Cloud Identity and Access Management (IAM), which provides a unified approach to managing user identities and access control across your IBM Cloud services and applications.\n\nThis API requires IBM Cloud Identity and Access Management (IAM) authentication. You must pass an IAM token in the Authorization header of the request. You can retrieve your IAM access token, which is prefixed with `Bearer`, by running the [`ibmcloud iam oauth-tokens`](https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_commands_iam#ibmcloud_iam_oauth_tokens) command. You must also set the Account header to the unique ID for your IBM Cloud account. You can retrieve your Account ID by running the [`ibmcloud account show`](https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_commands_account#ibmcloud_account_show) command.\n\nTo call each method, you must be assigned a role that includes the required IAM actions. Each method lists the associated action. For more information about IAM actions and how they map to roles, see [Managing access for IBM Cloud Container Registry](https://cloud.ibm.com/docs/Registry?topic=Registry-iam).\n\n## Auditing\n\nYou can monitor API activity within your account by using the IBM Cloud Activity Tracker Event Routing service. Whenever an API method is called, an event is generated that you can then track and audit from within IBM Cloud Activity Tracker Event Routing. The specific event type is listed for each individual method.\nFor more information about how to track IBM Cloud Container Registry activity, see [Activity tracking events for Container Registry](https://cloud.ibm.com/docs/Registry?topic=Registry-at_events).\n\nFor more information about IAM actions and IBM Cloud Activity Tracker Event Routing actions by API method, see [IAM and activity tracker auditing event actions by API method for Container Registry](https://cloud.ibm.com/docs/Registry?topic=Registry-registry_at_iam).\n\n## Error handling\n\nThe IBM Cloud Container Registry service uses standard HTTP response codes to indicate whether a method completed successfully.\n\n- A `200` response always indicates success.\n- A `400` type response indicates a bad request that you must change before retrying.\n- A `500` type response usually indicates an internal system error.\n\n## Related APIs\n\n- [Vulnerability Advisor 4 for IBM Cloud Container Registry API](https://cloud.ibm.com/apidocs/vulnerability-advisor)\n- [IBM Cloud Kubernetes Service and Red Hat OpenShift on IBM Cloud API](https://cloud.ibm.com/apidocs/kubernetes/containers-v1-v2)",
    "title": "IBM Cloud Container Registry API",
    "termsOfService": "https://cloud.ibm.com/docs/overview?topic=overview-terms",
    "license": {
      "name": "(C) Copyright IBM Corp. 2017, 2021 All Rights Reserved."
    },
    "version": "1.1",
    "x-alternate-name": "Container Registry",
    "x-codegen-config": {
      "improvedNameFormattingV2": true,
      "go": {
        "apiPackage": "github.com/IBM/container-registry-go-sdk"
      },
      "terraform": {
        "apiEndpoint": "IBMCLOUD_CR_API_ENDPOINT",
        "subcategory": "Container Registry"
      }
    },
    "x-github": "https://github.ibm.com/cloud-api-docs/container-registry",
    "x-github-issues": "https://github.ibm.com/cloud-api-docs/container-registry/issues/new",
    "x-last-updated": "2025-11-19"
  },
  "servers": [
    {
      "description": "global",
      "x-ibm-region": "global",
      "url": "https://icr.io"
    },
    {
      "description": "us-south",
      "x-ibm-region": "us-south",
      "url": "https://us.icr.io"
    },
    {
      "description": "uk-south",
      "x-ibm-region": "uk-south",
      "url": "https://uk.icr.io"
    },
    {
      "description": "eu-gb",
      "x-ibm-region": "eu-gb",
      "url": "https://uk.icr.io"
    },
    {
      "description": "eu-central",
      "x-ibm-region": "eu-central",
      "url": "https://de.icr.io"
    },
    {
      "description": "eu-de",
      "x-ibm-region": "eu-de",
      "url": "https://de.icr.io"
    },
    {
      "description": "ap-north",
      "x-ibm-region": "ap-north",
      "url": "https://jp.icr.io"
    },
    {
      "description": "jp-tok",
      "x-ibm-region": "jp-tok",
      "url": "https://jp.icr.io"
    },
    {
      "description": "ap-south",
      "x-ibm-region": "ap-south",
      "url": "https://au.icr.io"
    },
    {
      "description": "au-syd",
      "x-ibm-region": "au-syd",
      "url": "https://au.icr.io"
    },
    {
      "description": "jp-osa",
      "x-ibm-region": "jp-osa",
      "url": "https://jp2.icr.io"
    },
    {
      "description": "ca-tor",
      "x-ibm-region": "ca-tor",
      "url": "https://ca.icr.io"
    },
    {
      "description": "br-sao",
      "x-ibm-region": "br-sao",
      "url": "https://br.icr.io"
    }
  ],
  "security": [
    {
      "IAM": []
    }
  ],
  "tags": [
    {
      "name": "Authorization"
    },
    {
      "name": "Builds"
    },
    {
      "name": "Images"
    },
    {
      "name": "Messages"
    },
    {
      "name": "Namespaces"
    },
    {
      "name": "Plans"
    },
    {
      "name": "Quotas"
    },
    {
      "name": "Retentions"
    },
    {
      "name": "Settings"
    },
    {
      "name": "Tags"
    },
    {
      "name": "Trash"
    }
  ],
  "paths": {
    "/api/v1/auth": {
      "get": {
        "tags": [
          "Authorization"
        ],
        "summary": "Get authorization options",
        "description": "Get authorization options for the targeted account.",
        "operationId": "get_auth",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthOptions"
                },
                "example": {
                  "iam_authz": true,
                  "private_only": false
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/auth' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getAuthOptions := containerRegistryService.NewGetAuthOptions()\n",
                      "\n",
                      "authOptions, response, err := containerRegistryService.GetAuth(getAuthOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(authOptions, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.getAuth({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "auth_options = container_registry_service.get_auth().get_result()\n",
                      "\n",
                      "print(json.dumps(auth_options, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetAuthOptions getAuthOptions = new GetAuthOptions();\n",
                      "\n",
                      "Response<AuthOptions> response = service.getAuth(getAuthOptions).execute();\n",
                      "AuthOptions authOptions = response.getResult();\n",
                      "\n",
                      "System.out.println(authOptions);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Authorization"
        ],
        "summary": "Update authorization options",
        "description": "Update authorization options for the targeted account.",
        "operationId": "update_auth",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthOptions"
              },
              "example": {
                "iam_authz": true
              }
            }
          },
          "description": "A JSON document containing the requested updates.",
          "required": true
        },
        "x-codegen-request-body-name": "AuthorizationOptions",
        "responses": {
          "204": {
            "description": "Success"
          },
          "400": {
            "description": "A required header is missing or invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to perform the requested operation. You must have either Manager or Billing Manager roles on the targeted account to perform this action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X PATCH \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -d \"{\\\"iam_authz\\\":true}\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/auth' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateAuthOptions := containerRegistryService.NewUpdateAuthOptions()\n",
                      "updateAuthOptions.SetIamAuthz(true)\n",
                      "\n",
                      "response, err := containerRegistryService.UpdateAuth(updateAuthOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from UpdateAuth(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  iamAuthz: true,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.updateAuth(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.update_auth(\n",
                      "  iam_authz=True\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "UpdateAuthOptions updateAuthOptions = new UpdateAuthOptions.Builder()\n",
                      "  .iamAuthz(true)\n",
                      "  .build();\n",
                      "\n",
                      "service.updateAuth(updateAuthOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/settings": {
      "get": {
        "tags": [
          "Settings"
        ],
        "summary": "Get account settings",
        "description": "Get account settings for the targeted account.",
        "operationId": "get_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountSettings"
                },
                "example": {
                  "platform_metrics": false
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getSettingsOptions := containerRegistryService.NewGetSettingsOptions()\n",
                      "\n",
                      "accountSettings, response, err := containerRegistryService.GetSettings(getSettingsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(accountSettings, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.getSettings({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "account_settings = container_registry_service.get_settings().get_result()\n",
                      "\n",
                      "print(json.dumps(account_settings, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetSettingsOptions getSettingsOptions = new GetSettingsOptions();\n",
                      "\n",
                      "Response<AccountSettings> response = service.getSettings(getSettingsOptions).execute();\n",
                      "AccountSettings accountSettings = response.getResult();\n",
                      "\n",
                      "System.out.println(accountSettings);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Settings"
        ],
        "summary": "Update account settings",
        "description": "Update settings for the targeted account.",
        "operationId": "update_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountSettings"
              },
              "example": {
                "platform_metrics": true
              }
            }
          },
          "description": "A JSON document containing the requested updates.",
          "required": true
        },
        "x-codegen-request-body-name": "AccountSettings",
        "responses": {
          "204": {
            "description": "Success"
          },
          "400": {
            "description": "A required header is missing or invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to perform the requested operation. You must have either Manager or Billing Manager roles on the targeted account to perform this action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateSettingsOptions := containerRegistryService.NewUpdateSettingsOptions()\n",
                      "updateSettingsOptions.SetPlatformMetrics(true)\n",
                      "\n",
                      "response, err := containerRegistryService.UpdateSettings(updateSettingsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from UpdateSettings(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  platformMetrics: true,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.updateSettings(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.update_settings(\n",
                      "  platform_metrics=True\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "UpdateSettingsOptions updateSettingsOptions = new UpdateSettingsOptions.Builder()\n",
                      "  .platformMetrics(true)\n",
                      "  .build();\n",
                      "\n",
                      "service.updateSettings(updateSettingsOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/images": {
      "get": {
        "tags": [
          "Images"
        ],
        "summary": "List images",
        "description": "List all images in namespaces in a targeted IBM Cloud account.",
        "operationId": "list_images",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "Lists images that are stored in the specified namespace only. Query multiple namespaces by specifying this option for each namespace. If this option is not specified, images from all namespaces in the specified IBM Cloud account are listed.",
            "name": "namespace",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Includes IBM-provided public images in the list of images. If this option is not specified, private images are listed only. If this option is specified more than once, the last parsed setting is the setting that is used.",
            "name": "includeIBM",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Includes private images in the list of images. If this option is not specified, private images are listed. If this option is specified more than once, the last parsed setting is the setting that is used.",
            "name": "includePrivate",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Includes tags that reference multi-architecture manifest lists in the image list. If this option is not specified, tagged manifest lists are not shown in the list. If this option is specified more than once, the last parsed setting is the setting that is used.",
            "name": "includeManifestLists",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Displays Vulnerability Advisor status for the listed images. If this option is specified more than once, the last parsed setting is the setting that is used.",
            "name": "vulnerabilities",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Lists images that are stored in the specified repository, under your namespaces. Query multiple repositories by specifying this option for each repository. If this option is not specified, images from all repos are listed.",
            "name": "repository",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RemoteAPIImage"
                  }
                },
                "example": [
                  {
                    "Id": "sha256:11106fafa8005fdcf4641634220afe7bda9e6d86136d0c47902ff17d3324aaaa",
                    "ParentId": "",
                    "DigestTags": {
                      "sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bbbb": [
                        "us.icr.io/birds/woodpecker:greaterspotted"
                      ]
                    },
                    "RepoTags": [
                      "us.icr.io/birds/woodpecker:greaterspotted"
                    ],
                    "RepoDigests": [
                      "us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bbbb"
                    ],
                    "Created": 1588672695,
                    "Size": 760854,
                    "VirtualSize": 760854,
                    "Labels": {
                      "key": "value"
                    },
                    "Vulnerable": "true",
                    "VulnerabilityCount": 3,
                    "ConfigurationIssueCount": 0,
                    "IssueCount": 3,
                    "ExemptIssueCount": 0,
                    "ManifestType": "application/vnd.docker.distribution.manifest.v2+json"
                  },
                  {
                    "Id": "sha256:25877264d5cb6b656bd630431369c01a0969cb16c88103792036ed2a6599cccc",
                    "ParentId": "",
                    "DigestTags": {
                      "sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd": [
                        "us.icr.io/birds/woodpecker:green",
                        "us.icr.io/birds/woodpecker:latest",
                        "us.icr.io/birds/bird:greenwoodpecker",
                        "us.icr.io/favouritebirds/woodpecker:green"
                      ]
                    },
                    "RepoTags": [
                      "us.icr.io/birds/woodpecker:green",
                      "us.icr.io/birds/woodpecker:latest",
                      "us.icr.io/birds/bird:greenwoodpecker",
                      "us.icr.io/favouritebirds/woodpecker:green"
                    ],
                    "RepoDigests": [
                      "us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd",
                      "us.icr.io/birds/bird@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd",
                      "us.icr.io/favouritebirds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd"
                    ],
                    "Created": 1520977035,
                    "Size": 9541618,
                    "VirtualSize": 9541618,
                    "Labels": {
                      "key": "value"
                    },
                    "Vulnerable": "false",
                    "VulnerabilityCount": 0,
                    "ConfigurationIssueCount": 0,
                    "IssueCount": 0,
                    "ExemptIssueCount": 0,
                    "ManifestType": "application/vnd.docker.distribution.manifest.v2+json"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to the specified namespace. Choose another namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "No namespaces were found for the targeted account. Add a namespace or target a different account. Alternatively, specify the option to include IBM-provided public images.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/images?includeIBM=false&includePrivate=true&includeManifestLists=true&vulnerabilities=true' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listImagesOptions := containerRegistryService.NewListImagesOptions()\n",
                      "\n",
                      "remoteAPIImage, response, err := containerRegistryService.ListImages(listImagesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(remoteAPIImage, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.listImages({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "list_remote_api_image = container_registry_service.list_images().get_result()\n",
                      "\n",
                      "print(json.dumps(list_remote_api_image, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ListImagesOptions listImagesOptions = new ListImagesOptions.Builder()\n",
                      "  .build();\n",
                      "\n",
                      "Response<List<RemoteAPIImage>> response = service.listImages(listImagesOptions).execute();\n",
                      "List<RemoteAPIImage> listRemoteApiImage = response.getResult();\n",
                      "\n",
                      "System.out.println(listRemoteApiImage);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/images/bulkdelete": {
      "post": {
        "tags": [
          "Images"
        ],
        "summary": "Bulk delete images",
        "description": "Remove multiple container images from the registry.",
        "operationId": "bulk_delete_images",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bulkDeleteInput"
              },
              "example": [
                "us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bbbb",
                "us.icr.io/birds/bird@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd"
              ]
            }
          },
          "description": "The full IBM Cloud registry path to the images that you want to delete, including its digest. All tags for the supplied digest are removed.",
          "required": true
        },
        "x-codegen-request-body-name": "BulkDelete",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageBulkDeleteResult"
                },
                "example": {
                  "success": [
                    "us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bbbb"
                  ],
                  "error": {
                    "us.icr.io/birds/bird@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bdbd": {
                      "code": "CRI0103E",
                      "message": "The image was not found. Correct the image name or digest reference, and try again."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X POST \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  -d \"[\\\"us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bbbb\\\",\\\"us.icr.io/birds/bird@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd\\\"]\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/images/bulkdelete' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "bulkDeleteImagesOptions := containerRegistryService.NewBulkDeleteImagesOptions(\n",
                      "  []string{\"image name\"},\n",
                      ")\n",
                      "\n",
                      "imageBulkDeleteResult, response, err := containerRegistryService.BulkDeleteImages(bulkDeleteImagesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(imageBulkDeleteResult, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  bulkDelete: ['image name'],\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.bulkDeleteImages(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "image_bulk_delete_result = container_registry_service.bulk_delete_images(\n",
                      "  bulk_delete=['image name']\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(image_bulk_delete_result, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "BulkDeleteImagesOptions bulkDeleteImagesOptions = new BulkDeleteImagesOptions.Builder()\n",
                      "  .bulkDelete(new java.util.ArrayList<String>(java.util.Arrays.asList(\"image name\")))\n",
                      "  .build();\n",
                      "\n",
                      "Response<ImageBulkDeleteResult> response = service.bulkDeleteImages(bulkDeleteImagesOptions).execute();\n",
                      "ImageBulkDeleteResult imageBulkDeleteResult = response.getResult();\n",
                      "\n",
                      "System.out.println(imageBulkDeleteResult);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/images/digests": {
      "post": {
        "tags": [
          "Images"
        ],
        "summary": "List images by digest",
        "description": "List all images by digest in namespaces in a targeted IBM Cloud account.",
        "operationId": "list_image_digests",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListImageDigestOptions"
              },
              "example": {
                "exclude_tagged": false,
                "exclude_va": false,
                "include_ibm": false
              }
            }
          },
          "description": "A JSON document containing the list options.",
          "required": true
        },
        "x-codegen-request-body-name": "ListOptions",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageDigestList"
                },
                "example": [
                  {
                    "id": "sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bbbb",
                    "repoTags": {
                      "us.icr.io/birds/woodpecker": {
                        "greaterspotted": {
                          "vulnerable": "true",
                          "vulnerabilityCount": 3,
                          "configurationIssueCount": 0,
                          "issueCount": 3,
                          "exemptIssueCount": 0
                        }
                      }
                    },
                    "created": 1568815884,
                    "size": 6762886,
                    "manifestType": "application/vnd.docker.distribution.manifest.v2+json"
                  },
                  {
                    "id": "sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd",
                    "repoTags": {
                      "us.icr.io/birds/woodpecker": {
                        "green": {
                          "vulnerable": "false",
                          "vulnerabilityCount": 0,
                          "configurationIssueCount": 0,
                          "issueCount": 0,
                          "exemptIssueCount": 0
                        },
                        "latest": {
                          "vulnerable": "false",
                          "vulnerabilityCount": 0,
                          "configurationIssueCount": 0,
                          "issueCount": 0,
                          "exemptIssueCount": 0
                        }
                      },
                      "us.icr.io/birds/bird": {
                        "greenwoodpecker": {
                          "vulnerable": "false",
                          "vulnerabilityCount": 0,
                          "configurationIssueCount": 0,
                          "issueCount": 0,
                          "exemptIssueCount": 0
                        }
                      },
                      "us.icr.io/favouritebirds/woodpecker": {
                        "green": {
                          "vulnerable": "false",
                          "vulnerabilityCount": 0,
                          "configurationIssueCount": 0,
                          "issueCount": 0,
                          "exemptIssueCount": 0
                        }
                      }
                    },
                    "created": 1546305670,
                    "size": 755724,
                    "manifestType": "application/vnd.docker.distribution.manifest.v2+json"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to the specified namespace. Choose another namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "No namespaces were found for the targeted account. Add a namespace or target a different account. Alternatively, specify the option to include IBM-provided public images.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X POST \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  -d \"{\\\"exclude_tagged\\\":false,\\\"exclude_va\\\":false,\\\"include_ibm\\\":false,\\\"repositories\\\":null}\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/images/digests' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listImageDigestsOptions := containerRegistryService.NewListImageDigestsOptions()\n",
                      "listImageDigestsOptions.SetExcludeTagged(false)\n",
                      "listImageDigestsOptions.SetExcludeVa(false)\n",
                      "listImageDigestsOptions.SetIncludeIBM(false)\n",
                      "\n",
                      "imageDigest, response, err := containerRegistryService.ListImageDigests(listImageDigestsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(imageDigest, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  excludeTagged: false,\n",
                      "  excludeVa: false,\n",
                      "  includeIbm: false,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.listImageDigests(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "list_image_digest = container_registry_service.list_image_digests(\n",
                      "  exclude_tagged=False,\n",
                      "  exclude_va=False,\n",
                      "  include_ibm=False\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(list_image_digest, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ListImageDigestsOptions listImageDigestsOptions = new ListImageDigestsOptions.Builder()\n",
                      "  .excludeTagged(false)\n",
                      "  .excludeVa(false)\n",
                      "  .includeIbm(false)\n",
                      "  .build();\n",
                      "\n",
                      "Response<List<ImageDigest>> response = service.listImageDigests(listImageDigestsOptions).execute();\n",
                      "List<ImageDigest> listImageDigest = response.getResult();\n",
                      "\n",
                      "System.out.println(listImageDigest);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/images/tags": {
      "post": {
        "tags": [
          "Images"
        ],
        "summary": "Create tag",
        "description": "Create a new tag in a private registry that refers to an existing image in the same region. If the fromimage has Red Hat® signatures and the toimage is in a different repository, those signatures are copied to that repository.",
        "operationId": "tag_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The name of the image that you want to create a new tag for, in the format &lt;REPOSITORY&gt;:&lt;TAG&gt;. Run `ibmcloud cr images` or call the `GET /images/json` endpoint to review images that are in the registry.",
            "name": "fromimage",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The new tag for the image, in the format &lt;REPOSITORY&gt;:&lt;TAG&gt;.",
            "name": "toimage",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Success"
          },
          "400": {
            "description": "There was a problem with the input. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have authorization to access the specified namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X POST \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/images/tags?fromimage=us.icr.io%2Fbirds%2Fwoodpecker%3Agreen&toimage=us.icr.io%2Fbirds%2Fwoodpecker%3Alatest' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "tagImageOptions := containerRegistryService.NewTagImageOptions(\n",
                      "  \"from image name\",\n",
                      "  \"to image name\",\n",
                      ")\n",
                      "\n",
                      "response, err := containerRegistryService.TagImage(tagImageOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 201 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from TagImage(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  fromimage: 'from image name',\n",
                      "  toimage: 'to image name',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.tagImage(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.tag_image(\n",
                      "  fromimage='from image name',\n",
                      "  toimage='to image name'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "TagImageOptions tagImageOptions = new TagImageOptions.Builder()\n",
                      "  .fromimage(\"from image name\")\n",
                      "  .toimage(\"to image name\")\n",
                      "  .build();\n",
                      "\n",
                      "service.tagImage(tagImageOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/images/{image}": {
      "delete": {
        "tags": [
          "Images"
        ],
        "summary": "Delete image",
        "description": "Delete a container image from the registry.",
        "operationId": "delete_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The full IBM Cloud registry path to the image that you want to delete, including its tag. If you do not provide a specific tag, the version with the `latest` tag is removed.",
            "name": "image",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageDeleteResult"
                },
                "example": {
                  "Untagged": "sha256:b44b210e565c7871aed1c1155527ca0782be82153f9ebe12786e7b992151dddd"
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have authorization to access the specified namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "The specified image was not found. Check the spelling of the specified image.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X DELETE \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/images/us.icr.io%2Fbirds%2Fdodo%3Alatest' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteImageOptions := containerRegistryService.NewDeleteImageOptions(\n",
                      "  \"image name\",\n",
                      ")\n",
                      "\n",
                      "imageDeleteResult, response, err := containerRegistryService.DeleteImage(deleteImageOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(imageDeleteResult, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  image: 'image name',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.deleteImage(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "image_delete_result = container_registry_service.delete_image(\n",
                      "  image='image name'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(image_delete_result, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "DeleteImageOptions deleteImageOptions = new DeleteImageOptions.Builder()\n",
                      "  .image(\"image name\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<ImageDeleteResult> response = service.deleteImage(deleteImageOptions).execute();\n",
                      "ImageDeleteResult imageDeleteResult = response.getResult();\n",
                      "\n",
                      "System.out.println(imageDeleteResult);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/images/{image}/json": {
      "get": {
        "tags": [
          "Images"
        ],
        "summary": "Inspect an image",
        "description": "Inspect a container image in the private registry.",
        "operationId": "inspect_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The full IBM Cloud registry path to the image that you want to inspect. Run `ibmcloud cr images` or call the `GET /images/json` endpoint to review images that are in the registry.",
            "name": "image",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageInspection"
                },
                "example": {
                  "Id": "sha256:11106fafa8005fdcf4641634220afe7bda9e6d86136d0c47902ff17d3324aaaa",
                  "Parent": "",
                  "Comment": "",
                  "Created": "2020-05-05T09:58:15.763923649Z",
                  "Container": "3a23849e2c3e754193c5148caa67ce83cd05541d162b05e39a02cdf9261cbbbb",
                  "ContainerConfig": {
                    "Hostname": "3a23849ecccc",
                    "Domainname": "",
                    "User": "",
                    "AttachStdin": false,
                    "AttachStdout": false,
                    "AttachStderr": false,
                    "ExposedPorts": {
                      "1234/tcp": {},
                      "5678/tcp": {}
                    },
                    "Tty": false,
                    "OpenStdin": false,
                    "StdinOnce": false,
                    "Env": [
                      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                    ],
                    "Cmd": [
                      "/bin/sh",
                      "-c",
                      "#(nop) ",
                      "LABEL key=value"
                    ],
                    "Image": "sha256:b44b210e565c7871aed1c1155527ca0782be82153f9ebe12786e7b992151dddd",
                    "Volumes": {
                      "/etc/apache2": {},
                      "/var/log/apache2": {},
                      "/var/www": {}
                    },
                    "WorkingDir": "",
                    "Entrypoint": [
                      "/usr/sbin/somecmd",
                      "-D",
                      "FOREGROUND"
                    ],
                    "OnBuild": [
                      "RUN echo example"
                    ],
                    "Labels": {
                      "key": "value"
                    }
                  },
                  "DockerVersion": "19.03.5",
                  "Author": "",
                  "Config": {
                    "Hostname": "",
                    "Domainname": "",
                    "User": "",
                    "AttachStdin": false,
                    "AttachStdout": false,
                    "AttachStderr": false,
                    "ExposedPorts": {
                      "1234/tcp": {},
                      "5678/tcp": {}
                    },
                    "Tty": false,
                    "OpenStdin": false,
                    "StdinOnce": false,
                    "Env": [
                      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                    ],
                    "Image": "sha256:b44b210e565c7871aed1c1155527ca0782be82153f9ebe12786e7b992151dddd",
                    "Volumes": {
                      "/etc/apache2": {},
                      "/var/log/apache2": {},
                      "/var/www": {}
                    },
                    "WorkingDir": "",
                    "Entrypoint": [
                      "/usr/sbin/somecmd",
                      "-D",
                      "FOREGROUND"
                    ],
                    "OnBuild": [
                      "RUN echo example"
                    ],
                    "Labels": {
                      "key": "value"
                    }
                  },
                  "Architecture": "amd64",
                  "Os": "linux",
                  "Size": 760854,
                  "VirtualSize": 760854,
                  "RootFS": {
                    "Type": "layers",
                    "Layers": [
                      "sha256:5b0d2d635df829f65d0ffb45eab2c3124a470c4f385d6602bda0c21c5248eeee"
                    ]
                  },
                  "ManifestType": "application/vnd.docker.distribution.manifest.v2+json"
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have authorization to access the specified namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "The specified image was not found. Check the spelling of the specified image.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/images/us.icr.io%2Fbirds%2Fwoodpecker%3Agreen/json' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "inspectImageOptions := containerRegistryService.NewInspectImageOptions(\n",
                      "  \"image name\",\n",
                      ")\n",
                      "\n",
                      "imageInspection, response, err := containerRegistryService.InspectImage(inspectImageOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(imageInspection, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  image: 'image name',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.inspectImage(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "image_inspection = container_registry_service.inspect_image(\n",
                      "  image='image name'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(image_inspection, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "InspectImageOptions inspectImageOptions = new InspectImageOptions.Builder()\n",
                      "  .image(\"image name\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<ImageInspection> response = service.inspectImage(inspectImageOptions).execute();\n",
                      "ImageInspection imageInspection = response.getResult();\n",
                      "\n",
                      "System.out.println(imageInspection);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/images/{image}/manifest": {
      "get": {
        "tags": [
          "Images"
        ],
        "summary": "Get image manifest",
        "description": "Get the manifest for a container image in the private registry.",
        "operationId": "get_image_manifest",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The full IBM Cloud registry path to the image that you want to inspect. Run `ibmcloud cr images` or call the `GET /images/json` endpoint to review images that are in the registry.",
            "name": "image",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageManifest"
                },
                "example": {
                  "schemaVersion": 2,
                  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
                  "config": {
                    "mediaType": "application/vnd.docker.container.image.v1+json",
                    "size": 2297,
                    "digest": "sha256:11106fafa8005fdcf4641634220afe7bda9e6d86136d0c47902ff17d3324aaaa"
                  },
                  "layers": [
                    {
                      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                      "size": 760854,
                      "digest": "sha256:e2334dd9fee4b77e48a8f2d793904118a3acf26f1f2e72a3d79c6cae993ebbbb"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have authorization to access the specified namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "The specified image was not found. Check the spelling of the specified image.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/images/us.icr.io%2Fbirds%2Fwoodpecker%3Agreen/manifest' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getImageManifestOptions := containerRegistryService.NewGetImageManifestOptions(\n",
                      "  \"image name\",\n",
                      ")\n",
                      "\n",
                      "imageManifest, response, err := containerRegistryService.GetImageManifest(getImageManifestOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "// result contains a map[string]interface{} representation of the manifest\n",
                      "// The following test will simply check that it is a V2 manifest\n",
                      "Expect(imageManifest[\"schemaVersion\"]).To(Equal(float64(2)))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  image: 'image name',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.getImageManifest(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.get_image_manifest(\n",
                      "  image='image name'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetImageManifestOptions getImageManifestOptions = new GetImageManifestOptions.Builder()\n",
                      "  .image(\"image name\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<Map<String, Object>> response = service.getImageManifest(getImageManifestOptions).execute();\n",
                      "Map<String, Object> imageManifest = response.getResult();\n",
                      "\n",
                      "System.out.println(imageManifest);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/messages": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Get messages",
        "description": "Return any published system messages.",
        "operationId": "get_messages",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                },
                "example": "Hello, world!"
              }
            }
          },
          "204": {
            "description": "There are no messages to display."
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  --url 'https://icr.io/api/v1/messages' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getMessagesOptions := containerRegistryService.NewGetMessagesOptions()\n",
                      "\n",
                      "getMessagesResponse, response, err := containerRegistryService.GetMessages(getMessagesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(getMessagesResponse, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.getMessages({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "get_messages_response = container_registry_service.get_messages().get_result()\n",
                      "\n",
                      "print(json.dumps(get_messages_response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetMessagesOptions getMessagesOptions = new GetMessagesOptions();\n",
                      "\n",
                      "Response<String> response = service.getMessages(getMessagesOptions).execute();\n",
                      "String getMessagesResponse = response.getResult();\n",
                      "\n",
                      "System.out.println(getMessagesResponse);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/namespaces": {
      "get": {
        "tags": [
          "Namespaces"
        ],
        "summary": "List namespaces",
        "description": "List authorized namespaces in the targeted IBM Cloud account.",
        "operationId": "list_namespaces",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/namespaces"
                },
                "example": [
                  "birds",
                  "favouritebirds"
                ]
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/namespaces' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listNamespacesOptions := containerRegistryService.NewListNamespacesOptions()\n",
                      "\n",
                      "namespaces, response, err := containerRegistryService.ListNamespaces(listNamespacesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(namespaces, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.listNamespaces({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "result = container_registry_service.list_namespaces().get_result()\n",
                      "\n",
                      "print(json.dumps(result, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ListNamespacesOptions listNamespacesOptions = new ListNamespacesOptions();\n",
                      "\n",
                      "Response<List<String>> response = service.listNamespaces(listNamespacesOptions).execute();\n",
                      "List<String> result = response.getResult();\n",
                      "\n",
                      "System.out.println(result);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/namespaces/details": {
      "get": {
        "tags": [
          "Namespaces"
        ],
        "summary": "Detailed namespace list",
        "description": "Retrieves details, such as resource group, for all your namespaces in the targeted registry.",
        "operationId": "list_namespace_details",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NamespaceDetailsList"
                },
                "example": [
                  {
                    "name": "birds",
                    "account": "79c6d1c71fb1cbedc38ffc251ba2ffff",
                    "created_date": "2020-07-03 08:49:37",
                    "updated_date": "2020-07-03 08:49:37"
                  },
                  {
                    "name": "favouritebirds",
                    "account": "79c6d1c71fb1cbedc38ffc251ba2ffff",
                    "crn": "crn:v1:bluemix:public:container-registry:us-south:a/79c6d1c71fb1cbedc38ffc251ba2ffff::namespace:favouritebirds",
                    "resource_group": "c9cbad60c221eb1add958e1b14dcaaaa",
                    "resource_created_date": "2020-06-05 12:59:00",
                    "created_date": "2020-05-07 12:49:56",
                    "updated_date": "2020-06-05 12:59:00"
                  }
                ]
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/namespaces/details' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listNamespaceDetailsOptions := containerRegistryService.NewListNamespaceDetailsOptions()\n",
                      "\n",
                      "namespaceDetails, response, err := containerRegistryService.ListNamespaceDetails(listNamespaceDetailsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(namespaceDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.listNamespaceDetails({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "list_namespace_details = container_registry_service.list_namespace_details().get_result()\n",
                      "\n",
                      "print(json.dumps(list_namespace_details, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ListNamespaceDetailsOptions listNamespaceDetailsOptions = new ListNamespaceDetailsOptions();\n",
                      "\n",
                      "Response<List<NamespaceDetails>> response = service.listNamespaceDetails(listNamespaceDetailsOptions).execute();\n",
                      "List<NamespaceDetails> listNamespaceDetails = response.getResult();\n",
                      "\n",
                      "System.out.println(listNamespaceDetails);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/namespaces/{name}": {
      "put": {
        "tags": [
          "Namespaces"
        ],
        "summary": "Create namespace",
        "description": "Add a namespace to the targeted IBM Cloud account.",
        "operationId": "create_namespace",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The ID of the resource group to which you want to add the namespace.",
            "name": "X-Auth-Resource-Group",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "x-ibm-resource-group-id": true
          },
          {
            "description": "The name of the namespace that you want to create.",
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 4,
              "maxLength": 30,
              "pattern": "^[a-z0-9]+[a-z0-9_-]+[a-z0-9]+$"
            },
            "x-terraform-force-new": true
          }
        ],
        "responses": {
          "200": {
            "description": "The namespace is already assigned to your IBM Cloud account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Namespace"
                },
                "example": {
                  "namespace": "birds"
                }
              }
            },
            "links": {
              "namespace": {
                "$ref": "#/components/links/namespace"
              }
            }
          },
          "201": {
            "description": "The namespace was successfully added to your IBM Cloud account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Namespace"
                },
                "example": {
                  "namespace": "birds"
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing or invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "The requested namespace is blocklisted. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "409": {
            "description": "The requested namespace is already in use. Request a different namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X PUT \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"X-Auth-Resource-Group: <resource_group_ID>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/namespaces/birds' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createNamespaceOptions := containerRegistryService.NewCreateNamespaceOptions(\n",
                      "  \"my_example_namespace\",\n",
                      ")\n",
                      "\n",
                      "namespace, response, err := containerRegistryService.CreateNamespace(createNamespaceOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(namespace, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  name: 'my_example_namespace',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.createNamespace(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "namespace = container_registry_service.create_namespace(\n",
                      "  name='my_example_namespace'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(namespace, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "CreateNamespaceOptions createNamespaceOptions = new CreateNamespaceOptions.Builder()\n",
                      "  .name(\"my_example_namespace\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<Namespace> response = service.createNamespace(createNamespaceOptions).execute();\n",
                      "Namespace namespace = response.getResult();\n",
                      "\n",
                      "System.out.println(namespace);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Namespaces"
        ],
        "summary": "Assign namespace",
        "description": "Assign a namespace to the specified resource group in the targeted IBM Cloud account.",
        "operationId": "assign_namespace",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The ID of the resource group to which you want to add the namespace.",
            "name": "X-Auth-Resource-Group",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the namespace that you want to udpate.",
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The namespace was successfully assigned to the resource group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Namespace"
                },
                "example": {
                  "namespace": "birds"
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing or invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "The requested account does not own a namespace with the requested name. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "409": {
            "description": "The requested namespace is already assigned to a resource group. Namespaces cannot be reassigned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X PATCH \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"X-Auth-Resource-Group: <resource_group_ID>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/namespaces/birds' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "assignNamespaceOptions := containerRegistryService.NewAssignNamespaceOptions(\n",
                      "  \"Resource Group ID\",\n",
                      "  namespaceLink,\n",
                      ")\n",
                      "\n",
                      "namespace, response, err := containerRegistryService.AssignNamespace(assignNamespaceOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(namespace, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  xAuthResourceGroup: 'Resource Group ID',\n",
                      "  name: namespaceLink,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.assignNamespace(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "namespace = container_registry_service.assign_namespace(\n",
                      "  x_auth_resource_group='Resource Group ID',\n",
                      "  name=namespace_link\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(namespace, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "AssignNamespaceOptions assignNamespaceOptions = new AssignNamespaceOptions.Builder()\n",
                      "  .xAuthResourceGroup(\"Resource Group ID\")\n",
                      "  .name(namespaceLink)\n",
                      "  .build();\n",
                      "\n",
                      "Response<Namespace> response = service.assignNamespace(assignNamespaceOptions).execute();\n",
                      "Namespace namespace = response.getResult();\n",
                      "\n",
                      "System.out.println(namespace);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Namespaces"
        ],
        "summary": "Delete namespace",
        "description": "Delete the IBM Cloud Container Registry namespace from the targeted IBM Cloud account, and removes all images that were in that namespace.",
        "operationId": "delete_namespace",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The name of the namespace that you want to delete.",
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-linkback": "#/components/links/namespace"
          }
        ],
        "responses": {
          "204": {
            "description": "Success."
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "Your IBM Cloud bearer token is not valid for the targeted account. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "The specified namespace is not owned by the targeted account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X DELETE \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/namespaces/birds' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteNamespaceOptions := containerRegistryService.NewDeleteNamespaceOptions(\n",
                      "  namespaceLink,\n",
                      ")\n",
                      "\n",
                      "response, err := containerRegistryService.DeleteNamespace(deleteNamespaceOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteNamespace(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  name: namespaceLink,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.deleteNamespace(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.delete_namespace(\n",
                      "  name=namespace_link\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "DeleteNamespaceOptions deleteNamespaceOptions = new DeleteNamespaceOptions.Builder()\n",
                      "  .name(namespaceLink)\n",
                      "  .build();\n",
                      "\n",
                      "service.deleteNamespace(deleteNamespaceOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/plans": {
      "get": {
        "tags": [
          "Plans"
        ],
        "summary": "Get plans",
        "description": "Get plans for the targeted account.",
        "operationId": "get_plans",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Plan"
                },
                "example": {
                  "plan": "Free"
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/plans' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getPlansOptions := containerRegistryService.NewGetPlansOptions()\n",
                      "\n",
                      "plan, response, err := containerRegistryService.GetPlans(getPlansOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(plan, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.getPlans({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "plan = container_registry_service.get_plans().get_result()\n",
                      "\n",
                      "print(json.dumps(plan, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetPlansOptions getPlansOptions = new GetPlansOptions();\n",
                      "\n",
                      "Response<Plan> response = service.getPlans(getPlansOptions).execute();\n",
                      "Plan plan = response.getResult();\n",
                      "\n",
                      "System.out.println(plan);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Plans"
        ],
        "summary": "Update plans",
        "description": "Update plans for the targeted account.",
        "operationId": "update_plans",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Plan"
              },
              "example": {
                "plan": "Standard"
              }
            }
          },
          "description": "A JSON document containing the requested updates.",
          "required": true
        },
        "x-codegen-request-body-name": "PlanUpgrade",
        "responses": {
          "200": {
            "description": "Success."
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to perform the requested operation. You must have either Manager or Billing Manager roles on the targeted account to perform this action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X PATCH \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -d \"{\\\"plan\\\":\\\"Standard\\\"}\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/plans' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updatePlansOptions := containerRegistryService.NewUpdatePlansOptions()\n",
                      "updatePlansOptions.SetPlan(\"Standard\")\n",
                      "\n",
                      "response, err := containerRegistryService.UpdatePlans(updatePlansOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 200 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from UpdatePlans(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  plan: 'Standard',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.updatePlans(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.update_plans(\n",
                      "  plan='Standard'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "UpdatePlansOptions updatePlansOptions = new UpdatePlansOptions.Builder()\n",
                      "  .plan(\"Standard\")\n",
                      "  .build();\n",
                      "\n",
                      "service.updatePlans(updatePlansOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/quotas": {
      "get": {
        "tags": [
          "Quotas"
        ],
        "summary": "Get quotas",
        "description": "Get quotas for the targeted account.",
        "operationId": "get_quota",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Quota"
                },
                "example": {
                  "usage": {
                    "storage_bytes": 760984
                  },
                  "limit": {
                    "traffic_bytes": 5368709120,
                    "storage_bytes": 524288000
                  }
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/quotas' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getQuotaOptions := containerRegistryService.NewGetQuotaOptions()\n",
                      "\n",
                      "quota, response, err := containerRegistryService.GetQuota(getQuotaOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(quota, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.getQuota({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "quota = container_registry_service.get_quota().get_result()\n",
                      "\n",
                      "print(json.dumps(quota, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetQuotaOptions getQuotaOptions = new GetQuotaOptions();\n",
                      "\n",
                      "Response<Quota> response = service.getQuota(getQuotaOptions).execute();\n",
                      "Quota quota = response.getResult();\n",
                      "\n",
                      "System.out.println(quota);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Quotas"
        ],
        "summary": "Update quotas",
        "description": "Update quotas for the targeted account.",
        "operationId": "update_quota",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuotaUpdate"
              },
              "example": {
                "traffic_megabytes": 480
              }
            }
          },
          "description": "A JSON document containing the requested updates.",
          "required": true
        },
        "x-codegen-request-body-name": "Quota",
        "responses": {
          "200": {
            "description": "Success."
          },
          "400": {
            "description": "A required header is missing or invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to perform the requested operation. You must have either Manager or Billing Manager roles on the targeted account to perform this action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X PATCH \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -d \"{\\\"traffic_megabytes\\\":480}\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/quotas' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateQuotaOptions := containerRegistryService.NewUpdateQuotaOptions()\n",
                      "updateQuotaOptions.SetTrafficMegabytes(int64(480))\n",
                      "\n",
                      "response, err := containerRegistryService.UpdateQuota(updateQuotaOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 200 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from UpdateQuota(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  trafficMegabytes: 480,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.updateQuota(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.update_quota(\n",
                      "  traffic_megabytes=480\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "UpdateQuotaOptions updateQuotaOptions = new UpdateQuotaOptions.Builder()\n",
                      "  .trafficMegabytes(Long.valueOf(\"480\"))\n",
                      "  .build();\n",
                      "\n",
                      "service.updateQuota(updateQuotaOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/retentions": {
      "get": {
        "tags": [
          "Retentions"
        ],
        "summary": "List retention policies",
        "description": "List retention policies for all namespaces in the targeted IBM Cloud account.",
        "operationId": "list_retention_policies",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetentionPolicyList"
                },
                "example": {
                  "birds": {
                    "namespace": "birds",
                    "account": "79c6d1c71fb1cbedc38ffc251ba2ffff",
                    "images_per_repo": -1,
                    "retain_untagged": true
                  },
                  "favouritebirds": {
                    "namespace": "favouritebirds",
                    "account": "79c6d1c71fb1cbedc38ffc251ba2ffff",
                    "images_per_repo": 10,
                    "retain_untagged": false
                  }
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/retentions' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listRetentionPoliciesOptions := containerRegistryService.NewListRetentionPoliciesOptions()\n",
                      "\n",
                      "mapStringRetentionPolicy, response, err := containerRegistryService.ListRetentionPolicies(listRetentionPoliciesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(mapStringRetentionPolicy, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.listRetentionPolicies({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "dict = container_registry_service.list_retention_policies().get_result()\n",
                      "\n",
                      "print(json.dumps(dict, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ListRetentionPoliciesOptions listRetentionPoliciesOptions = new ListRetentionPoliciesOptions();\n",
                      "\n",
                      "Response<Map<String, RetentionPolicy>> response = service.listRetentionPolicies(listRetentionPoliciesOptions).execute();\n",
                      "Map<String, RetentionPolicy> mapStringRetentionPolicy = response.getResult();\n",
                      "\n",
                      "System.out.println(mapStringRetentionPolicy);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Retentions"
        ],
        "summary": "Set retention policy",
        "description": "Set the retention policy for the specified namespace.",
        "operationId": "set_retention_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetentionPolicy"
              },
              "example": {
                "namespace": "birds",
                "account": "79c6d1c71fb1cbedc38ffc251ba2ffff",
                "images_per_repo": 10,
                "retain_untagged": false
              }
            }
          },
          "description": "The retention policy parameters to be applied to the namespace, as JSON.",
          "required": true
        },
        "x-codegen-request-body-name": "RetentionPolicy",
        "responses": {
          "200": {
            "description": "Success."
          },
          "400": {
            "description": "Supplied input was not valid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to the specified namespace. Choose another namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X POST \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -d \"{\\\"namespace\\\":\\\"birds\\\",\\\"account\\\":\\\"79c6d1c71fb1cbedc38ffc251ba2ffff\\\",\\\"images_per_repo\\\":10,\\\"retain_untagged\\\":false}\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/retentions' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "setRetentionPolicyOptions := containerRegistryService.NewSetRetentionPolicyOptions(\n",
                      "  namespaceLink,\n",
                      ")\n",
                      "setRetentionPolicyOptions.SetImagesPerRepo(int64(10))\n",
                      "setRetentionPolicyOptions.SetRetainUntagged(false)\n",
                      "\n",
                      "response, err := containerRegistryService.SetRetentionPolicy(setRetentionPolicyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 200 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from SetRetentionPolicy(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  namespace: namespaceLink,\n",
                      "  imagesPerRepo: 10,\n",
                      "  retainUntagged: false,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.setRetentionPolicy(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.set_retention_policy(\n",
                      "  namespace=namespace_link,\n",
                      "  images_per_repo=10,\n",
                      "  retain_untagged=False\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "SetRetentionPolicyOptions setRetentionPolicyOptions = new SetRetentionPolicyOptions.Builder()\n",
                      "  .namespace(namespaceLink)\n",
                      "  .imagesPerRepo(Long.valueOf(\"10\"))\n",
                      "  .retainUntagged(false)\n",
                      "  .build();\n",
                      "\n",
                      "service.setRetentionPolicy(setRetentionPolicyOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/retentions/analyze": {
      "post": {
        "tags": [
          "Retentions"
        ],
        "summary": "Analyze retention policy",
        "description": "Analyze a retention policy, and get a list of what would be deleted by it.",
        "operationId": "analyze_retention_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetentionPolicy"
              },
              "example": {
                "namespace": "birds",
                "account": "79c6d1c71fb1cbedc38ffc251ba2ffff",
                "images_per_repo": 10,
                "retain_untagged": false
              }
            }
          },
          "description": "The retention policy parameters to be analyzed, as JSON.",
          "required": true
        },
        "x-codegen-request-body-name": "RetentionPolicy",
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyAnalysis"
                },
                "example": {
                  "us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd": [
                    "green",
                    "latest"
                  ],
                  "us.icr.io/birds/sparrow@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4eeee": [
                    "house"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Supplied input was not valid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X POST \\\n",
                      "  -H \"Content-Type: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -d \"{\\\"namespace\\\":\\\"birds\\\",\\\"account\\\":\\\"79c6d1c71fb1cbedc38ffc251ba2ffff\\\",\\\"images_per_repo\\\":10,\\\"retain_untagged\\\":false}\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/retentions/analyze' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "analyzeRetentionPolicyOptions := containerRegistryService.NewAnalyzeRetentionPolicyOptions(\n",
                      "  namespaceLink,\n",
                      ")\n",
                      "analyzeRetentionPolicyOptions.SetImagesPerRepo(int64(10))\n",
                      "analyzeRetentionPolicyOptions.SetRetainUntagged(false)\n",
                      "\n",
                      "mapStringstring, response, err := containerRegistryService.AnalyzeRetentionPolicy(analyzeRetentionPolicyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(mapStringstring, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  namespace: namespaceLink,\n",
                      "  imagesPerRepo: 10,\n",
                      "  retainUntagged: false,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.analyzeRetentionPolicy(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "policy_analysis = container_registry_service.analyze_retention_policy(\n",
                      "  namespace=namespace_link,\n",
                      "  images_per_repo=10,\n",
                      "  retain_untagged=False\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(policy_analysis, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "AnalyzeRetentionPolicyOptions analyzeRetentionPolicyOptions = new AnalyzeRetentionPolicyOptions.Builder()\n",
                      "  .namespace(namespaceLink)\n",
                      "  .imagesPerRepo(Long.valueOf(\"10\"))\n",
                      "  .retainUntagged(false)\n",
                      "  .build();\n",
                      "\n",
                      "Response<Map<String, List<String>>> response = service.analyzeRetentionPolicy(analyzeRetentionPolicyOptions).execute();\n",
                      "Map<String, List<String>> mapStringListString = response.getResult();\n",
                      "\n",
                      "System.out.println(mapStringListString);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/retentions/{namespace}": {
      "get": {
        "tags": [
          "Retentions"
        ],
        "summary": "Get retention policy",
        "description": "Get the retention policy for the specified namespace.",
        "operationId": "get_retention_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "Gets the retention policy for the specified namespace.",
            "name": "namespace",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetentionPolicy"
                },
                "example": {
                  "namespace": "birds",
                  "account": "79c6d1c71fb1cbedc38ffc251ba2ffff",
                  "images_per_repo": 10,
                  "retain_untagged": false
                }
              }
            }
          },
          "400": {
            "description": "Supplied input was not valid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have access to the specified namespace. Choose another namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/retentions/birds' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getRetentionPolicyOptions := containerRegistryService.NewGetRetentionPolicyOptions(\n",
                      "  namespaceLink,\n",
                      ")\n",
                      "\n",
                      "retentionPolicy, response, err := containerRegistryService.GetRetentionPolicy(getRetentionPolicyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(retentionPolicy, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  namespace: namespaceLink,\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.getRetentionPolicy(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "retention_policy = container_registry_service.get_retention_policy(\n",
                      "  namespace=namespace_link\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(retention_policy, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "GetRetentionPolicyOptions getRetentionPolicyOptions = new GetRetentionPolicyOptions.Builder()\n",
                      "  .namespace(\"testString\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<RetentionPolicy> response = service.getRetentionPolicy(getRetentionPolicyOptions).execute();\n",
                      "RetentionPolicy retentionPolicy = response.getResult();\n",
                      "\n",
                      "System.out.println(retentionPolicy);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/tags/{image}": {
      "delete": {
        "tags": [
          "Tags"
        ],
        "summary": "Delete tag",
        "description": "Untag a container image in the registry.",
        "operationId": "delete_image_tag",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The name of the image that you want to delete, in the format &lt;REPOSITORY&gt;:&lt;TAG&gt;",
            "name": "image",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageDeleteResult"
                },
                "example": {
                  "Untagged": "us.icr.io/birds/woodpecker:latest"
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have authorization to access the specified namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "The specified image was not found. Check the spelling of the specified image.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X DELETE \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/tags/us.icr.io%2Fbirds%2Fwoodpecker%3Alatest' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteImageTagOptions := containerRegistryService.NewDeleteImageTagOptions(\n",
                      "  \"image name\",\n",
                      ")\n",
                      "\n",
                      "imageDeleteResult, response, err := containerRegistryService.DeleteImageTag(deleteImageTagOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(imageDeleteResult, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  image: 'image name',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.deleteImageTag(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "image_delete_result = container_registry_service.delete_image_tag(\n",
                      "  image='image name'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(image_delete_result, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "DeleteImageTagOptions deleteImageTagOptions = new DeleteImageTagOptions.Builder()\n",
                      "  .image(\"image name\")\n",
                      "  .build();\n",
                      "\n",
                      "Response<ImageDeleteResult> response = service.deleteImageTag(deleteImageTagOptions).execute();\n",
                      "ImageDeleteResult imageDeleteResult = response.getResult();\n",
                      "\n",
                      "System.out.println(imageDeleteResult);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/trash": {
      "get": {
        "tags": [
          "Trash"
        ],
        "summary": "List deleted images",
        "description": "List all images that are in the trash can.",
        "operationId": "list_deleted_images",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "Limit results to trash can images in the given namespace only.",
            "name": "namespace",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrashList"
                },
                "example": {
                  "us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4bbbb": {
                    "tags": [
                      "greaterspotted"
                    ],
                    "daysUntilExpiry": 4
                  },
                  "us.icr.io/birds/woodpecker@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd": {
                    "tags": [
                      "green",
                      "latest"
                    ],
                    "daysUntilExpiry": 30
                  },
                  "us.icr.io/birds/bird@sha256:38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd": {
                    "tags": [
                      "greenwoodpecker",
                      "oneeleven",
                      "oneten"
                    ],
                    "daysUntilExpiry": 25
                  }
                }
              }
            }
          },
          "400": {
            "description": "A required header is missing. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the requested resource, or your IBM Cloud bearer token is invalid. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "No namespaces exist for this account, or you are not authorized to view any namespaces for this account in this region. Create a namespace, or ensure that the IAM access policy for this account grants you Reader access to at least one namespace. You must have access to at least one namespace so that you can list the contents of the trash can",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "No namespaces were found for the targeted account. Add a namespace or target a different account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X GET \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/trash?namespace=birds' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listDeletedImagesOptions := containerRegistryService.NewListDeletedImagesOptions()\n",
                      "\n",
                      "mapStringTrash, response, err := containerRegistryService.ListDeletedImages(listDeletedImagesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(mapStringTrash, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "containerRegistryService.listDeletedImages({})\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "dict = container_registry_service.list_deleted_images().get_result()\n",
                      "\n",
                      "print(json.dumps(dict, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "ListDeletedImagesOptions listDeletedImagesOptions = new ListDeletedImagesOptions.Builder()\n",
                      "  .build();\n",
                      "\n",
                      "Response<Map<String, Trash>> response = service.listDeletedImages(listDeletedImagesOptions).execute();\n",
                      "Map<String, Trash> mapStringTrash = response.getResult();\n",
                      "\n",
                      "System.out.println(mapStringTrash);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/trash/{digest}/restoretags": {
      "post": {
        "tags": [
          "Trash"
        ],
        "summary": "Restore a digest and all associated tags",
        "description": "In the targeted region, restore a digest, and all of its tags in the same repository, from the trash.",
        "operationId": "restore_tags",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The full IBM Cloud registry digest reference for the digest that you want to restore such as `icr.io/namespace/repo@sha256:a9be...`. Call the `GET /trash/json` endpoint to review digests that are in the trash and their tags in the same repository.",
            "name": "digest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestoreResult"
                },
                "example": {
                  "successful": [
                    "green"
                  ],
                  "unsuccessful": [
                    "latest"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "There was a problem with the input. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have push authorization to the specified namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "Digest not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServerUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X POST \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/trash/us.icr.io%2Fbirds%2Fwoodpecker%40sha256%3A38f97dd92769b18ca82ad9ab6667af47306e66fea5b446937eea68b10ab4dddd/restoretags' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "restoreTagsOptions := containerRegistryService.NewRestoreTagsOptions(\n",
                      "  \"image name\", // Fully qualified including digest\n",
                      ")\n",
                      "\n",
                      "restoreResult, response, err := containerRegistryService.RestoreTags(restoreTagsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(restoreResult, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  digest: 'image name', // Fully qualified including digest\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.restoreTags(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "restore_result = container_registry_service.restore_tags(\n",
                      "  digest='image name' # Fully qualified including digest\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(restore_result, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "RestoreTagsOptions restoreTagsOptions = new RestoreTagsOptions.Builder()\n",
                      "  .digest(\"image name\") // Fully qualified including digest\n",
                      "  .build();\n",
                      "\n",
                      "Response<RestoreResult> response = service.restoreTags(restoreTagsOptions).execute();\n",
                      "RestoreResult restoreResult = response.getResult();\n",
                      "\n",
                      "System.out.println(restoreResult);"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/api/v1/trash/{image}/restore": {
      "post": {
        "tags": [
          "Trash"
        ],
        "summary": "Restore deleted image",
        "description": "Restore an image from the trash can.",
        "operationId": "restore_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/AccountParam"
          },
          {
            "description": "The name of the image that you want to restore, in the format &lt;REPOSITORY&gt;:&lt;TAG&gt;. Run `ibmcloud cr trash-list` or call the `GET /trash/json` endpoint to review images that are in the trash.",
            "name": "image",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "There was a problem with the input. Correct the request and try again.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "403": {
            "description": "You do not have push authorization to the specified namespace.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "404": {
            "description": "Image not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "409": {
            "description": "The tagged image already exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestError"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "example": [
                  {
                    "source": [
                      "curl -X POST \\\n",
                      "  -H \"accept: application/json\" \\\n",
                      "  -H \"Account: <account_ID>\" \\\n",
                      "  -H \"Authorization: Bearer <bearer_token>\" \\\n",
                      "  --url 'https://us.icr.io/api/v1/trash/us.icr.io%2Fbirds%2Fwoodpecker%3Agreen/restore' \n"
                    ],
                    "type": "code"
                  }
                ],
                "name": "Example request"
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "restoreImageOptions := containerRegistryService.NewRestoreImageOptions(\n",
                      "  \"image name\",\n",
                      ")\n",
                      "\n",
                      "response, err := containerRegistryService.RestoreImage(restoreImageOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 200 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from RestoreImage(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "  image: 'image name',\n",
                      "};\n",
                      "\n",
                      "containerRegistryService.restoreImage(params)\n",
                      "  .then(res => {\n",
                      "    console.log(JSON.stringify(res.result, null, 2));\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.warn(err)\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = container_registry_service.restore_image(\n",
                      "  image='image name'\n",
                      ").get_result()\n",
                      "\n",
                      "print(json.dumps(response, indent=2))"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "RestoreImageOptions restoreImageOptions = new RestoreImageOptions.Builder()\n",
                      "  .image(\"image name\")\n",
                      "  .build();\n",
                      "\n",
                      "service.restoreImage(restoreImageOptions).execute();"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  },
  "components": {
    "links": {
      "namespace": {
        "description": "link to delete_namespace",
        "operationId": "delete_namespace",
        "parameters": {
          "namespace": "$response.body#/namespace"
        }
      }
    },
    "parameters": {
      "AccountParam": {
        "description": "The unique ID for your IBM Cloud account.",
        "name": "Account",
        "in": "header",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-sdk-global-param": true,
        "x-terraform-user-account": true
      }
    },
    "responses": {
      "InternalServerError": {
        "description": "An internal server error occurred",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RequestError"
            }
          }
        }
      },
      "ServerUnavailable": {
        "description": "Unable to authenticate with IBM Cloud. Try again later.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RequestError"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "IAM": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "The IBM Cloud IAM access token that you receive when you log in to IBM Cloud. Run `ibmcloud iam oauth-tokens` to retrieve your access token."
      }
    },
    "schemas": {
      "PolicyAnalysis": {
        "description": "Analysis of a Retention Policy.",
        "type": "object",
        "additionalProperties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "AuthOptions": {
        "description": "The authorization options for the targeted IBM Cloud account",
        "type": "object",
        "properties": {
          "iam_authz": {
            "description": "Enable role based authorization when authenticating with IBM Cloud IAM",
            "type": "boolean"
          },
          "private_only": {
            "description": "Restrict account to only be able to push and pull images over private connections",
            "type": "boolean"
          }
        }
      },
      "AccountSettings": {
        "description": "Account settings for the targeted IBM Cloud account",
        "type": "object",
        "properties": {
          "platform_metrics": {
            "description": "Opt in to IBM Cloud Container Registry publishing platform metrics",
            "type": "boolean"
          }
        }
      },
      "Config": {
        "description": "The configuration data about a container.",
        "type": "object",
        "properties": {
          "ArgsEscaped": {
            "description": "True if command is already escaped (Windows specific)",
            "type": "boolean"
          },
          "AttachStderr": {
            "description": "If true, standard error is attached",
            "type": "boolean"
          },
          "AttachStdin": {
            "description": "If true, standard input is attached, which makes possible user interaction",
            "type": "boolean"
          },
          "AttachStdout": {
            "description": "If true, standard output is attached",
            "type": "boolean"
          },
          "Cmd": {
            "description": "Command that is run when starting the container",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "Domainname": {
            "description": "The FQDN for the container",
            "type": "string"
          },
          "Entrypoint": {
            "description": "Entrypoint to run when starting the container",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "Env": {
            "description": "List of environment variables to set in the container",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ExposedPorts": {
            "description": "A list of exposed ports in a format [123:{},456:{}]",
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "Healthcheck": {
            "$ref": "#/components/schemas/HealthConfig"
          },
          "Hostname": {
            "description": "The host name of the container",
            "type": "string"
          },
          "Image": {
            "description": "Name of the image as it was passed by the operator (eg. could be symbolic)",
            "type": "string"
          },
          "Labels": {
            "description": "List of labels set to this container",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "MacAddress": {
            "description": "The MAC Address of the container",
            "type": "string"
          },
          "NetworkDisabled": {
            "description": "If true, containers are not given network access",
            "type": "boolean"
          },
          "OnBuild": {
            "description": "ONBUILD metadata that were defined on the image Dockerfile https://docs.docker.com/engine/reference/builder/#onbuild",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "OpenStdin": {
            "description": "Open stdin",
            "type": "boolean"
          },
          "Shell": {
            "description": "Shell for shell-form of RUN, CMD, ENTRYPOINT",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "StdinOnce": {
            "description": "If true, close stdin after the 1 attached client disconnects",
            "type": "boolean"
          },
          "StopSignal": {
            "description": "Signal to stop a container",
            "type": "string"
          },
          "StopTimeout": {
            "description": "Timeout (in seconds) to stop a container",
            "type": "integer",
            "format": "int64"
          },
          "Tty": {
            "description": "Attach standard streams to a tty, including stdin if it is not closed",
            "type": "boolean"
          },
          "User": {
            "description": "The user that will run the command(s) inside the container",
            "type": "string"
          },
          "Volumes": {
            "description": "List of volumes (mounts) used for the container",
            "type": "object",
            "additionalProperties": {
              "type": "object"
            }
          },
          "WorkingDir": {
            "description": "Current working directory (PWD) in the command will be launched",
            "type": "string"
          }
        }
      },
      "Duration": {
        "description": "A Duration represents the elapsed time between two instants as an int64 nanosecond count.",
        "type": "integer",
        "format": "int64"
      },
      "HealthConfig": {
        "type": "object",
        "title": "Configuration settings for the HEALTHCHECK feature.",
        "properties": {
          "Interval": {
            "$ref": "#/components/schemas/Duration"
          },
          "Retries": {
            "description": "The number of consecutive failures needed to consider a container as unhealthy.\nZero means inherit.",
            "type": "integer",
            "format": "int64"
          },
          "Test": {
            "description": "The test to perform to check that the container is healthy.\nAn empty slice means to inherit the default.\nThe options are:\n{} : inherit healthcheck\n{\"NONE\"} : disable healthcheck\n{\"CMD\", args...} : exec arguments directly\n{\"CMD-SHELL\", command} : run command with system's default shell",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "Timeout": {
            "$ref": "#/components/schemas/Duration"
          }
        }
      },
      "ImageBulkDeleteError": {
        "description": "Information about a failure to delete an image as part of a bulk delete.",
        "type": "object",
        "properties": {
          "code": {
            "description": "An API error code",
            "type": "string"
          },
          "message": {
            "description": "The English text message associated with the error code.",
            "type": "string"
          }
        }
      },
      "ImageBulkDeleteResult": {
        "description": "The results of a bulk image delete request.",
        "type": "object",
        "title": "Details returned from a bulk image deletion.",
        "properties": {
          "error": {
            "description": "A map of digests to the error object that explains the failure.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ImageBulkDeleteError"
            }
          },
          "success": {
            "description": "A list of digests which were deleted successfully.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ImageDeleteResult": {
        "type": "object",
        "title": "Result of an image deletion.",
        "properties": {
          "Untagged": {
            "type": "string"
          }
        }
      },
      "ListImageDigestOptions": {
        "description": "The input to the ImageDigestLists request",
        "type": "object",
        "properties": {
          "exclude_tagged": {
            "description": "ExcludeTagged returns only untagged digests",
            "type": "boolean"
          },
          "exclude_va": {
            "description": "ExcludeVA returns the digest list with no VA scan results",
            "type": "boolean"
          },
          "include_ibm": {
            "description": "When true, API will return the IBM public images if they exist in the targeted region.",
            "type": "boolean"
          },
          "repositories": {
            "description": "Repositories in which to restrict the output. If left empty all images for the account will be returned.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ImageDigestList": {
        "description": "An array of image objects",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImageDigest"
        }
      },
      "ImageInspection": {
        "description": "An image JSON output consistent with the Docker Remote API",
        "type": "object",
        "properties": {
          "Architecture": {
            "description": "The processor architecture used to build this image, and required to run it",
            "type": "string"
          },
          "Author": {
            "description": "The author of the image",
            "type": "string"
          },
          "Comment": {
            "description": "A plain text description of the image",
            "type": "string"
          },
          "Config": {
            "$ref": "#/components/schemas/Config"
          },
          "Container": {
            "description": "The ID of the container which created this image",
            "type": "string"
          },
          "ContainerConfig": {
            "$ref": "#/components/schemas/Config"
          },
          "Created": {
            "description": "The unix timestamp for the date when the image was created",
            "type": "string"
          },
          "DockerVersion": {
            "description": "The Docker version used to build this image",
            "type": "string"
          },
          "Id": {
            "description": "The image ID",
            "type": "string"
          },
          "ManifestType": {
            "description": "Media type of the manifest for the image",
            "type": "string"
          },
          "Os": {
            "description": "The operating system family used to build this image, and required to run it",
            "type": "string"
          },
          "OsVersion": {
            "description": "The version of the operating system used to build this image",
            "type": "string"
          },
          "Parent": {
            "description": "The ID of the base image for this image",
            "type": "string"
          },
          "RootFS": {
            "$ref": "#/components/schemas/RootFS"
          },
          "Size": {
            "description": "The size of the image in bytes",
            "type": "integer",
            "format": "int64"
          },
          "VirtualSize": {
            "description": "The sum of the size of each layer in the image in bytes",
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ImageManifest": {
        "type": "object",
        "description": "A container image manifest in JSON format. Check the Content-Type response header for the manifest type.",
        "additionalProperties": true
      },
      "ImageDigest": {
        "description": "Important information about an image.",
        "type": "object",
        "properties": {
          "created": {
            "description": "The build date of the image",
            "type": "integer",
            "format": "int64"
          },
          "id": {
            "description": "The image digest",
            "type": "string"
          },
          "manifestType": {
            "description": "The type of the image, such as 'Docker Image Manifest V2, Schema 2' or 'OCI Image Manifest v1'",
            "type": "string"
          },
          "repoTags": {
            "$ref": "#/components/schemas/ImageDigestRepos"
          },
          "size": {
            "description": "The size of the image in bytes",
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ImageDigestRepos": {
        "description": "A map of image repositories to tags",
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ImageDigestTags"
        }
      },
      "ImageDigestTags": {
        "description": "A map of tags to Vulnerability Advisor reports",
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/VAReport"
        }
      },
      "NamespaceDetails": {
        "description": "Details of a namespace",
        "type": "object",
        "x-terraform-resource-name": "cr_namespace",
        "x-terraform-resource-operations": {
          "create": "create_namespace",
          "read": "list_namespace_details",
          "delete": "delete_namespace"
        },
        "x-terraform-include-tags": true,
        "properties": {
          "account": {
            "description": "The IBM Cloud account that owns the namespace.",
            "type": "string"
          },
          "created_date": {
            "description": "The creation date of the namespace.",
            "type": "string"
          },
          "crn": {
            "description": "If the namespace is assigned to a resource group, the IBM Cloud CRN representing the namespace.",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "resource_created_date": {
            "description": "The date that the namespace was assigned to a resource group.",
            "type": "string"
          },
          "resource_group": {
            "description": "The ID of the resource group to which the namespace is assigned.",
            "type": "string",
            "x-cli-flag-name": "resource-group-id"
          },
          "updated_date": {
            "description": "The date that the namespace was last updated.",
            "type": "string"
          }
        }
      },
      "NamespaceDetailsList": {
        "description": "Details of authorized namespaces in the targeted IBM Cloud account",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/NamespaceDetails"
        }
      },
      "Plan": {
        "description": "The plan for the targeted IBM Cloud account",
        "type": "object",
        "properties": {
          "plan": {
            "type": "string"
          }
        }
      },
      "Quota": {
        "description": "Current usage and limits for the targeted IBM Cloud account.",
        "type": "object",
        "properties": {
          "limit": {
            "$ref": "#/components/schemas/QuotaDetails"
          },
          "usage": {
            "$ref": "#/components/schemas/QuotaDetails"
          }
        }
      },
      "QuotaDetails": {
        "type": "object",
        "title": "Information about the requested quotas for the targeted IBM Cloud account in the targeted registry.",
        "properties": {
          "storage_bytes": {
            "description": "Storage quota or usage in bytes. The value -1 denotes \"Unlimited\".",
            "type": "integer",
            "format": "int64"
          },
          "traffic_bytes": {
            "description": "Traffic quota or usage in bytes. The value -1 denotes \"Unlimited\".",
            "type": "integer",
            "format": "int64"
          },
          "store": {
            "description": "Storage quota in bytes. The value of Max Uint64 (18446744073709551615) denotes \"Unlimited\".",
            "type": "integer",
            "deprecated": true,
            "format": "uint64",
            "x-sdk-exclude": true
          },
          "traffic": {
            "description": "Traffic quota or usage in bytes. The value of Max Uint64 (18446744073709551615) denotes \"Unlimited\".",
            "type": "integer",
            "deprecated": true,
            "format": "uint64",
            "x-sdk-exclude": true
          }
        }
      },
      "QuotaUpdate": {
        "type": "object",
        "title": "Modifications to the requested quotas for the targeted IBM Cloud account in the targeted registry.",
        "properties": {
          "storage_megabytes": {
            "description": "Storage quota in megabytes. The value -1 denotes \"Unlimited\".",
            "type": "integer",
            "format": "int64"
          },
          "traffic_megabytes": {
            "description": "Traffic quota in megabytes. The value -1 denotes \"Unlimited\".",
            "type": "integer",
            "format": "int64"
          },
          "store": {
            "description": "Requested storage quota in megabytes. The value of Max Uint64 (18446744073709551615) denotes \"Unlimited\".\nThis value is ignored if storage_megabytes is set to a non-zero value.",
            "type": "integer",
            "deprecated": true,
            "format": "uint64",
            "x-sdk-exclude": true
          },
          "traffic": {
            "description": "Requested traffic quota in megabytes. The value of Max Uint64 (18446744073709551615) denotes \"Unlimited\".\nThis value is ignored if traffic_megabytes is set to a non-zero value.",
            "type": "integer",
            "deprecated": true,
            "format": "uint64",
            "x-sdk-exclude": true
          }
        }
      },
      "RemoteAPIImage": {
        "description": "Information about an image, in a format consistent with the Docker Remote API format.",
        "type": "object",
        "properties": {
          "ConfigurationIssueCount": {
            "type": "integer",
            "format": "int64"
          },
          "Created": {
            "type": "integer",
            "format": "int64"
          },
          "DigestTags": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Tags"
            }
          },
          "ExemptIssueCount": {
            "type": "integer",
            "format": "int64"
          },
          "Id": {
            "type": "string"
          },
          "IssueCount": {
            "type": "integer",
            "format": "int64"
          },
          "Labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "ManifestType": {
            "type": "string"
          },
          "ParentId": {
            "type": "string"
          },
          "RepoDigests": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "RepoTags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "Size": {
            "type": "integer",
            "format": "int64"
          },
          "VirtualSize": {
            "type": "integer",
            "format": "int64"
          },
          "VulnerabilityCount": {
            "type": "integer",
            "format": "int64"
          },
          "Vulnerable": {
            "type": "string"
          }
        }
      },
      "RequestError": {
        "type": "object",
        "title": "A typed error returned to users.",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "rc": {
            "type": "integer",
            "format": "int64"
          },
          "request-id": {
            "type": "string"
          }
        }
      },
      "RestoreResult": {
        "description": "The result of restoring tags for a digest. In a successful request the digest is always restored, and zero or more of its tags may be restored.",
        "type": "object",
        "properties": {
          "successful": {
            "description": "Successful is a list of tags that were restored",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "unsuccessful": {
            "description": "Unsuccessful is a list of tags that were not restored because of a conflict",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RetentionPolicy": {
        "description": "A document that contains the image retention settings for a namespace",
        "type": "object",
        "x-terraform-resource-name": "cr_retention_policy",
        "x-terraform-resource-id": "namespace",
        "x-terraform-resource-operations": {
          "create": "set_retention_policy",
          "read": "get_retention_policy",
          "update": "set_retention_policy",
          "delete": "set_retention_policy"
        },
        "properties": {
          "account": {
            "description": "Account associated with the policy.",
            "type": "string",
            "x-sdk-exclude": true
          },
          "images_per_repo": {
            "description": "Determines how many images are retained in each repository when the retention policy is processed. The value -1 denotes 'Unlimited' (all images are retained).",
            "type": "integer",
            "format": "int64"
          },
          "namespace": {
            "type": "string",
            "description": "The namespace to which the retention policy is attached.",
            "x-linkback": "#/components/links/namespace"
          },
          "retain_untagged": {
            "description": "Determines whether untagged images are retained when the retention policy is processed. The value is false by default, which means that  untagged images can be deleted when the policy runs.",
            "type": "boolean"
          }
        },
        "required": [
          "namespace"
        ]
      },
      "RetentionPolicyList": {
        "description": "A map of namespace names to retention policies",
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/RetentionPolicy"
        }
      },
      "RootFS": {
        "description": "RootFS contains information about the root filesystem of a container image",
        "type": "object",
        "properties": {
          "BaseLayer": {
            "description": "Descriptor for the base layer in the image",
            "type": "string"
          },
          "Layers": {
            "description": "Descriptors for each layer in the image",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "Type": {
            "description": "The type of filesystem",
            "type": "string"
          }
        }
      },
      "Tags": {
        "description": "A list of tags for an image.",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "Trash": {
        "description": "Details of the tags and days until expiry",
        "type": "object",
        "properties": {
          "daysUntilExpiry": {
            "type": "integer",
            "format": "int64"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "TrashList": {
        "description": "A map of digests in trash, to tags and days until expiry",
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/Trash"
        }
      },
      "VAReport": {
        "description": "The VA Report for a given image",
        "type": "object",
        "properties": {
          "configurationIssueCount": {
            "description": "Number of configuration issues in the image",
            "type": "integer",
            "format": "int64"
          },
          "exemptIssueCount": {
            "description": "Total number of issues in the image that were exempted by an exemption policy",
            "type": "integer",
            "format": "int64"
          },
          "issueCount": {
            "description": "Total number of issues in the image",
            "type": "integer",
            "format": "int64"
          },
          "vulnerabilityCount": {
            "description": "Number of vulnerabilities in the image",
            "type": "integer",
            "format": "int64"
          },
          "vulnerable": {
            "$ref": "#/components/schemas/VulnerabilityStatus"
          }
        }
      },
      "VulnerabilityStatus": {
        "description": "Summary of vulnerability status",
        "type": "string"
      },
      "bulkDeleteInput": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "namespaces": {
        "description": "A list of authorized namespaces in the targeted IBM Cloud account",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "Namespace": {
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string"
          }
        }
      }
    }
  }
}