
# 授权API至APP
#### 功能介绍
将指定的API授权给APP。API的认证方式必须为APP认证，APP的创建用户必须是API所属服务的创建者，且请求用户对API所属服务必须有更新权限。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=AuthorizeApiToApigApps)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-modelarts/modelarts_03_0138.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v1/{project_id}/services/{service_id}/app-auth-apis/{api_id}/app-auth-api
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | 用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 |
| service_id | 是    | String | API所属的服务ID。                                                                                      |
| api_id     | 是    | String | API编号。                                                                                           |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户token。 |
   
表3请求Body参数 
| 参数           | 是否必选 | 参数类型                                                                 | 描述                                                                                                                               |
|:---|:---|:---|:---|
| apps         | 是    | Array of [Apps] objects | app列表。                                                                                                                           |
| workspace_id | 否    | String                                                               | 工作空间ID。获取方法请参见[查询工作空间列表](https://support.huaweicloud.com/api-modelarts/ListWorkspace.html)。未创建工作空间时默认值为"0"，存在创建并使用的工作空间，以实际取值为准。 |
   
 表4Apps 
| 参数     | 是否必选 | 参数类型   | 描述                   |
|:---|:---|:---|:---|
| app_id | 否    | String | APP的编号，可通过查询APP列表获取。 |
   
#### 响应参数
**状态码：200**
表5响应Header参数 
| 参数           | 参数类型   | 描述     |
|:---|:---|:---|
| X-Request-Id | String | 链路追踪编号 |
   
表6响应Body参数 
| 参数          | 参数类型                                                                                            | 描述      |
|:---|:---|:---|
| auth_result | Array of [AppAuthResultInfo] objects | 授权结果列表。 |
   
 表7AppAuthResultInfo 
| 参数      | 参数类型    | 描述                    |
|:---|:---|:---|
| api_id  | String  | API的编号。               |
| app_id  | String  | APP的编号，可通过查询APP列表获取。  |
| auth_id | String  | 授权编号，授权失败时为空。         |
| reason  | String  | 授权或者取消授权失败原因，授权成功时为空。 |
| success | Boolean | 授权或者取消授权是否成功。         |
   
**状态码：401**
表8响应Header参数 
| 参数           | 参数类型   | 描述     |
|:---|:---|:---|
| X-Request-Id | String | 链路追踪编号 |
   
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
**状态码：403**
表10响应Header参数 
| 参数           | 参数类型   | 描述     |
|:---|:---|:---|
| X-Request-Id | String | 链路追踪编号 |
   
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
**状态码：404**
表12响应Header参数 
| 参数           | 参数类型   | 描述     |
|:---|:---|:---|
| X-Request-Id | String | 链路追踪编号 |
   
表13响应Body参数 
| 参数         | 参数类型   | 描述                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
**状态码：500**
表14响应Header参数 
| 参数           | 参数类型   | 描述     |
|:---|:---|:---|
| X-Request-Id | String | 链路追踪编号 |
   
表15响应Body参数 
| 参数         | 参数类型   | 描述                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
#### 请求示例
授权应用给指定的api
```
POST https://{endpoint}/v1/{project_id}/services/{service_id}/app-auth-apis/{api_id}/app-auth-api
{
  "apps" : [ {
    "app_id" : "e2fb64be3be9418bb0f570c60f0ed93f"
  } ]
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "auth_result" : [ {
    "api_id" : "logic-api-fe84e858-49ec-41c6-80d7-a34fc22435c2",
    "app_id" : "logic-app-ce0d0a41-451d-4563-94d9-acc75b5e440f",
    "success" : true
  } ]
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Server Internal Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
