Skip to main content
A provider is an upstream endpoint that serves models. Reads are scoped to a workspace, so pass workspace_id as a query parameter. Reads need providers:read and writes need providers:write.
Creates always land in your account’s default workspace. A workspace_id in the body is ignored. Only reads accept a workspace.

List providers

string
Limit results to one workspace.
string
Match providers whose name contains this value.
string
OPENAI_COMPATIBLE or ANTHROPIC.
boolean
Whether an upstream key is stored. The key itself is sealed and is never returned.
string
custom for a provider you configured by hand, or automatic for one resolved from the models catalog.

Get a provider

Create a provider

string
required
4 to 32 characters, letters, numbers, hyphens, and underscores only. Stored lowercased.
integer
required
0 to 1000. The order in which providers are tried. Lower runs first.
string
default:"custom"
custom or automatic.
string
OPENAI_COMPATIBLE or ANTHROPIC. Required when source is custom.
string
The catalog identifier. Required when source is automatic. Max 128 characters.
string
The upstream base URL. An http or https URL, or an empty string.
string
The upstream key. Sealed on write and never returned.
string
Overrides the User-Agent sent upstream. Max 256 printable ASCII characters.

Update a provider

PATCH is a full replace, not a merge. It validates the same schema as create, so name and priority are required on every update. Omitting a field clears it rather than keeping it.
The response carries no body beyond { "success": true }. The SDK re-reads the provider after a write so the entity you hold stays accurate.

Delete a provider