Help Center/ SoftWare Repository for Container/ API Reference/ API/ Image Tag Management/ Querying Details About an Image with a Specific Tag
Updated on 2025-08-07 GMT+08:00

Querying Details About an Image with a Specific Tag

Description

This API is used to query the details about an image with a specified tag in an image repository.

This API is only available in the following regions:

CN North-Ulanqab1, CN South-Guangzhou-InvitationOnly, CN South-Shenzhen, CN East-Qingdao, AP-Manila, TR-Istanbul, CN-Hong Kong, AP-Singapore, AP-Jakarta, CN North-Beijing1, CN North-Beijing2, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2, CN East2, CN North-Ulanqab1, CN Southwest-Guiyang1, ME-Riyadh, CN South-Guangzhou, LA-Santiago, AP-Bangkok, LA-Sao Paulo1, LA-Mexico City1, and LA-Mexico City2

API Calling

For details, see Calling APIs.

URI

GET /v2/manage/namespaces/{namespace}/repos/{repository}/tags/{tag}

Table 1 Path parameter

Parameter

Mandatory

Type

Description

namespace

Yes

String

Organization name. Enter 1 to 64 characters, starting with a lowercase letter and ending with a lowercase letter or digit. Only lowercase letters, digits, periods (.), underscores (_), and hyphens (-) are allowed. Periods, underscores, and hyphens cannot be placed next to each other. A maximum of two consecutive underscores are allowed.

repository

Yes

String

Image repository name. Enter 1 to 128 characters. It must start and end with a lowercase letter or digit. Only lowercase letters, digits, periods (.), slashes (/), underscores (_), and hyphens (-) are allowed. Periods, slashes, underscores, and hyphens cannot be placed next to each other. A maximum of two consecutive underscores are allowed. Replace a slash (/) with a dollar sign ($) before you send the request.

tag

Yes

String

Tag name.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Message body type (format). Possible values:

application/json;charset=utf-8

application/json

X-Auth-Token

Yes

String

User token. You can obtain the token by calling the IAM API used to obtain a user token.

Response Parameters

Status code: 200

Table 3 Response body parameter

Parameter

Type

Description

id

Integer

Tag ID.

repo_id

Integer

Repository ID.

tag

String

Image tag name.

image_id

String

Image ID.

manifest

String

Image manifest.

digest

String

Hash value of an image.

schema

Integer

Docker protocol version. The version can be 1 or 2.

path

String

External image pull address, for example, swr.cn-north-1.myhuaweicloud.com/namespace/repository:tag.

internal_path

String

Internal image pull address. For example, 10.125.0.198:20202/namespace/repository:tag.

size

Integer

Image size, ranging from 0 to 9,223,372,036,854,775,807.

is_trusted

Boolean

By default, the value is false.

created

String

Time when the image was created. It is the UTC standard time. Users need to calculate the offset based on the local time, for example, UTC+8:00 for the East 8th Time Zone.

updated

String

Time when an image is updated. It is the UTC standard time. Users need to calculate the offset based on the local time, for example, UTC+8:00 for the East 8th Time Zone.

domain_id

String

Account ID.

tag_type

Integer

0: manifest; 1: manifest list

Example Request

None

Example Response

Status code: 200

The details of the image with a specified tag are queried.

{
  "id" : 0,
  "repo_id" : 0,
  "tag" : "latest",
  "image_id" : "741f24a795d6d93d7c6edd11780d63c13e16c39615dd9d223378a57a836f2ee6",
  "manifest" : "{\"schemaVersion\":2,\"mediaType\":\"application/vnd.docker.distribution.manifest.v2+json\",\"config\":{\"mediaType\":\"application/vnd.docker.container.image.v1+json\",\"size\":1862,\"digest\":\"sha256:741f24a795d6d93d7c6edd11780d63c13e16c39615dd9d223378a57a836f2ee6\"},\"layers\":[{\"mediaType\":\"application/vnd.docker.image.rootfs.diff.tar.gzip\",\"size\":1292800,\"digest\":\"sha256:8ac8bfaff55af948c796026ee867448c5b5b5d9dd3549f4006d9759b25d4a893\"},{\"mediaType\":\"application/vnd.docker.image.rootfs.diff.tar.gzip\",\"size\":10240,\"digest\":\"sha256:77ddbf3a9fe11e81761a0f9df43a28e3e6f29bbb53c0c8cf71cd7efa69729aed\"}]}",
  "digest" : "sha256:57b605845a6367c34bfb6ea6477f16852f59aa1861a2b51d10ab77ae0a1dc9c3",
  "schema" : 2,
  "path" : "swr.cn-north-1.myhuaweicloud.com/namespace/busybox:latest",
  "internal_path" : "10.125.0.198:20202/namespace/busybox:latest",
  "size" : 1304902,
  "is_trusted" : false,
  "created" : "2018-07-06T06:18:55Z",
  "updated" : "2018-07-06T06:18:55Z",
  "domain_id" : "050*****************6d70a960",
  "tag_type" : 0
}

SDK Sample Code

The following are SDK sample code:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.swr.v2.region.SwrRegion;
import com.huaweicloud.sdk.swr.v2.*;
import com.huaweicloud.sdk.swr.v2.model.*;


public class ShowRepoTagSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        SwrClient client = SwrClient.newBuilder()
                .withCredential(auth)
                .withRegion(SwrRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowRepoTagRequest request = new ShowRepoTagRequest();
        request.withNamespace("{namespace}");
        request.withRepository("{repository}");
        request.withTag("{tag}");
        try {
            ShowRepoTagResponse response = client.showRepoTag(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkswr.v2.region.swr_region import SwrRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkswr.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]

    credentials = BasicCredentials(ak, sk)

    client = SwrClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(SwrRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowRepoTagRequest()
        request.namespace = "{namespace}"
        request.repository = "{repository}"
        request.tag = "{tag}"
        response = client.show_repo_tag(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    swr "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/swr/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/swr/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/swr/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := swr.NewSwrClient(
        swr.SwrClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowRepoTagRequest{}
	request.Namespace = "{namespace}"
	request.Repository = "{repository}"
	request.Tag = "{tag}"
	response, err := client.ShowRepoTag(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

For SDK sample code in other programming languages, see the Sample Code tab in the API Explorer.

Status Codes

Status Code

Description

200

The details of the image with a specified tag are queried.

400

Request error.

401

Authentication failed.

404

Image repository or specified image tag not found.

500

Internal server error.

Error Codes

For details, see Error Codes.