# AK/SK 换取Cpcs token - SwitchCpcsToken
#### 功能介绍
使用aksk换取cpcs token
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dew/dew_02_0002.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dew/dew_02_0308.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                             | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                                    | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | cpcs::switchCpcsTokenByIamToken | Write | -           | -   | cpcs:system:switchCpcsTokenByIamToken | -      |
     
  
 
#### URI
POST /v1/{project_id}/dew/cpcs/token/switch
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID。可参考[获取项目ID](https://support.huaweicloud.com/api-dew/dew_02_0009.html)获取。 **约束限制：** 不涉及 **取值范围：** 字符长度为32 **默认取值：** 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值）。使用AK、SK等认证方式，此处非必选 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| app_id | 否    | String | **参数解释：** 应用ID，从应用列表获取 约束限制： 不涉及 取值范围： 不涉及 默认取值： 不涉及 |
   
#### 响应参数
**状态码：200**
表4响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                             |
|:---|:---|:---|
| X-CPCS-Token | String | **参数解释：** 换取的cpcs token **取值范围：** 不涉及 |
   
表5响应Body参数 
| 参数    | 参数类型                                             | 描述                                                                                                                                          |
|:---|:---|:---|
| token | [token] object | **参数解释：** 换取的token实例 **取值范围：** 不涉及 |
   
 表6token 
| 参数         | 参数类型                                                       | 描述                                                                                                                                                 |
|:---|:---|:---|
| app        | [app] object               | **参数解释：** 应用信息 **取值范围：** 不涉及              |
| expires_at | String                                                     | **参数解释：** 过期时间，时间格式为UTC时间格式 **取值范围：** 不涉及 |
| roles      | Array of [roles] objects | **参数解释：** 角色列表 **取值范围：** 不涉及              |
| issued_at  | String                                                     | **参数解释：** 签发时间，时间格式为UTC时间格式 **取值范围：** 不涉及 |
| user       | [user] object             | **参数解释：** 用户信息 **取值范围：** 不涉及              |
   
 表7app 
| 参数      | 参数类型    | 描述                                                                                                                                    |
|:---|:---|:---|
| appName | String  | **参数解释：** 应用名称 **取值范围：** 不涉及 |
| appId   | String  | **参数解释：** 应用ID **取值范围：** 不涉及 |
| status  | Integer | **参数解释：** 应用状态 **取值范围：** 不涉及 |
   
 表8roles 
| 参数   | 参数类型    | 描述                                                                                                                                    |
|:---|:---|:---|
| name | String  | **参数解释：** 角色名称 **取值范围：** 不涉及 |
| id   | Integer | **参数解释：** 角色ID **取值范围：** 不涉及 |
   
 表9user 
| 参数     | 参数类型                                               | 描述                                                                                                                                     |
|:---|:---|:---|
| domain | [domain] object | **参数解释：** 主账号信息 **取值范围：** 不涉及 |
| name   | String                                             | **参数解释：** 用户名称 **取值范围：** 不涉及  |
| id     | String                                             | **参数解释：** 用户ID **取值范围：** 不涉及  |
   
 表10domain 
| 参数   | 参数类型   | 描述                                                                                                                                     |
|:---|:---|:---|
| name | String | **参数解释：** 主账号名称 **取值范围：** 不涉及 |
| id   | String | **参数解释：** 主账号ID **取值范围：** 不涉及 |
   
#### 请求示例
换取指定集群token
```
POST https://cpcs.com/v1/d4e559b49b3b403da5279723299ed4a6/dew/cpcs/token/switch
{
  "app_id" : "d4e559b49b3b403da5279723299ed4a6"
}
```
#### 响应示例
**状态码：200**
换取token的响应体
```
{
  "token" : {
    "app" : {
      "appName" : "1111",
      "appId" : "1f51f268a76648d8a8897b85cb94852d",
      "status" : 0
    },
    "expires_at" : "2025-12-10T08:45:17.000000Z",
    "roles" : [ {
      "name" : "*",
      "id" : 0
    } ],
    "issued_at" : "2025-12-10T08:45:17.000000Z",
    "user" : {
      "domain" : {
        "name" : "test_domain",
        "id" : "3bab8e245e854f68af5967c00dd43127"
      },
      "name" : "test",
      "id" : "6c2a33b1b8474d0dbac0a24297127525"
    }
  }
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | 换取token的响应体 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dew/ErrorCode.html)。
