
# 新增供应商配置 - CreateProvider
#### 功能介绍
创建供应商，支持同时批量创建关联的模型。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/Workspace/doc?api=CreateProvider)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                            | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | workspace:modelProvider:create | Write | -           | -   | -  | -      |
     
  
 
#### URI
POST /v3/ai-agents/model-providers
#### 请求参数
表1请求Body参数 
| 参数            | 是否必选 | 参数类型                                                                         | 描述                               |
|:---|:---|:---|:---|
| provider_type | 是    | String                                                                       | 供应商类型（模板创建时与模板保持一致，自定义时为custom）。 |
| provider_id   | 是    | String                                                                       | 供应商标识（模板创建时与模板保持一致，自定义时可指定）。     |
| api_key       | 否    | String                                                                       | 供应商API Key（SCC加密存储）。             |
| provider_name | 是    | String                                                                       | 供应商名称（租户自定义）。                    |
| base_url      | 是    | String                                                                       | 自定义Base URL。                     |
| custom_config | 否    | [ProviderCustomConfig] object | 自定义Provider配置。                   |
| models        | 否    | Array of [CreateModelReq] objects   | 批量创建关联的模型列表。                     |
| api_type      | 是    | String                                                                       | API协议类型（OpenAI/Anthropic）。       |
   
 表2ProviderCustomConfig 
| 参数               | 是否必选 | 参数类型                 | 描述                      |
|:---|:---|:---|:---|
| model_list_api   | 否    | String               | 模型列表接口地址，用于查询供应商远程模型。   |
| auth_header      | 否    | String               | 认证请求头名称。                |
| auth_prefix      | 否    | String               | 认证前缀（如Bearer）。          |
| model_id_field   | 否    | String               | 供应商模型列表中模型ID字段名。        |
| model_name_field | 否    | String               | 供应商模型列表中模型名称字段名。        |
| headers          | 否    | Map\<String,String\> | 自定义HTTP请求头，调用供应商API时附加。 |
   
 表3CreateModelReq 
| 参数                | 是否必选 | 参数类型                                                       | 描述          |
|:---|:---|:---|:---|
| name              | 是    | String                                                     | 模型名称。       |
| input             | 否    | Array of strings                                           | 输入类型数组。     |
| provider_model_id | 是    | String                                                     | 供应商侧模型标识。   |
| description       | 否    | String                                                     | 模型描述。       |
| reasoning         | 否    | Boolean                                                    | 是否支持推理。     |
| cost              | 否    | [ModelCost] object     | 费用信息。       |
| context_window    | 否    | Integer                                                    | 最大上下文窗口。    |
| max_tokens        | 否    | Integer                                                    | 最大输出Token数。 |
| compat            | 否    | [ModelCompat] object | 兼容性配置。      |
   
 表4ModelCost 
| 参数          | 是否必选 | 参数类型   | 描述              |
|:---|:---|:---|:---|
| input       | 否    | Double | 每百万输入Token费用。   |
| output      | 否    | Double | 每百万输出Token费用。   |
| cache_read  | 否    | Double | 每百万缓存读取Token费用。 |
| cache_write | 否    | Double | 每百万缓存写入Token费用。 |
   
 表5ModelCompat 
| 参数                       | 是否必选 | 参数类型    | 描述           |
|:---|:---|:---|:---|
| supports_usage_streaming | 否    | Boolean | 是否支持使用量流式传输。 |
| supports_developer_role  | 否    | Boolean | 是否支持开发者角色。   |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数                | 参数类型                                                                      | 描述                                       |
|:---|:---|:---|
| id                | String                                                                    | 供应商id。                                   |
| provider_type     | String                                                                    | 供应商类型。                                   |
| provider_id       | String                                                                    | 供应商id。                                   |
| provider_name     | String                                                                    | 供应商名称。                                   |
| base_url          | String                                                                    | 供应商base_url。                             |
| connection_status | String                                                                    | 连接状态（connected/disconnected/unverified）。 |
| is_builtin        | Boolean                                                                   | 是否内置供应商。                                 |
| api_type          | String                                                                    | API协议类型（OpenAI/Anthropic）。               |
| custom_config     | Object                                                                    | 自定义配置。                                   |
| last_verify_time  | String                                                                    | 最后验证时间（ISO8601格式，UTC时区）。                 |
| create_time       | String                                                                    | 创建时间（ISO8601格式，UTC时区）。                   |
| update_time       | String                                                                    | 更新时间（ISO8601格式，UTC时区）。                   |
| created_models    | Array of [ModelItemResp] objects | 创建的模型列表。                                 |
   
 表7ModelItemResp 
| 参数                | 参数类型             | 描述        |
|:---|:---|:---|
| id                | String           | 模型id。     |
| name              | String           | 模型名称。     |
| provider_model_id | String           | 供应商侧模型标识。 |
| input             | Array of strings | 输入类型数组。   |
| description       | String           | 模型描述。     |
| is_builtin        | Boolean          | 是否为内置模型。  |
   
**状态码：400**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：401**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：403**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：405**
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：500**
表12响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
#### 请求示例
```
POST /v3/ai-agents/model-providers
{
  "provider_type" : "hw_maas",
  "provider_id" : "hw_maas",
  "provider_name" : "华为云MAAS",
  "api_type" : "OpenAI",
  "base_url" : "https://api-ap-southeast-1.modelarts-maas.com/v2",
  "api_key" : "sk-xxxxxxxxxxxxxxxxxxxx"
}
```
#### 响应示例
**状态码：200**
操作成功。
```
{
  "id" : "provider-uuid-001",
  "provider_type" : "hw_maas",
  "provider_id" : "provider-uuid-001",
  "provider_name" : "华为云MAAS",
  "base_url" : "https://api-ap-southeast-1.modelarts-maas.com/v2",
  "connection_status" : "unverified",
  "is_builtin" : true,
  "api_type" : "OpenAI",
  "custom_config" : {
    "model_list_api" : "https://api-ap-southeast-1.modelarts-maas.com/v2/models",
    "auth_header" : "Authorization",
    "auth_prefix" : "Bearer",
    "model_id_field" : "id",
    "model_name_field" : "id"
  },
  "last_verify_time" : "",
  "create_time" : "2026-05-12T10:00:00Z",
  "update_time" : "2026-05-12T10:00:00Z",
  "created_models" : [ ]
}
```
#### 状态码
| 状态码 | 描述                     |
|:---|:---|
| 200 | 操作成功。                  |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。 |
| 401 | 鉴权失败。                  |
| 403 | 没有操作权限。                |
| 405 | 请求中指定的方法不被允许。          |
| 500 | 服务内部异常。                |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode.html)。
