Updated on 2025-09-11 GMT+08:00

Listing Template Versions

Function

ListTemplateVersions

This API lists all template versions in a template.

  • By default, the template versions are sorted by creation time. The template created latest is displayed on the top.

  • If there is no template version, an empty list will be returned.

  • template_id is the unique ID of the template. It is a UUID generated by RFS when a template is created. Template names are unique at one specific time, so you can create a template named HelloWorld and another template with the same name after deleting the first one. For parallel development, team members may want to ensure that they are operating the template they created, not one with the same name created by other members after deleting the previous one. To avoid this mismatch, check the ID, since RFS ensures each template has a unique ID that does not change with updates. If the template_id value differs from the current template ID, 400 is returned.

  • If the template does not exist, 404 is returned.

  • Support pagination. If there is next_marker in the response, more output is available than is included in the current response. Use this value in the marker request parameter in a subsequent call to get the next part of the outputs. You should repeat this until the next_marker response is set to null.

ListTemplateVersions returns only summaries of template versions. For details, refer to ListTemplateVersionsResponseBody. To obtain the template version, call ShowTemplateVersionContent.

URI

GET /v1/{project_id}/templates/{template_name}/versions

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. It can be obtained by calling an API or from the console.

Obtaining a Project ID

template_name

Yes

String

Name of a template. The name is unique within its domain (domain_id) and region. Chinese characters, letters, digits, underscores (_), and hyphens (-) are allowed. It is case-sensitive and must start with a Chinese character or a letter.

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

template_id

No

String

ID of a template. If template_id exists, the template service checks whether template_id matches template_name. If not, 400 is returned.

marker

No

String

Pagination marker. When a single page cannot return all results, the previous request will return a next_marker to indicate there are more pages. Users can place the value of next_marker here to query information from the next page. This marker can only be used for requests with the same parameters as the previous request. If not specified, the query will start from the first page by default.

limit

No

Integer

The maximum number of results to return per page

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

Client-Request-Id

Yes

String

Unique request ID. It is specified by a user and is used to locate a request. UUID is recommended.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

versions

Array of TemplateVersion objects

Template version list.

page_info

PageInfo object

Pagination information

Table 5 TemplateVersion

Parameter

Type

Description

template_id

String

Unique template ID. It is randomly generated by the template service.

template_name

String

Name of a template. The name is unique within its domain (domain_id) and region. Chinese characters, letters, digits, underscores (_), and hyphens (-) are allowed. It is case-sensitive and must start with a Chinese character or a letter.

version_description

String

Description of a template version. It can be used by users to identify their own template versions.

create_time

String

Creation time of a template version. The format complies with RFC3339 (YYYY-MM-DDTHH:MM:SSZ), for example, 1970-01-01T00:00:00Z.

version_id

String

Template version ID.

Table 6 PageInfo

Parameter

Type

Description

next_marker

String

Forward pagination identifier. Marker for the next set of results. If present, more output is available than is included in the current response. Use this value in the marker request parameter in a subsequent call to get the next part of the outputs. You should repeat this until the next_marker response is set to null.

previous_marker

String

Backward pagination identifier.

current_count

Integer

The number of items returned on current page.

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 8 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 401

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 10 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 403

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 12 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 404

Table 13 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 14 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 429

Table 15 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 16 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Status code: 500

Table 17 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

The message contains information about unauthorized requests.

details

Array of Detail objects

Detailed error messages returned by service when permission is denied.

Table 18 Detail

Parameter

Type

Description

error_code

String

Response code.

error_msg

String

Response message.

Example Requests

  • List all versions of the current template.

    GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions
  • List all versions of the current template and check whether the template ID matches the current template.

    GET https://{endpoint}/v1/c364070ab35041ddae68cf8b4839b60f/templates/my_template/versions?template_id=1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3

Example Responses

Status code: 200

Template versions listed.

{
  "versions" : [ {
    "template_id" : "69f8d5ea-eaa4-4a3b-a96d-bae9230e97c8",
    "template_name" : "my_first_template",
    "version_description" : "Second version of the current template",
    "create_time" : "2023-05-09T08:01:24Z",
    "version_id" : "V2"
  }, {
    "template_id" : "69f8d5ea-eaa4-4a3b-a96d-bae9230e97c8",
    "template_name" : "my_first_template",
    "version_description" : "First version of the current template",
    "create_time" : "2023-05-09T08:01:23Z",
    "version_id" : "V1"
  } ],
  "page_info" : {
    "next_marker" : null,
    "previous_marker" : "zxc1oHc08HcCmypYGTsOoRcvoHUvHRUAW5NOSnc1oHc08HcCPZrwP5NOeTlRiukJgtGxeujJeuGwGIihaIUCmypYGTsOtqvKPr2xmH8fPqpGWyQ0axGwGZp9aqvx8pQ7m5FvGTsJiKk7gtNFiuaxetdRCks=",
    "current_count" : 2
  }
}

Status Codes

Status Code

Description

200

Template versions listed.

400

Invalid request.

401

Authentication failed.

403

The user does not have the permission to call this API.

404

The template does not exist.

429

Too frequent requests.

500

Internal server error.