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

Querying All Versions of a Specified Identity Policy

Function

This API is used to query all versions of a specified identity policy.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.

Action

Access Level

Resource Type (*: required)

Condition Key

Alias

Dependencies

iam:policies:listVersionsV5

List

policy *

-

-

-

URI

GET /v5/policies/{policy_id}/versions

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

policy_id

Yes

String

Identity policy ID. The value contains 1 to 64 characters, including only letters, digits, and hyphens (-).

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

limit

No

Integer

Number of records displayed on each page. The value ranges from 1 to 200. The default value is 100.

Minimum: 1

Maximum: 200

Default: 100

marker

No

String

Pagination marker. The value contains 4 to 400 characters, including only letters, digits, and the following special characters: +/=-_

Minimum: 4

Maximum: 400

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

versions

Array of PolicyVersion objects

List of identity policy versions.

page_info

PageInfo object

Pagination information.

Table 4 PolicyVersion

Parameter

Type

Description

document

String

JSON format of the policy document of a custom or a preset identity policy. Characters =, <, >, (, ), and | are special characters in the grammar and are not included in policies.

The question mark (?) following an element indicates that the element is optional, for example, sid_block?.

The vertical bar (|) separates options, and the parentheses enclose the options, for example, ("Allow" | "Deny").

When an element allows more than one value, use commas (,), and ellipsis (...), for example, [ <policy_statement>, <policy_statement>, ... ].

The following listing describes the policy language grammar:

policy = {
  <version_block>,
  <statement_block>
}

<version_block> = "Version" : ("5.0")

<statement_block> = "Statement" : [ <policy_statement>, <policy_statement>, ... ]

<policy_statement> = {
  <sid_block?>,
  <effect_block>,
  <action_block>,
  <resource_block?>,
  <condition_block?>
}

<sid_block> = "Sid" : <sid_string>

<effect_block> = "Effect" : ("Allow" | "Deny")

<action_block> = ("Action" | "NotAction") : [ <action_string>, <action_string>, ... ]

<resource_block> = ("Resource" | "NotResource") : [ <resource_string>, <resource_string>, ... ]

<condition_block> = "Condition" : { <condition_map> }

<condition_map> = {
  <condition_type_string> : { <condition_key_string> : <condition_value_list> },
  <condition_type_string> : { <condition_key_string> : <condition_value_list> },
  ...
}

<condition_value_list> = ( <condition_value> | [ <condition_value>, <condition_value>, ... ] )

<condition_value> = "string"

version_id

String

Identity policy version. The value is a character string starting with v and followed by digits, for example, v5.

is_default

Boolean

Indicates whether the version is the default version.

created_at

String

Time when an identity policy version was created.

Table 5 PageInfo

Parameter

Type

Description

next_marker

String

If this parameter exists, there are subsequent items that are not displayed in the current response body. The value can be used as the pagination marker parameter for the next request to obtain information about the next page. This API can be repeatedly called until this field does not exist.

current_count

Integer

Number of items returned on this page.

Status code: 403

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

request_id

String

Request ID.

encoded_authorization_message

String

Encrypted authentication failure information, which can be decrypted using the STS5 decryption API.

Status code: 404

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

request_id

String

Request ID.

Example Requests

Querying all versions of a specified identity policy

GET https://{endpoint}/v5/policies/{policy_id}/versions

Example Responses

Status code: 200

Successful

{
  "versions" : [ {
    "document" : "{\"Version\":\"5.0\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"*\"]}]}",
    "version_id" : "v1",
    "is_default" : true,
    "created_at" : "2023-09-25T09:03:24.786Z"
  } ],
  "page_info" : {
    "next_marker" : "marker",
    "current_count" : 1
  }
}

Status Codes

Status Code

Description

200

Successful

403

Forbidden

404

Not found

Error Codes

See Error Codes.