Skip to main content
A definition for an LLM proxy provider. This type is only used in the llm-proxy.providers server config.
Use this configuration with your own provider keys. For convenience, a Coral Cloud API key can automatically configure supported providers while your server and console remain self-hosted.
Any agent that has defined LLM proxy requests requires the server to have a suitable LLM proxy provider configured for every request.

name

required The name of the LLM proxy provider. This must be unique. Application developers can request the usage of a specific LLM proxy provider by specifying this name in the proxies map.

format.type

required
The LLM provider format. Current supported types are:
  • OpenAI
  • Anthropic
  • DeepSeek

models

optional
An array of models that this provider supports. This may be omitted if allow_any_model is set to true. Note that if this is empty, the default value of allow_any_model is true.

api_key

required
The API key to use for this provider.

base_url

required
The base URL to use for this provider. Requests will be made to this URL with the path of the request appended. The proxy appends the agent’s request path without removing or inserting a version prefix. Configure the provider base and the agent SDK’s base URL together. For the built-in prototype runtime’s OpenAI client (and the Koog template), requests contain v1/chat/completions; use https://api.openai.com as the provider base. Setting that provider base to https://api.openai.com/v1 produces /v1/v1/chat/completions. An SDK that sends only chat/completions instead needs the provider base to include /v1, or the SDK base URL to add /v1 after CORAL_PROXY_URL_<NAME>. Confirm the actual upstream path when adapting a new client. The same rule applies to Anthropic’s /v1/messages endpoint and other compatible providers. The format.type selects request authentication and usage parsing; it does not translate arbitrary provider APIs into OpenAI or Anthropic APIs.

timeout

default 10m
optional
See here for more information on the duration format. A timeout for requests made to this provider. Slower providers may require a longer timeout.

allow_any_model

optional
If true, this provider will match a request for any model that matches the specified format. This is useful for defining fallback providers that can handle many models, e.g., OpenRouter. Resolution of AgentLlmProxyRequest will prioritize providers that have explicitly specified a model over providers that allow any model. The default value is false if models contains at least one model and true otherwise.