Update a reranker
PUT /v1/rerankers/{id}: Updates an existing reranker configuration including display information, endpoint configuration, model parameters, credentials, and labels.
Updates an existing reranker configuration including display information, endpoint configuration, model parameters, credentials, and labels. All fields are optional - only specified fields will be updated.
IMMUTABLE FIELDS: providerType and ownerId cannot be changed after creation.
SUPPORTED_MODALITIES
UPDATE: If the array contains >=1 elements, it replaces the stored set; if empty or omitted, no change occurs and it does not count as an update by itself. Returns ALREADY_EXISTS if update would create an equivalent reranker configuration for this owner after endpoint canonicalization and provider-default resolution (HTTP 409 Conflict / ALREADY_EXISTS). Requires UPDATE_RERANKER on the requested reranker. This operation is idempotent.
ApiKeyAuthx-api-key<token>id*stringThe unique identifier of the reranker to update
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 <= 86400000Updated reranker configuration details
application/json- body
Request body for updating an existing Reranker. Only fields that should be updated need to be included. supportedModalities replaces the stored set only when the array contains at least one value; empty or omitted leaves it unchanged and does not count as an update by itself.
displayName?|User-facing name of the reranker
1 <= length <= 255"Updated BGE Cross-Encoder Reranker"description?|Description of the reranker
"Updated description for BAAI BGE reranker"endpointUrl?|API endpoint URL
"http://bge.reranker.goodmem.ai:8010"apiPath?|API path for reranking request
"/rerank"modelIdentifier?|Model identifier
"BAAI/bge-reranker-base"supportedModalities?array<>|Update supported modalities (if array contains >=1 elements, replaces stored set; if empty or omitted, no change and does not count as an update by itself)
[ "TEXT"]credentials?||Replace stored credentials. Omit this field to preserve the current credentials; a present empty payload is invalid and never clears them.
{ "kind": "CREDENTIAL_KIND_API_KEY", "apiKey": { "inlineSecret": "sk-updated-reranker-key" }}replaceLabels?|Replace all existing labels with these (mutually exclusive with mergeLabels)
properties <= 20{ "environment": "production", "team": "search"}mergeLabels?|Merge these labels with existing ones (mutually exclusive with replaceLabels)
properties <= 20{ "environment": "production", "team": "search"}version?|Version information
"1.0.0"monitoringEndpoint?|Monitoring endpoint URL
"https://monitoring.example.com/rerankers/status"dashscopeApiDialect?|Update the DashScope request and response API dialect. Valid only for the DASHSCOPE provider. Omit to preserve the stored dialect. Changing apiPath to a recognized canonical DashScope dialect infers its matching dialect; a custom path preserves an existing dialect, while a legacy null dialect is inferred.
"RERANK_NATIVE_NESTED""RERANK_NATIVE_NESTED""RERANK_COMPATIBLE_FLAT"Successfully updated reranker
application/json- response
Reranker configuration information
rerankerId*stringUnique identifier of the reranker
uuid"550e8400-e29b-41d4-a716-446655440000"displayName*stringUser-facing name of the reranker
"BGE Cross-Encoder Reranker"description?|Description of the reranker
"BAAI BGE reranker for cross-encoder semantic ranking"providerType*ProviderTypeType of reranking provider
"TEI""OPENAI""VLLM""TEI""LLAMA_CPP""VOYAGE""COHERE""JINA""DASHSCOPE""GEMINI"endpointUrl*stringAPI endpoint URL
"http://bge.reranker.goodmem.ai:8010"apiPath?|API path for reranking request
"/rerank"modelIdentifier*stringModel identifier
"BAAI/bge-reranker-base"supportedModalities*array<>Supported content modalities
credentials?||Stored credentials; present only when GetReranker explicitly requests them and the caller has READ_RERANKER_CREDENTIALS. Always omitted from create, update, and list responses.
{ "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" }}labels*User-defined labels for categorization
{ "environment": "production", "team": "search"}version?|Version information
"1.0.0"monitoringEndpoint?|Monitoring endpoint URL
"https://monitoring.example.com/rerankers/status"ownerId*stringOwner ID of the reranker
uuid"550e8400-e29b-41d4-a716-446655440000"createdAt*integerCreation timestamp (milliseconds since epoch)
int641617293472000updatedAt*integerLast update timestamp (milliseconds since epoch)
int641617293472000createdById*stringID of the user who created the reranker
uuid"550e8400-e29b-41d4-a716-446655440000"updatedById*stringID of the user who last updated the reranker
uuid"550e8400-e29b-41d4-a716-446655440000"dashscopeApiDialect?|Configured DashScope request and response API dialect; present only for DashScope configurations with a persisted dialect.
"RERANK_NATIVE_NESTED""RERANK_NATIVE_NESTED""RERANK_COMPATIBLE_FLAT"curl -X PUT 'https://your-goodmem-server.example.com/v1/rerankers/550e8400-e29b-41d4-a716-446655440000' \ -H 'GoodMem-Timeout-Ms: 30000' \ -H 'Content-Type: application/json' \ -d '{ "displayName": "Updated Production BGE Reranker", "description": "Updated BAAI BGE cross-encoder reranker with enhanced configuration for production use", "endpointUrl": "http://bge.reranker.goodmem.ai:8010", "apiPath": "/rerank", "modelIdentifier": "BAAI/bge-reranker-large", "supportedModalities": [ "TEXT" ], "credentials": { "apiKey": { "inlineSecret": "updated-api-key-here", "secretRef": { "uri": "vault://path/to/secret" }, "headerName": "Authorization", "prefix": "Bearer " }, "kind": "CREDENTIAL_KIND_API_KEY" }, "replaceLabels": { "environment": "production", "team": "search-platform", "cost-center": "ml-infrastructure" }, "mergeLabels": { "environment": "production", "team": "search" }, "version": "2.1.0", "monitoringEndpoint": "https://monitoring.company.com/rerankers/status", "dashscopeApiDialect": "RERANK_NATIVE_NESTED"}'{ "rerankerId": "550e8400-e29b-41d4-a716-446655440000", "displayName": "BGE Cross-Encoder Reranker", "description": "BAAI BGE reranker for cross-encoder semantic ranking", "providerType": "TEI", "endpointUrl": "http://bge.reranker.goodmem.ai:8010", "apiPath": "/rerank", "modelIdentifier": "BAAI/bge-reranker-base", "supportedModalities": [ "TEXT" ], "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" } }, "labels": { "environment": "production", "team": "search" }, "version": "1.0.0", "monitoringEndpoint": "https://monitoring.example.com/rerankers/status", "ownerId": "550e8400-e29b-41d4-a716-446655440000", "createdAt": 1617293472000, "updatedAt": 1617293472000, "createdById": "550e8400-e29b-41d4-a716-446655440000", "updatedById": "550e8400-e29b-41d4-a716-446655440000", "dashscopeApiDialect": "RERANK_NATIVE_NESTED"}