Embedding Providers
Manage embedding providers that generate vector embeddings for text columns. Providers can be service-based (e.g., OpenAI) or local. Register a provider, then reference it when creating vector indexes on text columns.
List embedding providers
/v1/embedding-providersList all registered embedding providers.
Response 200 — List of embedding providers
embedding_providersEmbeddingProviderResponse[] — requiredconfigany— requiredcreated_atstring— requiredhas_secretboolean— requiredidstring— requirednamestring— requiredprovider_typestring— requiredsourcestring— required. Provider source: "system" (from config) or "user" (created via API).updated_atstring— required
{
"embedding_providers": [
{
"config": null,
"created_at": "2026-01-01T00:00:00Z",
"has_secret": true,
"id": "string",
"name": "string",
"provider_type": "string",
"source": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}
Create embedding provider
/v1/embedding-providersRegister a new embedding provider that can be used to generate vector embeddings for text columns. Providers can be service-based (e.g., OpenAI) or local.
Request body
api_keystring,null— Inline API key. If provided, a secret is auto-created and referenced. Cannot be used together withsecret_name.configobject— Provider-specific configuration (model name, base URL, dimensions, etc.)namestring— requiredprovider_typestring— required. Provider type: "local" or "service"secret_namestring,null— Reference an existing stored secret by name (for service providers). A stored secret is only sent to an approved provider origin — by default OpenAI's public API. To use a different endpoint, supply the key inline withapi_keyinstead, or ask your operator to approve the origin.
{
"config": {
"base_url": "https://api.openai.com/v1",
"dimensions": 1536,
"model": "text-embedding-3-small"
},
"name": "openai-text-embedding-3-small",
"provider_type": "service",
"secret_name": "openai-api-key"
}
Response 201 — Embedding provider created
configany— requiredcreated_atstring— requiredidstring— requirednamestring— requiredprovider_typestring— required
{
"config": null,
"created_at": "2026-01-01T00:00:00Z",
"id": "string",
"name": "string",
"provider_type": "string"
}
Errors
| Status | Description |
|---|---|
400 | Invalid request |
409 | Provider with this name already exists |
Get embedding provider
/v1/embedding-providers/{id}Path parameters
idstring— required. Embedding provider ID
Response 200 — Embedding provider details
configany— requiredcreated_atstring— requiredhas_secretboolean— requiredidstring— requirednamestring— requiredprovider_typestring— requiredsourcestring— required. Provider source: "system" (from config) or "user" (created via API).updated_atstring— required
{
"config": null,
"created_at": "2026-01-01T00:00:00Z",
"has_secret": true,
"id": "string",
"name": "string",
"provider_type": "string",
"source": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
Errors
| Status | Description |
|---|---|
404 | Provider not found |
Update embedding provider
/v1/embedding-providers/{id}Path parameters
idstring— required. Embedding provider ID
Request body
api_keystring,null— Inline API key. If provided, updates (or creates) the auto-managed secret.configanynamestring,nullsecret_namestring,null— Secret name containing the API key. Pass null to clear.
All fields are optional. Send only the ones you want to set.
Response 200 — Embedding provider updated
idstring— requirednamestring— requiredupdated_atstring— required
{
"id": "string",
"name": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
Errors
| Status | Description |
|---|---|
404 | Provider not found |
Delete embedding provider
/v1/embedding-providers/{id}Path parameters
idstring— required. Embedding provider ID
Response 204 — Embedding provider deleted
Errors
| Status | Description |
|---|---|
404 | Provider not found |