List embedders
GET /v1/embedders: Retrieves a list of embedder configurations accessible to the caller, with optional filtering.
Retrieves a list of embedder configurations accessible to the caller, with optional filtering.
LABEL FILTERS: Label filters accept either label.<key>=<value> or label[key]=value (for example, label.environment=production or label[environment]=production).
AUTHORIZATION: Requires LIST_EMBEDDER on the GoodMem instance. Each returned embedder must also be visible through READ_EMBEDDER; unauthorized embedders are filtered in PostgreSQL. The ownerId parameter filters that already-authorized result set and does not grant additional visibility. This is a read-only operation with no side effects.
ApiKeyAuthx-api-key<token>ownerId?stringFilter the already-authorized result set by owner principal UUID. Omitting this parameter does not bypass per-embedder READ_EMBEDDER filtering.
providerType?stringFilter embedders by provider type. Allowed values match the ProviderType schema.
"OPENAI""VLLM""TEI""LLAMA_CPP""VOYAGE""COHERE""JINA""DASHSCOPE""GEMINI"label?Filter by label key-value pairs. Label filters accept either label.<key>=<value> or label[key]=value (for example, label.environment=production or label[environment]=production).
{ "environment": "production", "team": "nlp"}GoodMem-Timeout-Ms?integerOptional waiting budget in milliseconds, measured from REST servlet ingress and shared across all internal gRPC calls. Supply one decimal integer from 1 to 86400000. Omission adds no deadline. Existing shorter deadlines still apply. Expiry returns HTTP 504 before streaming starts; after streaming starts, no successful completion event is sent. Use SSE or opt into GoodMem-Stream-Terminal for an explicit terminal outcome. Retrieval work is cooperatively cancelled. An accepted mutation may still commit after timeout or disconnect; a failed response does not imply rollback.
int641 <= value <= 86400000Successfully retrieved embedders
application/json- response
Response containing a list of embedders
embedders*array<>List of embedder configurations
curl -X GET 'https://your-goodmem-server.example.com/v1/embedders?ownerId=550e8400-e29b-41d4-a716-446655440000&providerType=OPENAI' \ -H 'GoodMem-Timeout-Ms: 30000'{ "embedders": [ { "embedderId": "550e8400-e29b-41d4-a716-446655440000", "displayName": "OpenAI Ada-2", "description": "OpenAI's text embedding model with 1536 dimensions", "providerType": "OPENAI", "endpointUrl": "https://api.openai.com/v1", "apiPath": "/embeddings", "modelIdentifier": "text-embedding-3-small", "dimensionality": 1536, "distributionType": "DENSE", "maxSequenceLength": 8192, "credentials": { "apiKey": { "inlineSecret": "sk-1234567890abcdef", "secretRef": { "uri": "vault://path/to/secret" }, "headerName": "Authorization", "prefix": "Bearer " }, "gcpAdc": { "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ], "quotaProjectId": "my-quota-project" } }, "version": "1.0.0", "monitoringEndpoint": "https://monitoring.example.com/embedders/status", "ownerId": "550e8400-e29b-41d4-a716-446655440000", "createdAt": 1617293472000, "updatedAt": 1617293472000, "createdById": "550e8400-e29b-41d4-a716-446655440000", "updatedById": "550e8400-e29b-41d4-a716-446655440000", "geminiEndpointConfig": { "backend": "DEVELOPER", "projectId": "goodmem-production", "location": "us-central1" } } ]}