Updated on 2026-07-24 GMT+08:00

Adding a Provider

Function

Creates a provider. Associated models can also be created in batches.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    workspace:modelProvider:create

    Write

    -

    -

    -

    -

URI

POST /v3/ai-agents/model-providers

Request Parameters

Table 1 Request body parameters

Parameter

Mandatory

Type

Description

provider_type

Yes

String

Provider type. (The value must be the same as that in the template when the template is created. The value is custom when the template is customized.)

provider_id

Yes

String

Provider ID. (The value must be the same as that in the template when the template is created. You can specify the value when customizing the template.)

api_key

No

String

API key of the provider (encrypted using SCC).

provider_name

Yes

String

Provider name (customized by the tenant).

base_url

Yes

String

Customized base URL.

custom_config

No

ProviderCustomConfig object

Customized provider configuration.

models

No

Array of CreateModelReq objects

List of models to be associated in batches.

api_type

Yes

String

API protocol type (OpenAI/Anthropic).

Table 2 ProviderCustomConfig

Parameter

Mandatory

Type

Description

model_list_api

No

String

Address of the model list API, which is used to query the provider's remote models.

auth_header

No

String

Name of the authentication request header.

auth_prefix

No

String

Authentication prefix (for example, Bearer).

model_id_field

No

String

Field name of the model ID in the provider model list.

model_name_field

No

String

Field name of the model name in the provider model list.

headers

No

Map<String,String>

Customized HTTP request header, which is added when the provider API is called.

Table 3 CreateModelReq

Parameter

Mandatory

Type

Description

name

Yes

String

Model name.

input

No

Array of strings

Input type array.

provider_model_id

Yes

String

Model ID on the provider side.

description

No

String

Model description.

reasoning

No

Boolean

Whether inference is supported.

cost

No

ModelCost object

Fee information.

context_window

No

Integer

Maximum context window.

max_tokens

No

Integer

Maximum number of output tokens.

compat

No

ModelCompat object

Compatibility configuration.

Table 4 ModelCost

Parameter

Mandatory

Type

Description

input

No

Double

Fee per million input tokens.

output

No

Double

Fee per million output tokens.

cache_read

No

Double

Cache reading fee per million tokens.

cache_write

No

Double

Cache writing fee per million tokens.

Table 5 ModelCompat

Parameter

Mandatory

Type

Description

supports_usage_streaming

No

Boolean

Whether usage streaming transmission is supported.

supports_developer_role

No

Boolean

Whether the developer role is supported.

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

id

String

Provider ID.

provider_type

String

Provider type.

provider_id

String

Provider ID.

provider_name

String

Provider name.

base_url

String

Provider base URL.

connection_status

String

Connection status. The value can be connected, disconnected, or unverified.

is_builtin

Boolean

Whether the provider is a built-in provider.

api_type

String

API protocol type (OpenAI/Anthropic).

custom_config

Object

Customized configuration.

last_verify_time

String

Last verification time (in ISO 8601 format and UTC time zone).

create_time

String

Creation time (in ISO 8601 format and UTC time zone).

update_time

String

Update time (in ISO 8601 format and UTC time zone).

created_models

Array of ModelItemResp objects

List of created models.

Table 7 ModelItemResp

Parameter

Type

Description

id

String

Model ID.

name

String

Model name.

provider_model_id

String

Model ID on the provider side.

input

Array of strings

Input type array.

description

String

Model description.

is_builtin

Boolean

Whether the model is a built-in model.

Status code: 400

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 401

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 403

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 405

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Status code: 500

Table 12 Response body parameters

Parameter

Type

Description

error_code

String

Error code, which is returned upon failure.

error_msg

String

Error message.

Example Requests

None

Example Responses

None

Status Codes

Status Code

Description

200

Operation successful.

400

The request cannot be understood by the server due to malformed syntax.

401

Authorization failed.

403

No permissions.

405

The request method is not allowed.

500

Internal server error.

Error Codes

See Error Codes.