
# 创建API
#### 功能介绍
创建API，未将API授权给APP。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=CreateAppAuthApi)中调试该接口，支持自动认证鉴权。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}/app-auth/{service_id}/apis
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| service_id | 是    | String | API所属的服务ID。                                                                                                                                                                                                                                                                                                         |
| project_id | 是    | String | **参数解释** ：用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 **约束限制**：1 - 64字符，字母、数字和中划线。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**：用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
   
表3请求Body参数 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| workspace_id     | 否    | String  | 工作空间id。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| support_app_code | 否    | Boolean | 是否支持APP CODE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| auth_type        | 否    | String  | API的认证方式。 枚举值如下： - NONE：无认证   - APP：APP认证   - IAM：IAM认证    |
| api_name         | 否    | String  | API名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| api_url          | 否    | String  | API的URL。字符长度不超过255。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| api_path         | 否    | String  | API的PATH。字符长度不超过255。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| api_method       | 否    | String  | 请求方式包含GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY，固定返回ANY。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| api_remark       | 否    | String  | API描述。字符长度不超过255。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数  | 参数类型                                                                                        | 描述       |
|:---|:---|:---|
| api | [AuthTypeApiBasicInfo] object | API认证详情。 |
   
 表5AuthTypeApiBasicInfo 
| 参数               | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| api_id           | String  | API编号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| api_method       | String  | 请求方式包含GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY，固定返回ANY。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| api_name         | String  | API名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| api_remark       | String  | API描述。字符长度不超过255。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| auth_type        | String  | API的认证方式。枚举值如下： - NONE：无认证   - APP：APP认证   - IAM：IAM认证    |
| predict_url      | String  | 预测地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| service_id       | String  | 服务编号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| service_name     | String  | 服务名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| support_app_code | Boolean | 是否支持APP CODE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
**状态码：401**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
**状态码：403**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
**状态码：404**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释**：ModelArts错误码。 **取值范围**：不涉及。 |
| error_msg  | String | **参数解释**：具体错误信息。 **取值范围**：不涉及。       |
   
#### 请求示例
```
POST https://{endpoint}/v1/{project_id}/app-auth/{service_id}/apis
{
  "workspace_id" : "0",
  "support_app_code" : true,
  "auth_type" : "APIG",
  "api_name" : "app_test",
  "api_url" : "https://d566c7efafe04a26a83d3a8475602ee3.apig.xxxxxx.com/v1/infers/456963f1-737c-4de0-8bee-5b4f6f3a8fa3",
  "api_path" : "/v1/infers/456963f1-737c-4de0-8bee-5b4f6f3a8fa3",
  "api_method" : "GET",
  "api_remark" : "test"
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "api" : {
    "api_id" : "7e0d272df0e94297b7d4046bada3f158",
    "api_name" : "infer_ae20fc9fb37c48c28ebc3f3a638c9f48",
    "api_method" : "ANY",
    "predict_url" : "https://b86b2d069324491fbd66940e4533b45c.apig.xxxxxx.com/v1/infers/ae20fc9f-b37c-48c2-8ebc-3f3a638c9f48",
    "support_app_code" : true,
    "service_id" : "ae20fc9f-b37c-48c2-8ebc-3f3a638c9f48",
    "service_name" : "service-3c02",
    "auth_type" : "APP",
    "api_remark" : "test"
  }
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | OK           |
| 401 | Unauthorized |
| 403 | Forbidden    |
| 404 | Not Found    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
