
# 在应用仓库中新增应用 - CreateWarehouseApp
#### 功能介绍
在应用仓库中新增应用。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/WorkspaceApp/doc?api=CreateWarehouseApp)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                              | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | workspace:appWarehouse:createApp | Write | -           | -   | -  | -      |
     
  
 
#### URI
POST /v1/{project_id}/app-warehouse/apps
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| app_name           | 是    | String                                                                 | 应用名称,名称需满足如下规则: 1. 由中文，英文大小写，数字，_-组成。   2. 长度范围1\~64个字符。                             |
| app_category       | 是    | String                                                                 | 应用分类。                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| os_type            | 是    | String                                                                 | 操作系统类型。                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| version_id         | 是    | String                                                                 | 版本号,名称需满足如下规则: 1. 由可见字符组成。   2. 长度范围1\~64个字符。                                        |
| app_description    | 否    | String                                                                 | 应用仓库中的应用描述。                                                                                                                                                                                                                                                                                                                                                                                                                              |
| version_name       | 是    | String                                                                 | 版本描述,名称需满足如下规则: 1. 由可见字符组成。   2. 长度范围1\~255个字符。                                      |
| appfile_store_path | 是    | String                                                                 | 应用在obs桶的存储路径。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| app_icon           | 否    | String                                                                 | 说明： - 图片的默认大小当前限制为8KB，即1024 \* 8字节。   - 如果数据格式为data;image/png;base64,iVBORw0KGgoAAAANS时实际大小约为字段约为：size \* 4/3 + 4bytes。    |
| app_file_size      | 否    | Integer                                                                | 应用文件大小，单位为KB。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| app_extended_info  | 否    | [AppExtendedInfo] object | 自定义应用业务扩展信息。                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
 表4AppExtendedInfo 
| 参数            | 是否必选 | 参数类型                 | 描述         |
|:---|:---|:---|:---|
| extended_info | 否    | Map\<String,String\> | 扩展信息的键值对映射 |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数                 | 参数类型                                                                    | 描述              |
|:---|:---|:---|
| id                 | String                                                                  | 应用的记录id。        |
| app_id             | String                                                                  | 应用id。           |
| tenant_id          | String                                                                  | 租户id。           |
| app_name           | String                                                                  | 应用名称。           |
| app_category       | String                                                                  | 应用分类。           |
| os_type            | String                                                                  | 操作系统类型。         |
| version_id         | String                                                                  | 版本号。            |
| version_name       | String                                                                  | 版本名称。           |
| appfile_store_path | String                                                                  | 应用文件的存放路径。      |
| app_file_size      | String                                                                  | 应用文件的大小，以KB为单位。 |
| app_description    | String                                                                  | 应用描述。           |
| appicon_store_path | String                                                                  | 应用文件的存放路径。      |
| create_time        | String                                                                  | 应用创建时间。         |
| modify_time        | String                                                                  | 应用修改时间。         |
| verify_time        | String                                                                  | 应用审核时间。         |
| verify_status      | String                                                                  | 审核状态。           |
| verify_comment     | String                                                                  | 审核的评论意见。        |
| app_icon           | String                                                                  | app的图标文件。       |
| app_extended_info  | [AppExtendedInfo] object | 自定义应用业务扩展信息。    |
   
 表6AppExtendedInfo 
| 参数            | 参数类型                 | 描述         |
|:---|:---|:---|
| extended_info | Map\<String,String\> | 扩展信息的键值对映射 |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：401**
表8响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：403**
表9响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：404**
表10响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：405**
表11响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：415**
表12响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：500**
表13响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：503**
表14响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
#### 请求示例
```
POST /v1/a4da8115c9d8464ead3a38309130523f/app-warehouse/apps
{
  "app_name" : "Postman",
  "app_category" : "PRODUCTIVITY_AND_COLLABORATION",
  "os_type" : "Windows",
  "version_name" : "Canary",
  "version_id" : "7.9.0.0",
  "appfile_store_path" : "file/Postman.exe",
  "app_description" : "A postman setup exe.",
  "app_icon" : "data:image/png;base64,iVBORw0KGWBUwmyIgfBRgjsA88DJ9OxpLdgbbFDuB+Pt***********w59LFEQHa+0QrAJNBfiSUVORK5CYII=",
  "app_file_size" : 401
}
```
#### 响应示例
**状态码：200**
成功响应。
```
{
  "id" : "694648268272959491",
  "app_id" : "694648268205850627",
  "tenant_id" : "26a0420e9e284569a23f1b2f7d9b5011",
  "app_name" : "Postman",
  "app_category" : "PRODUCTIVITY_AND_COLLABORATION",
  "os_type" : "Windows",
  "version_id" : "7.9.0.0",
  "version_name" : "Canary",
  "appfile_store_path" : "file/Postman.exe",
  "app_file_size" : "401",
  "app_description" : "A postman setup exe.",
  "create_time" : "2024-05-07T07:16:27.791729999Z",
  "modify_time" : "2024-05-07T07:16:27.791729999Z",
  "verify_status" : "VERIFYING",
  "app_icon" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDP*************ABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAAC"
}
```
#### 状态码
| 状态码 | 描述                      |
|:---|:---|
| 200 | 成功响应。                   |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。  |
| 401 | 鉴权失败。                   |
| 403 | 没有操作权限。                 |
| 404 | 找不到资源。                  |
| 405 | 请求中指定的方法不被允许。           |
| 415 | 请求中提交的资源格式不支持。          |
| 500 | 服务内部错误，具体返回错误码请参见错误码说明。 |
| 503 | 服务不可用。                  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode_0.html)。
