Skip to main content

Embedding Providers

Embedding providers store API credentials for embedding services used to generate vector embeddings.

Supported Providers

ProviderModelsDimensionsMax Tokens
openaitext-embedding-3-small15368191
openaitext-embedding-3-large30728191
openaitext-embedding-ada-00215368191
geminigemini-embedding-00130722048
geminitext-embedding-0057682048
geminitext-embedding-0047682048
voyagevoyage-3.5102432000
voyagevoyage-3.5-lite51232000
voyagevoyage-code-3102416000
voyagevoyage-3-large102432000
voyagevoyage-3-lite51232000

Snowflake platform mode also supports Cortex models (snowflake-arctic-embed-m-v1.5, snowflake-arctic-embed-l-v2.0) without requiring an embedding provider. See the Platform + Snowflake guide.

Endpoints

MethodPathDescription
POST/v1/embedding-providersCreate an embedding provider
GET/v1/embedding-providersList embedding providers
GET/v1/embedding-providers/{id}Get an embedding provider
PUT/v1/embedding-providers/{id}Update an embedding provider
DELETE/v1/embedding-providers/{id}Delete an embedding provider
GET/v1/embedding-providers/{id}/modelsList available models

Create Embedding Provider

POST /v1/embedding-providers

Auth: API key (full permission)

curl -X POST https://api.embedd.to/v1/embedding-providers \
-H "Authorization: Bearer sk_your_key" \
-H "Content-Type: application/json" \
-d '{
"name": "openai-prod",
"provider": "openai",
"api_key": "sk-proj-...",
"default_model": "text-embedding-3-small"
}'
FieldRequiredTypeDescription
nameYesstringDisplay name (1-100 chars)
providerYesstringopenai, gemini, or voyage
api_keyYesstringAPI key for the embedding service
default_modelNostringDefault model for this provider

Response (201):

{
"id": "ep_abc123",
"org_id": "org_xyz",
"environment_id": "env_abc123",
"name": "openai-prod",
"provider": "openai",
"default_model": "text-embedding-3-small",
"status": "active",
"created_at": "2026-03-13T10:00:00Z"
}

List Embedding Providers

GET /v1/embedding-providers

Auth: API key (any permission)

Supports cursor-based pagination with limit and cursor query parameters.

Get Embedding Provider

GET /v1/embedding-providers/{provider_id}

Auth: API key (any permission)

Update Embedding Provider

PUT /v1/embedding-providers/{provider_id}

Auth: API key (full permission)

FieldRequiredTypeDescription
nameNostringUpdated name
api_keyNostringUpdated API key
default_modelNostringUpdated default model

Delete Embedding Provider

DELETE /v1/embedding-providers/{provider_id}

Auth: API key (full permission)

Response: 204 No Content

List Available Models

GET /v1/embedding-providers/{provider_id}/models

Returns the available embedding models for the provider.

Auth: API key (any permission)

Response (200):

{
"models": [
{
"model": "text-embedding-3-small",
"dimensions": 1536,
"max_tokens": 8191,
"provider": "openai"
},
{
"model": "text-embedding-3-large",
"dimensions": 3072,
"max_tokens": 8191,
"provider": "openai"
},
{
"model": "text-embedding-ada-002",
"dimensions": 1536,
"max_tokens": 8191,
"provider": "openai"
}
]
}