Create model provider config
model_providers_createCreate a model provider config, validate the configured credential where the provider exposes a validation endpoint, then probe the provider's /models endpoint. The result is returned as model_catalog; a failed probe does not fail creation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not. | |
| orgID | Yes | Organization ID (org_...). | |
| preset | No | Built-in provider settings: openai, openrouter, or anthropic. A preset fills in api_format, api_variant, base_url, endpoint_path, auth_kind, and auth_options, so omit those when using one. | |
| headers | No | Extra HTTP headers sent with every request to this provider. Values are stored and returned as plain text; use secret_headers for keys and tokens. | |
| base_url | No | Provider endpoint base URL. Normal API mode requires a public HTTPS endpoint; localhost and loopback endpoints are accepted only when the API is running in insecure dev mode. | |
| auth_kind | No | How the credential is sent: bearer_token, api_key_header, or sigv4 (AWS). | |
| api_format | No | Wire protocol the model endpoint speaks: openai-responses, openai-chat-completions, or anthropic-messages. | |
| api_variant | No | Provider-specific flavor of the API format: default, openrouter, or bedrock. | |
| auth_options | No | Non-secret authentication settings. Use an empty object with bearer_token. With api_key_header, set {"header_name":"..."}; Anthropic Messages defaults to {"header_name":"x-api-key"}. With sigv4, set the AWS signing service and region. | |
| endpoint_path | No | URL path under base_url. Defaults to /responses for OpenAI Responses, /chat/completions for Chat Completions, and /messages for Anthropic Messages. | |
| secret_headers | No | Extra HTTP headers whose values come from org-owned generic secrets, mapping header names to secret references. | |
| idle_timeout_ms | No | Maximum wait for response headers or the next response bytes, in milliseconds. Heartbeats count as activity. Defaults to 300000 (5 minutes). Local response processing does not consume this idle budget. | |
| request_timeout_ms | No | Total deadline for one provider attempt, including reasoning and response streaming, in milliseconds. Defaults to 3600000 (60 minutes). Retries have separate deadlines. | |
| credential_secret_id | Yes | Secret ID (sec_...). |