UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 69.6 kB
{"openapi":"3.0.0","info":{"description":"Metadata API definition for the Azure Container Registry runtime","title":"Azure Container Registry","version":"2019-08-15-preview","x-apisguru-categories":["cloud"],"x-logo":{"url":"https://assets.onestore.ms/cdnfiles/onestorerolling-1606-01000/shell/v3/images/logo/microsoft.png"},"x-origin":[{"format":"swagger","url":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json","version":"2.0"}],"x-preferred":true,"x-providerName":"azure.com","x-serviceName":"containerregistry","x-tags":["Azure","Microsoft"]},"security":[{"registry_auth":[],"registry_oauth2":[]}],"tags":[{"description":"Root API","name":"v2"},{"description":"Everything about manifests","name":"Manifest"},{"description":"Everything about tags","name":"Tag"},{"description":"Everything about layers","name":"Layer"},{"description":"Everything about repository","name":"Repository"},{"description":"ACR APIs related to repositories","name":"AcrRepository"},{"description":"ACR APIs related to manifests","name":"AcrManifest"},{"description":"ACR APIs related to tags","name":"AcrTag"}],"paths":{"/acr/v1/_catalog":{"get":{"description":"List repositories","operationId":"Repository_GetList","parameters":[{"$ref":"#/components/parameters/QueryLast"},{"$ref":"#/components/parameters/QueryNum"}],"responses":{"200":{"description":"Returns a list of repositories","headers":{"Link":{"description":"next paginated result","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Repositories"},"examples":{"Get repositories in a registry":{"$ref":"#/components/examples/Get_repositories_in_a_registry"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrRepository"]}},"/acr/v1/{name}":{"delete":{"description":"Delete the repository identified by `name`","operationId":"Repository_Delete","parameters":[{"$ref":"#/components/parameters/ImageName"}],"responses":{"202":{"description":"The repository is deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedRepository"},"examples":{"Delete a repository":{"$ref":"#/components/examples/Delete_a_repository"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrRepository"]},"get":{"description":"Get repository attributes","operationId":"Repository_GetAttributes","parameters":[{"$ref":"#/components/parameters/ImageName"}],"responses":{"200":{"description":"Returns a list of attributes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepositoryAttributes"},"examples":{"Get details of repository":{"$ref":"#/components/examples/Get_details_of_repository"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrRepository","AcrMetadata"]},"patch":{"description":"Update the attribute identified by `name` where `reference` is the name of the repository.","operationId":"Repository_UpdateAttributes","parameters":[{"$ref":"#/components/parameters/ImageName"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeableAttributes"}}},"description":"Repository attribute value"},"responses":{"200":{"description":"The attributes are updated"},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrRepository","AcrMetadata"]}},"/acr/v1/{name}/_manifests":{"get":{"description":"List manifests of a repository","operationId":"Manifests_GetList","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/QueryLast"},{"$ref":"#/components/parameters/QueryNum"},{"$ref":"#/components/parameters/QueryOrderBy"}],"responses":{"200":{"description":"Returns a list of manifests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrManifests"},"examples":{"Get list of available manifests":{"$ref":"#/components/examples/Get_list_of_available_manifests"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrManifest","AcrMetadata"]}},"/acr/v1/{name}/_manifests/{reference}":{"get":{"description":"Get manifest attributes","operationId":"Manifests_GetAttributes","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/ImageReference"}],"responses":{"200":{"description":"List of attributes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManifestAttributes"},"examples":{"Get manifest attributes":{"$ref":"#/components/examples/Get_manifest_attributes"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrManifest","AcrMetadata"]},"patch":{"description":"Update attributes of a manifest","operationId":"Manifests_UpdateAttributes","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/ImageReference"}],"requestBody":{"$ref":"#/components/requestBodies/ChangeableAttributes"},"responses":{"200":{"description":"The attributes are updated"},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrManifest","AcrMetadata"]}},"/acr/v1/{name}/_tags":{"get":{"description":"List tags of a repository","operationId":"Tag_GetList","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/QueryLast"},{"$ref":"#/components/parameters/QueryNum"},{"$ref":"#/components/parameters/QueryOrderBy"},{"$ref":"#/components/parameters/QueryDigest"}],"responses":{"200":{"description":"Tag details of a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagList"},"examples":{"Get tags of a repository":{"$ref":"#/components/examples/Get_tags_of_a_repository"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrTag","AcrMetadata"]}},"/acr/v1/{name}/_tags/{reference}":{"delete":{"description":"Delete tag","operationId":"Tag_Delete","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/TagReference"}],"responses":{"202":{"description":"The tag is deleted"},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrTag","AcrMetadata"]},"get":{"description":"Get tag attributes by tag","operationId":"Tag_GetAttributes","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/TagReference"}],"responses":{"200":{"description":"Tag attributes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagAttributes"},"examples":{"Get tag attributes":{"$ref":"#/components/examples/Get_tag_attributes"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrTag","AcrMetadata"]},"patch":{"description":"Update tag attributes","operationId":"Tag_UpdateAttributes","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/TagReference"}],"requestBody":{"$ref":"#/components/requestBodies/ChangeableAttributes"},"responses":{"200":{"description":"The attributes are updated"},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["AcrTag","AcrMetadata"]}},"/oauth2/exchange":{"post":{"description":"Exchange AAD tokens for an ACR refresh Token","operationId":"RefreshTokens_GetFromExchange","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"grant_type":{"description":"Can take a value of access_token_refresh_token, or access_token, or refresh_token","type":"string","enum":["access_token_refresh_token","access_token","refresh_token"],"x-ms-parameter-location":"method"},"service":{"description":"Indicates the name of your Azure container registry.","type":"string","x-ms-parameter-location":"method"},"tenant":{"description":"AAD tenant associated to the AAD credentials.","type":"string","x-ms-parameter-location":"method"},"refresh_token":{"description":"AAD refresh token, mandatory when grant_type is access_token_refresh_token or refresh_token","type":"string","x-ms-parameter-location":"method"},"access_token":{"description":"AAD access token, mandatory when grant_type is access_token_refresh_token or access_token.","type":"string","x-ms-parameter-location":"method"}},"required":["grant_type","service"]}}},"required":true},"responses":{"200":{"description":"Refresh token acquired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshToken"},"examples":{"Exchange AAD Token for ACR Refresh":{"$ref":"#/components/examples/Exchange_AAD_Token_for_ACR_Refresh"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"security":[],"tags":["AcrToken","RefreshToken"]}},"/oauth2/token":{"get":{"description":"Exchange Username, Password and Scope an ACR Access Token","operationId":"AccessTokens_GetFromLogin","parameters":[{"description":"Indicates the name of your Azure container registry.","in":"query","name":"service","required":true,"schema":{"type":"string"},"examples":{"Get Access Token with username and password":{"value":"someregistry.azurecr.io"}}},{"description":"Expected to be a valid scope, and can be specified more than once for multiple scope requests. You can obtain this from the Www-Authenticate response header from the challenge.","in":"query","name":"scope","required":true,"schema":{"type":"string"},"examples":{"Get Access Token with username and password":{"value":"registry:catalog:*"}}}],"responses":{"200":{"description":"Access token acquired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"},"examples":{"Get Access Token with username and password":{"$ref":"#/components/examples/Get_Access_Token_with_username_and_password"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"security":[{"registry_auth":[]}],"tags":["AcrToken","AccessToken","userLogin"]},"post":{"description":"Exchange ACR Refresh token for an ACR Access Token","operationId":"AccessTokens_Get","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"grant_type":{"description":"Grant type is expected to be refresh_token","type":"string","enum":["refresh_token"]},"service":{"description":"Indicates the name of your Azure container registry.","type":"string","x-ms-parameter-location":"method"},"scope":{"description":"Which is expected to be a valid scope, and can be specified more than once for multiple scope requests. You obtained this from the Www-Authenticate response header from the challenge.","type":"string"},"refresh_token":{"description":"Must be a valid ACR refresh token","type":"string"}},"required":["grant_type","service","scope","refresh_token"]}}},"required":true},"responses":{"200":{"description":"Access token acquired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"},"examples":{"Get Access Token with Refresh Token":{"$ref":"#/components/examples/Get_Access_Token_with_Refresh_Token"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"security":[],"tags":["AcrToken","AccessToken"]}},"/v2/":{"get":{"description":"Tells whether this Docker Registry instance supports Docker Registry HTTP API v2","operationId":"V2Support_Check","responses":{"200":{"description":"Successful response. API v2 supported"},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["v2"]}},"/v2/{name}/blobs/uploads/":{"post":{"description":"Mount a blob identified by the `mount` parameter from another repository.","operationId":"Blob_Mount","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/From"},{"$ref":"#/components/parameters/Mount"}],"responses":{"201":{"description":"The blob has been created in the registry and is available at the provided location.","headers":{"Docker-Content-Digest":{"description":"Digest of the targeted content for the request.","schema":{"type":"string"},"example":"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"},"Docker-Upload-UUID":{"description":"Identifies the docker upload uuid for the current request.","schema":{"type":"string"}},"Location":{"description":"Provided location for blob","schema":{"type":"string"},"example":"/v2/somethingnew/blobs/sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]}},"/v2/{name}/blobs/{digest}":{"delete":{"description":"Removes an already uploaded blob.","operationId":"Blob_Delete","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/Digest"}],"responses":{"202":{"description":"The blob identified by digest is available. The blob content will be present in the body of the response.","headers":{"Docker-Content-Digest":{"description":"Digest of the targeted content for the request.","schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"description":"blob binary data","format":"binary","type":"string"}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]},"get":{"description":"Retrieve the blob from the registry identified by digest.","operationId":"Blob_Get","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/Digest"}],"responses":{"200":{"description":"The blob identified by digest is available. The blob content will be present in the body of the response.","headers":{"Content-Length":{"description":"The length of the requested blob content.","schema":{"type":"integer","format":"int64"},"example":5635},"Docker-Content-Digest":{"description":"Digest of the targeted content for the request.","schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"description":"blob binary data","format":"binary","type":"string"},"examples":{"Get a blob from digest":{"$ref":"#/components/examples/Get_a_blob_from_digest"}}}}},"307":{"description":"The blob identified by digest is available at the provided location.","headers":{"Location":{"description":"The location where the layer should be accessible.","schema":{"type":"string"},"example":"https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]},"head":{"description":"Same as GET, except only the headers are returned.","operationId":"Blob_Check","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/Digest"}],"responses":{"200":{"description":"The blob identified by digest is available. The blob content will be present in the body of the response.","headers":{"Content-Length":{"description":"The length of the requested blob content.","schema":{"type":"integer","format":"int64"},"example":5635},"Docker-Content-Digest":{"description":"Digest of the targeted content for the request.","schema":{"type":"string"}}}},"307":{"description":"The blob identified by digest is available at the provided location.","headers":{"Location":{"description":"The location where the layer should be accessible.","schema":{"type":"string"},"example":"https://csharpsdktest.azurecr.io/v2/prod/bash/blobs/sha256:3131d2b2b3352091117a3abe745d01a3fed472b7327c3183602247937800e3a6"}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]}},"/v2/{name}/manifests/{reference}":{"delete":{"description":"Delete the manifest identified by `name` and `reference`. Note that a manifest can _only_ be deleted by `digest`.","operationId":"Manifests_Delete","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/ImageReference"}],"responses":{"202":{"description":"The manifest has been deleted"},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Manifest"]},"get":{"description":"Get the manifest identified by `name` and `reference` where `reference` can be a tag or digest.","operationId":"Manifests_Get","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/ImageReference"},{"description":"Accept header string delimited by comma. For example, application/vnd.docker.distribution.manifest.v2+json","in":"header","name":"accept","required":false,"schema":{"type":"string"},"examples":{"Get manifest":{"value":"application/vnd.docker.distribution.manifest.v2+json"}}}],"responses":{"200":{"description":"Returns the requested manifest file in a larger combined group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManifestWrapper"},"examples":{"Get manifest":{"$ref":"#/components/examples/Get_manifest"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Manifest"]},"put":{"description":"Put the manifest identified by `name` and `reference` where `reference` can be a tag or digest.","operationId":"Manifests_Create","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/ImageReference"}],"requestBody":{"content":{"application/vnd.docker.distribution.manifest.v2+json":{"schema":{"$ref":"#/components/schemas/Manifest"}}},"description":"Manifest body, can take v1 or v2 values depending on accept header","required":true,"x-ms-parameter-location":"method"},"responses":{"201":{"description":"The manifest is updated","headers":{"Content-Length":{"description":"The length of the requested blob content.","schema":{"type":"integer","format":"int64"},"example":0},"Docker-Content-Digest":{"description":"Identifies the docker upload uuid for the current request.","schema":{"type":"string"},"example":"sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8"},"Location":{"description":"The canonical location url of the uploaded manifest.","schema":{"type":"string"},"example":"/v2/hello-world/manifests/sha256:15685c48490175b7dde62e6bfcfb54d9420c6495ea6404776e2facca3da93cd8"}},"content":{"application/json":{"schema":{},"examples":{"Put manifest":{"$ref":"#/components/examples/Put_manifest"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Manifest"],"x-ms-long-running-operation":false}},"/{nextBlobUuidLink}":{"delete":{"description":"Cancel outstanding upload processes, releasing associated resources. If this is not called, the unfinished uploads will eventually timeout.","operationId":"Blob_CancelUpload","parameters":[{"$ref":"#/components/parameters/NextLink"}],"responses":{"204":{"description":"The upload has been successfully deleted."},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]},"get":{"description":"Retrieve status of upload identified by uuid. The primary purpose of this endpoint is to resolve the current status of a resumable upload.","operationId":"Blob_GetStatus","parameters":[{"$ref":"#/components/parameters/NextLink"}],"responses":{"204":{"description":"The upload is known and in progress. The last received offset is available in the Range header.","headers":{"Docker-Upload-UUID":{"description":"Identifies the docker upload uuid for the current request.","schema":{"type":"string"}},"Range":{"description":"Range indicating the current progress of the upload.","schema":{"type":"string"},"example":"0-0"}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]},"patch":{"description":"Upload a stream of data without completing the upload.","operationId":"Blob_Upload","parameters":[{"$ref":"#/components/parameters/NextLink"}],"requestBody":{"content":{"application/octet-stream":{"schema":{"format":"file","type":"object"}}},"description":"Raw data of blob","required":true,"x-ms-parameter-location":"method"},"responses":{"202":{"description":"The stream of data has been accepted and the current progress is available in the range header. The updated upload location is available in the Location header.","headers":{"Docker-Upload-UUID":{"description":"Identifies the docker upload uuid for the current request.","schema":{"type":"string"}},"Location":{"description":"Provided location for blob","schema":{"type":"string"},"example":"/v2/blobland/blobs/uploads/f6d3451c-3352-43ff-b67c-fd0cfc793066?_nouploadcache=false&_state=9G2t2KQOw-ANeo5TrnwVb5OeAUIe0NaEJ2jxwLT6Y1J7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJmNmQzNDUxYy0zMzUyLTQzZmYtYjY3Yy1mZDBjZmM3OTMwNjYiLCJPZmZzZXQiOjEzLCJTdGFydGVkQXQiOiIyMDE5LTA4LTI3VDIzOjUyOjU0WiJ9"},"Range":{"description":"Range indicating the current progress of the upload.","schema":{"type":"string"},"example":"0-12"}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"security":[{"registry_auth":[],"registry_oauth2":[]}],"tags":["Layer"]},"put":{"description":"Complete the upload, providing all the data in the body, if necessary. A request without a body will just complete the upload with previously uploaded content.","operationId":"Blob_EndUpload","parameters":[{"$ref":"#/components/parameters/BlobQueryDigest"},{"$ref":"#/components/parameters/NextLink"}],"requestBody":{"content":{"application/octet-stream":{"schema":{"format":"file","type":"object"}}},"description":"Optional raw data of blob","x-ms-parameter-location":"method"},"responses":{"201":{"description":"The upload has been completed and accepted by the registry.","headers":{"Docker-Content-Digest":{"description":"Digest of the targeted content for the request.","schema":{"type":"string"},"example":"sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e"},"Location":{"description":"Provided location for blob","schema":{"type":"string"},"example":"/v2/blobland/blobs/sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e"},"Range":{"description":"Range indicating the current progress of the upload.","schema":{"type":"string"}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]}},"/v2/{name}/blobs/uploads/#mode=resumable":{"post":{"description":"Initiate a resumable blob upload with an empty request body.","operationId":"Blob_StartUpload","parameters":[{"$ref":"#/components/parameters/ImageName"}],"responses":{"202":{"description":"The upload has been created. The Location header must be used to complete the upload. The response should be identical to a GET request on the contents of the returned Location header.","headers":{"Docker-Upload-UUID":{"description":"Identifies the docker upload uuid for the current request.","schema":{"type":"string"}},"Location":{"description":"Provided location for blob","schema":{"type":"string"},"example":"/v2/blobland/blobs/uploads/f6d3451c-3352-43ff-b67c-fd0cfc793066?_nouploadcache=false&_state=iWTaVpaWiz23JTt8ZsYFPEU5JwLOFgdumWOmqGxIYGt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJmNmQzNDUxYy0zMzUyLTQzZmYtYjY3Yy1mZDBjZmM3OTMwNjYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NTQuNTM1MDQ5ODY1WiJ9"},"Range":{"description":"Range indicating the current progress of the upload.","schema":{"type":"string"},"example":"0-0"}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]}},"/v2/{name}/blobs/{digest}#mode=chunk":{"get":{"description":"Retrieve the blob from the registry identified by `digest`. This endpoint may also support RFC7233 compliant range requests. Support can be detected by issuing a HEAD request. If the header `Accept-Range: bytes` is returned, range requests can be used to fetch partial content.","operationId":"Blob_GetChunk","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Range"}],"responses":{"206":{"description":"The blob identified by digest is available. The specified chunk of blob content will be present in the body of the request.","headers":{"Content-Length":{"description":"The length of the requested blob content.","schema":{"type":"integer","format":"int64"},"example":"300"},"Content-Range":{"description":"Content range of blob chunk.","schema":{"type":"string"},"example":"bytes 0-299/5635"}},"content":{"application/octet-stream":{"schema":{"description":"blob binary data","format":"binary","type":"string"},"examples":{"Get a blob Chunk":{"$ref":"#/components/examples/Get_a_blob_Chunk"}}}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/octet-stream":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]},"head":{"description":"Same as GET, except only the headers are returned.","operationId":"Blob_CheckChunk","parameters":[{"$ref":"#/components/parameters/ImageName"},{"$ref":"#/components/parameters/Digest"},{"$ref":"#/components/parameters/Range"}],"responses":{"200":{"description":"The blob identified by digest is available. The specified chunk of blob content will be present in the body of the request.","headers":{"Content-Length":{"description":"The length of the requested blob content.","schema":{"type":"integer","format":"int64"},"example":"300"},"Content-Range":{"description":"Content range of blob chunk.","schema":{"type":"string"},"example":"bytes 0-299/5635"}}},"default":{"description":"ACR error response describing why the operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcrErrors"}}}}},"tags":["Layer"]}}},"servers":[{"url":"https://azure.local"},{"url":"{url}","variables":{"url":{"description":"Registry login URL","x-ms-client-name":"loginUri","x-ms-parameter-location":"client","x-ms-skip-url-encoding":true,"default":"none"}}}],"components":{"examples":{"Get_repositories_in_a_registry":{"value":{"repositories":["production/alpine","testing/alpine"]}},"Delete_a_repository":{"value":{"manifestsDeleted":["sha256:e31831d63f77a0a6d74ef5b16df619a50808dac842190d07ae24e8b520d159fa"],"tagsDeleted":["4.7.2-20180814-windowsservercore-1709"]}},"Get_details_of_repository":{"value":{"changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"readEnabled":true,"writeEnabled":true},"createdTime":"2018-09-06T06:17:20.9531248Z","imageName":"nanoserver","lastUpdateTime":"2018-09-07T16:30:46.6583219Z","manifestCount":2,"registry":"acrapi.azurecr-test.io","tagCount":2}},"Get_list_of_available_manifests":{"value":{"imageName":"nanoserver","manifests":[{"architecture":"amd64","changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"readEnabled":true,"writeEnabled":true},"configMediaType":"application/vnd.docker.container.image.v1+json","createdTime":"2018-09-06T06:17:20.9983915Z","digest":"sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086","imageSize":2401606,"lastUpdateTime":"2018-09-06T06:17:20.9983915Z","mediaType":"application/vnd.docker.distribution.manifest.v2+json","os":"windows","tags":["4.7.2-20180905-nanoserver-1803"]},{"architecture":"amd64","changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"readEnabled":true,"writeEnabled":true},"configMediaType":"application/vnd.docker.container.image.v1+json","createdTime":"2018-09-07T16:30:46.5651701Z","digest":"sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52","imageSize":4135121,"lastUpdateTime":"2018-09-07T16:30:46.5651701Z","mediaType":"application/vnd.docker.distribution.manifest.v2+json","os":"windows","tags":["4.7.2-20180906-nanoserver-1803"]}],"registry":"acrapi.azurecr-test.io"}},"Get_manifest_attributes":{"value":{"imageName":"nanoserver","manifest":{"architecture":"amd64","changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"readEnabled":true,"writeEnabled":true},"configMediaType":"application/vnd.docker.container.image.v1+json","createdTime":"2018-09-06T06:17:20.9983915Z","digest":"sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086","imageSize":2401606,"lastUpdateTime":"2018-09-06T06:17:20.9983915Z","mediaType":"application/vnd.docker.distribution.manifest.v2+json","os":"windows","tags":["4.7.2-20180905-nanoserver-1803"]},"registry":"acrapi.azurecr-test.io"}},"Get_tags_of_a_repository":{"value":{"imageName":"nanoserver","registry":"acrapi.azurecr-test.io","tags":[{"changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"readEnabled":true,"writeEnabled":true},"createdTime":"2018-09-06T06:17:21.0856539Z","digest":"sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086","lastUpdateTime":"2018-09-06T06:17:21.0856539Z","name":"4.7.2-20180905-nanoserver-1803","signed":false},{"changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"readEnabled":true,"writeEnabled":true},"createdTime":"2018-09-06T16:30:43.3860166Z","digest":"sha256:7af5cd1dde3e8f5c2c9103860afa4ca871a6075373b6564b0e7b1b47866dab52","lastUpdateTime":"2018-09-07T16:30:46.7022734Z","name":"4.7.2-20180906-nanoserver-1803","signed":false}]}},"Get_tag_attributes":{"value":{"imageName":"test/bash","registry":"acrapi.azurecr-test.io","tag":{"changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"readEnabled":true,"writeEnabled":false},"createdTime":"2018-10-05T20:54:24.1286047Z","digest":"sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e70d407405b7ad7b6","lastUpdateTime":"2018-10-05T20:54:24.1286047Z","name":"tagName","signed":false}}},"Exchange_AAD_Token_for_ACR_Refresh":{"value":{"refresh_token":"eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."}},"Get_Access_Token_with_username_and_password":{"value":{"access_token":"eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."}},"Get_Access_Token_with_Refresh_Token":{"value":{"access_token":"eyJ0eXAiOiJKJhbGcigdCI6IkN0ZlFaOExlLTMejlnIiwidGlkIjoiNzbmOTgWItMmQ3Y2QwMTFkYjQ3Ii..."}},"Get_a_blob_from_digest":{"value":"eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJCNTg2OUYwNjRFQTc0QUIiLCJfQkFTSF9WRVJTSU9OPTUuMCIsIl9CQVNIX1BBVENIX0xFVkVMPTAiLCJfQkFTSF9MQVRFU1RfUEFUQ0g9NyJdLCJDbWQiOlsiYmFzaCJdLCJBcmdzRXNjYXBlZCI6dHJ1ZSwiSW1hZ2UiOiJzaGEyNTY6MzhhZDJmYmM5ZjljMGE4N2RmZTBhMmIxOWJkY2E5NGJlNDVmNDY2M2Y3M2ZkMDlmZWZlZTQ5MmFmZDJjMDE0NCIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbImRvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6bnVsbH0sImNvbnRhaW5lciI6IjRiMDU0NmZhNDlkZjVkY2FlZDViNjYzNzE3ZjQ0MmNlZjcxYTFiOTVjMGZmYjQyYzhjNWNlNzIzMWI5MGMwMjYiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiNGIwNTQ2ZmE0OWRmIiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIl9CQVNIX0dQR19LRVk9N0MwMTM1RkIwODhBQUY2QzY2QzY1MEI5QkI1ODY5RjA2NEVBNzRBQiIsIl9CQVNIX1ZFUlNJT049NS4wIiwiX0JBU0hfUEFUQ0hfTEVWRUw9MCIsIl9CQVNIX0xBVEVTVF9QQVRDSD03Il0sIkNtZCI6WyIvYmluL3NoIiwiLWMiLCIjKG5vcCkgIiwiQ01EIFtcImJhc2hcIl0iXSwiQXJnc0VzY2FwZWQiOnRydWUsIkltYWdlIjoic2hhMjU2OjM4YWQyZmJjOWY5YzBhODdkZmUwYTJiMTliZGNhOTRiZTQ1ZjQ2NjNmNzNmZDA5ZmVmZWU0OTJhZmQyYzAxNDQiLCJWb2x1bWVzIjpudWxsLCJXb3JraW5nRGlyIjoiIiwiRW50cnlwb2ludCI6WyJkb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnt9fSwiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuNTI3NTE1OTAyWiIsImRvY2tlcl92ZXJzaW9uIjoiMTguMDYuMS1jZSIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDE5LTA3LTExVDIyOjIwOjUyLjEzOTcwOTM1NVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6MGViNWVhMzU3NDFkMjNmZTM5Y2JhYzI0NWIzYTVkODQ4NTZlZDYzODRmNGZmMDdkNDk2MzY5ZWU2ZDk2MGJhZCBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTFUMjI6MjA6NTIuMzc1Mjg2NDA0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxMy41Njc2Njk4MTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfR1BHX0tFWT03QzAxMzVGQjA4OEFBRjZDNjZDNjUwQjlCQjU4NjlGMDY0RUE3NEFCIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuNzQ1NjUyMDk4WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1ZFUlNJT049NS4wIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuOTQwNDU1NDE5WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1BBVENIX0xFVkVMPTAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxNC4wOTkzMDAwNzVaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfTEFURVNUX1BBVENIPTciLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNjowNS45Mjg0MjkyNjJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgc2V0IC1ldXg7IFx0XHRhcGsgYWRkIC0tbm8tY2FjaGUgLS12aXJ0dWFsIC5idWlsZC1kZXBzIFx0XHRiaXNvbiBcdFx0Y29yZXV0aWxzIFx0XHRkcGtnLWRldiBkcGtnIFx0XHRnY2MgXHRcdGdudXBnIFx0XHRsaWJjLWRldiBcdFx0bWFrZSBcdFx0bmN1cnNlcy1kZXYgXHRcdHBhdGNoIFx0XHR0YXIgXHQ7IFx0XHR2ZXJzaW9uPVwiJF9CQVNIX1ZFUlNJT05cIjsgXHRpZiBbIFwiJF9CQVNIX1BBVENIX0xFVkVMXCIgLWd0IDAgXTsgdGhlbiBcdFx0dmVyc2lvbj1cIiR2ZXJzaW9uLiRfQkFTSF9QQVRDSF9MRVZFTFwiOyBcdGZpOyBcdHdnZXQgLU8gYmFzaC50YXIuZ3ogXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6XCI7IFx0d2dldCAtTyBiYXNoLnRhci5nei5zaWcgXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6LnNpZ1wiOyBcdFx0aWYgWyBcIiRfQkFTSF9MQVRFU1RfUEFUQ0hcIiAtZ3QgXCIkX0JBU0hfUEFUQ0hfTEVWRUxcIiBdOyB0aGVuIFx0XHRta2RpciAtcCBiYXNoLXBhdGNoZXM7IFx0XHRmaXJzdD1cIiQocHJpbnRmICclMDNkJyBcIiQoKCBfQkFTSF9QQVRDSF9MRVZFTCArIDEgKSlcIilcIjsgXHRcdGxhc3Q9XCIkKHByaW50ZiAnJTAzZCcgXCIkX0JBU0hfTEFURVNUX1BBVENIXCIpXCI7IFx0XHRmb3IgcGF0Y2ggaW4gJChzZXEgLXcgXCIkZmlyc3RcIiBcIiRsYXN0XCIpOyBkbyBcdFx0XHR1cmw9XCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJF9CQVNIX1ZFUlNJT04tcGF0Y2hlcy9iYXNoJHtfQkFTSF9WRVJTSU9OLy8uL30tJHBhdGNoXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoXCIgXCIkdXJsXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoLnNpZ1wiIFwiJHVybC5zaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0XHRleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7IFx0Z3BnIC0tYmF0Y2ggLS1rZXlzZXJ2ZXIgaGEucG9vbC5za3Mta2V5c2VydmVycy5uZXQgLS1yZWN2LWtleXMgXCIkX0JBU0hfR1BHX0tFWVwiOyBcdGdwZyAtLWJhdGNoIC0tdmVyaWZ5IGJhc2gudGFyLmd6LnNpZyBiYXNoLnRhci5nejsgXHRncGdjb25mIC0ta2lsbCBhbGw7IFx0cm0gYmFzaC50YXIuZ3ouc2lnOyBcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBzaWcgaW4gYmFzaC1wYXRjaGVzLyouc2lnOyBkbyBcdFx0XHRwPVwiJHtzaWclLnNpZ31cIjsgXHRcdFx0Z3BnIC0tYmF0Y2ggLS12ZXJpZnkgXCIkc2lnXCIgXCIkcFwiOyBcdFx0XHRybSBcIiRzaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0cm0gLXJmIFwiJEdOVVBHSE9NRVwiOyBcdFx0bWtkaXIgLXAgL3Vzci9zcmMvYmFzaDsgXHR0YXIgXHRcdC0tZXh0cmFjdCBcdFx0LS1maWxlPWJhc2gudGFyLmd6IFx0XHQtLXN0cmlwLWNvbXBvbmVudHM9MSBcdFx0LS1kaXJlY3Rvcnk9L3Vzci9zcmMvYmFzaCBcdDsgXHRybSBiYXNoLnRhci5nejsgXHRcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBwIGluIGJhc2gtcGF0Y2hlcy8qOyBkbyBcdFx0XHRwYXRjaCBcdFx0XHRcdC0tZGlyZWN0b3J5PS91c3Ivc3JjL2Jhc2ggXHRcdFx0XHQtLWlucHV0PVwiJChyZWFkbGluayAtZiBcIiRwXCIpXCIgXHRcdFx0XHQtLXN0cmlwPTAgXHRcdFx0OyBcdFx0XHRybSBcIiRwXCI7IFx0XHRkb25lOyBcdFx0cm1kaXIgYmFzaC1wYXRjaGVzOyBcdGZpOyBcdFx0Y2QgL3Vzci9zcmMvYmFzaDsgXHRnbnVBcmNoPVwiJChkcGtnLWFyY2hpdGVjdHVyZSAtLXF1ZXJ5IERFQl9CVUlMRF9HTlVfVFlQRSlcIjsgXHQuL2NvbmZpZ3VyZSBcdFx0LS1idWlsZD1cIiRnbnVBcmNoXCIgXHRcdC0tZW5hYmxlLXJlYWRsaW5lIFx0XHQtLXdpdGgtY3Vyc2VzIFx0XHQtLXdpdGhvdXQtYmFzaC1tYWxsb2MgXHR8fCB7IFx0XHRjYXQgXHUwMDNlXHUwMDI2MiBjb25maWcubG9nOyBcdFx0ZmFsc2U7IFx0fTsgXHRtYWtlIC1qIFwiJChucHJvYylcIjsgXHRtYWtlIGluc3RhbGw7IFx0Y2QgLzsgXHRybSAtciAvdXNyL3NyYy9iYXNoOyBcdFx0cm0gLXIgXHRcdC91c3IvbG9jYWwvc2hhcmUvZG9jL2Jhc2gvKi5odG1sIFx0XHQvdXNyL2xvY2FsL3NoYXJlL2luZm8gXHRcdC91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIFx0XHQvdXNyL2xvY2FsL3NoYXJlL21hbiBcdDsgXHRcdHJ1bkRlcHM9XCIkKCBcdFx0c2NhbmVsZiAtLW5lZWRlZCAtLW5vYmFubmVyIC0tZm9ybWF0ICclbiNwJyAtLXJlY3Vyc2l2ZSAvdXNyL2xvY2FsIFx0XHRcdHwgdHIgJywnICdcXG4nIFx0XHRcdHwgc29ydCAtdSBcdFx0XHR8IGF3ayAnc3lzdGVtKFwiWyAtZSAvdXNyL2xvY2FsL2xpYi9cIiAkMSBcIiBdXCIpID09IDAgeyBuZXh0IH0geyBwcmludCBcInNvOlwiICQxIH0nIFx0KVwiOyBcdGFwayBhZGQgLS1uby1jYWNoZSAtLXZpcnR1YWwgLmJhc2gtcnVuZGVwcyAkcnVuRGVwczsgXHRhcGsgZGVsIC5idWlsZC1kZXBzOyBcdFx0WyBcIiQod2hpY2ggYmFzaClcIiA9ICcvdXNyL2xvY2FsL2Jpbi9iYXNoJyBdOyBcdGJhc2ggLS12ZXJzaW9uOyBcdFsgXCIkKGJhc2ggLWMgJ2VjaG8gXCIke0JBU0hfVkVSU0lPTiUlW14wLTkuXSp9XCInKVwiID0gXCIke19CQVNIX1ZFUlNJT04lJS0qfS4kX0JBU0hfTEFURVNUX1BBVENIXCIgXTsifSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjE2NDEyODQxMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjY1MWIzYmViZWJhOGJlOTE2MmM1NmIzZWI1NjExOTk5MDUyMzVmM2UxYzc4MTEyMzJiNmM5ZjQ4YWMzMzM2NTEgaW4gL3Vzci9sb2NhbC9iaW4vICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuMzE5Mzc1ODg0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCJkb2NrZXItZW50cnlwb2ludC5zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjUyNzUxNTkwMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwib3MiOiJsaW51eCIsInJvb3RmcyI6eyJ0eXBlIjoibGF5ZXJzIiwiZGlmZl9pZHMiOlsic2hhMjU2OjFiZmVlYmQ2NTMyM2I4ZGRmNWJkNmE1MWNjNzA5N2I3Mjc4OGJjOTgyZTlhYjMyODBkNTNkM2M2MTNhZGZmYTciLCJzaGEyNTY6NDgzYzk4MGFjNmFiZjYzZmM0ZDcyNjJiMTdhMTk1NGQ2MjI2NmRhYzMwMjliNWJlMzg0ZDAzYjM5MjI5ODAzZSIsInNoYTI1Njo1ZjVmOTNhOTMzMDUyMTBhOTZjYzQxN2Y1NzlkNzBhNDk2YmJmMGRiOGU4MGVhMWU5NDM2NjgyYzM3OWYyNWQ5Il19fQ=="},"Get_manifest":{"value":{"config":{"digest":"sha256:691fbc2d44fff48357bba69ab0505b9bf12b2b250a925a84a0b8e8e7eed390b2","mediaType":"application/vnd.docker.container.image.v1+json","size":5824},"layers":[{"digest":"sha256:a073c86ecf9e0f29180e80e9638d4c741970695851ea48247276c32c57e40282","mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":2014658},{"digest":"sha256:0e28711eb56d78f1e3dfde1807eba529d1346222bcd07d1cb1e436a18a0388bd","mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":19778035},{"digest":"sha256:e460dd483fddb555911f7ed188c319fd97542c60e36843dcb1c5d753f733e1fa","mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":1074044},{"digest":"sha256:6aa301222093bfb8cf424ccb387f59e2c9510c3a30cca7fbcf8c954f88e6600c","mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":5827},{"digest":"sha256:9c5d80083a57d565f684e0155707204d497a5ad965279f92927452f15dae17e6","mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","size":568}],"mediaType":"application/vnd.docker.distribution.manifest.v2+json","schemaVersion":2}},"Put_manifest":{"value":{}},"Get_a_blob_Chunk":{"value":"eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJC"}},"parameters":{"BlobQueryDigest":{"description":"Digest of a BLOB","in":"query","name":"digest","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"End a blob upload":{"value":"sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e"}}},"Content-Range":{"description":"Range of bytes identifying the desired block of content represented by the body. Start must the end offset retrieved via status check plus one. Note that this is a non-standard use of the `Content-Range` header.","in":"header","name":"Content-Range","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"}},"Digest":{"description":"Digest of a BLOB","in":"path","name":"digest","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"Delete a blob":{"value":"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"},"Get a blob from digest":{"value":"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"},"Head for a Blob Chunk":{"value":"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"},"Get a blob Chunk":{"value":"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"},"Get headers without blob Chunk":{"value":"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"}}},"From":{"description":"Name of the source repository.","in":"query","name":"from","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"Mount a blob from repository":{"value":"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"}}},"ImageName":{"description":"Name of the image (including the namespace)","in":"path","name":"name","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"Delete a repository":{"value":"nanoserver"},"Get details of repository":{"value":"nanoserver"},"Update repository attributes":{"value":"nanoserver"},"Get list of available manifests":{"value":"nanoserver"},"Get manifest attributes":{"value":"nanoserver"},"Update attributes of a manifest":{"value":"nanoserver"},"Get tags of a repository":{"value":"nanoserver"},"Delete a tag":{"value":"nanoserver"},"Get tag attributes":{"value":"test/bash"},"Update attributes of a tag":{"value":"nanoserver"},"Mount a blob from repository":{"value":"newimage"},"Delete a blob":{"value":"prod/bash"},"Get a blob from digest":{"value":"prod/bash"},"Head for a Blob Chunk":{"value":"prod/bash"},"Delete manifest":{"value":"alpine"},"Get manifest":{"value":"hello-world-dangling"},"Put manifest":{"value":"hello-world"},"Start a blob upload":{"value":"newimg"},"Get a blob Chunk":{"value":"prod/bash"},"Get headers without blob Chunk":{"value":"prod/bash"}}},"ImageReference":{"description":"A tag or a digest, pointing to a specific image","in":"path","name":"reference","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"Get manifest attributes":{"value":"sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086"},"Update attributes of a manifest":{"value":"sha256:110d2b6c84592561338aa040b1b14b7ab81c2f9edbd564c2285dd7d70d777086"},"Delete manifest":{"value":"3.7"},"Get manifest":{"value":"20190628-033033z"},"Put manifest":{"value":"a20190628-081044z"}}},"ManifestReference":{"description":"Tag or digest of the target manifest","in":"path","name":"reference","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"}},"Mount":{"description":"Digest of blob to mount from the source repository.","in":"query","name":"mount","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"Mount a blob from repository":{"value":"prod/bash"}}},"NextLink":{"description":"Link acquired from upload start or previous chunk. Note, do not include initial / (must do substring(1) )","in":"path","name":"nextBlobUuidLink","required":true,"x-ms-client-name":"location","x-ms-parameter-location":"method","x-ms-skip-url-encoding":true,"schema":{"type":"string"},"examples":{"End a blob upload":{"value":"v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9"},"Get blob status":{"value":"v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9"},"Upload Blob":{"value":"v2/blobland/blobs/uploads/2b28c60d-d296-44b7-b2b4-1f01c63195c6?_nouploadcache=false&_state=VYABvUSCNW2yY5e5VabLHppXqwU0K7cvT0YUdq57KBt7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIyYjI4YzYwZC1kMjk2LTQ0YjctYjJiNC0xZjAxYzYzMTk1YzYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDgtMjdUMjM6NTI6NDcuMDUzNjU2Mjg1WiJ9"}}},"NoUploadCache":{"description":"Acquired from NextLink","in":"query","name":"_nouploadcache","required":false,"x-ms-parameter-location":"method","schema":{"type":"boolean"}},"QueryDigest":{"description":"filter by digest","in":"query","name":"digest","required":false,"x-ms-parameter-location":"method","schema":{"type":"string"}},"QueryLast":{"description":"Query parameter for the last item in previous query. Result set will include values lexically after last.","in":"query","name":"last","required":false,"x-ms-parameter-location":"method","schema":{"type":"string"}},"QueryNum":{"description":"query parameter for max number of items","in":"query","name":"n","required":false,"x-ms-parameter-location":"method","schema":{"type":"integer"}},"QueryOrderBy":{"description":"orderby query parameter","in":"query","name":"orderby","required":false,"x-ms-parameter-location":"method","schema":{"type":"string"}},"Range":{"description":"Format : bytes=<start>-<end>, HTTP Range header specifying blob chunk.","in":"header","name":"Range","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"Get a blob Chunk":{"value":"bytes=0-299"},"Get headers without blob Chunk":{"value":"bytes=0-299"}}},"State":{"description":"Acquired from NextLink","in":"query","name":"_state","required":false,"x-ms-parameter-location":"method","schema":{"type":"string"}},"TagReference":{"description":"Tag name","in":"path","name":"reference","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"},"examples":{"Delete a tag":{"value":"4.7.2-20180905-nanoserver-1803"},"Get tag attributes":{"value":"sha256:eabe547f78d4c18c708dd97ec3166cf7464cc651f1cbb67e7afas407405b7ad7b6"},"Update attributes of a tag":{"value":"4.7.2-20180905-nanoserver-1803"}}},"Url":{"description":"Registry login URL","in":"path","name":"url","required":true,"x-ms-client-name":"loginUri","x-ms-parameter-location":"client","x-ms-skip-url-encoding":true,"schema":{"type":"string"}},"Uuid":{"description":"A uuid identifying the upload.","in":"path","name":"uuid","required":true,"x-ms-parameter-location":"method","schema":{"type":"string"}}},"requestBodies":{"ChangeableAttributes":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeableAttributes"}}},"description":"Repository attribute value","x-ms-parameter-location":"method"}},"securitySchemes":{"registry_auth":{"type":"http","scheme":"basic"},"registry_oauth2":{"in":"header","name":"Authorization","type":"apiKey"}},"schemas":{"AccessToken":{"properties":{"access_token":{"description":"The access token for performing authenticated requests","type":"string"}},"type":"object"},"AcrErrorInfo":{"description":"Error information","properties":{"code":{"description":"Error code","type":"string"},"detail":{"description":"Error details","type":"object"},"message":{"description":"Error message","type":"string"}}},"AcrErrors":{"description":"Acr error response describing why the operation failed","properties":{"errors":{"description":"Array of detailed error","items":{"$ref":"#/components/schemas/AcrErrorInfo"},"type":"array"}}},"AcrManifests":{"description":"Manifest attributes","example":{"imageName":"imageName","manifests":[{"architecture":"architecture","changeableAttributes":{"deleteEnabled":true,"listEnabled":true,"quarantineDetails":"quarantineDetails","quarantineState":"quarantineState","readEnabled":tr