Update a decision model
PUT /v1/decision-models/{id}: Changes only the fields supplied in the request.
Changes only the fields supplied in the request. Requires UPDATE_DECISION_MODEL. Send an empty string to clear description, version, or monitoringEndpoint. A supplied configuration replaces all existing settings; use {} to reset them to defaults. The provider and owner cannot be changed. Credentials are omitted from the response.
In: header
Path Parameters
UUID of the decision model
Header Parameters
Optional 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 <= 86400000Name shown in the console and CLI.
Description of the model. Send an empty string to clear it, or omit it to keep the current value.
Base URL of the provider, starting with http:// or https://. Do not include a query string, fragment, or username and password.
Path appended to endpointUrl when sending a request. Omit it to keep the current path. An empty string resets Jev and Laya to /v1/systemone; Clef requires the path for your account and model.
Model identifier accepted by the provider.
Replacement API key for the provider, supplied in credentials.apiKey.inlineSecret with kind set to CREDENTIAL_KIND_API_KEY. Omit credentials to keep the current key.
{"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"}}Structured credential payload describing how GoodMem should authenticate with an upstream provider.
Credential strategy — fixed to CREDENTIAL_KIND_API_KEY for this variant
Configuration when kind is CREDENTIAL_KIND_API_KEY
{"inlineSecret":"sk-1234567890abcdef","secretRef":{"uri":"vault://path/to/secret"},"headerName":"Authorization","prefix":"Bearer "}Optional annotations to aid operators (e.g., "owner=vertex")
properties <= 20Empty Object
Structured credential payload describing how GoodMem should authenticate with an upstream provider.
Credential strategy — fixed to CREDENTIAL_KIND_GCP_ADC for this variant
Configuration when kind is CREDENTIAL_KIND_GCP_ADC
{"scopes":["https://www.googleapis.com/auth/cloud-platform"],"quotaProjectId":"my-quota-project"}Optional annotations to aid operators (e.g., "owner=vertex")
properties <= 20Empty Object
Replacement provider settings. Supported keys are image_preview (Jev only), timeout_millis, and max_response_bytes. Send {} to reset all settings to defaults, or omit configuration to keep the current settings.
Empty Object
Version label. Send an empty string to clear it, or omit it to keep the current value.
URL for the provider health or metrics endpoint. Must start with http:// or https://. Send an empty string to clear it, or omit it to keep the current value.
Replace all labels with this map. Send {} to remove all labels. Do not combine with mergeLabels.
Empty Object
Add labels and replace the values of matching keys. Other labels are unchanged. Do not combine with replaceLabels.
Empty Object
Response Body
curl -X PUT "https://your-goodmem-server.example.com/v1/decision-models/550e8400-e29b-41d4-a716-446655440000" \ -H "GoodMem-Timeout-Ms: 30000" \ -H "Content-Type: application/json" \ -d '{ "credentials": { "apiKey": { "inlineSecret": "sk-1234567890abcdef", "secretRef": { "uri": "vault://path/to/secret" }, "headerName": "Authorization", "prefix": "Bearer " } } }'{
"decisionModelId": "a426a8bc-ce04-41fc-a635-cb0d9e15bae3",
"displayName": "string",
"description": "string",
"providerType": "JEV",
"endpointUrl": "string",
"apiPath": "string",
"modelIdentifier": "string",
"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"
}
},
"configuration": {},
"labels": {
"property1": "string",
"property2": "string"
},
"version": "string",
"monitoringEndpoint": "string",
"ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
"capabilities": {
"questionTypes": [
"string"
],
"media": [
{
"kind": "IMAGE",
"mimeTypes": [
"string"
],
"placements": [
"string"
],
"limits": [
{
"type": "MAX_ITEMS",
"value": 0
}
]
}
],
"limits": [
{
"type": "MAX_QUESTIONS",
"value": 0
}
],
"contextBoundLimits": [
"string"
],
"semantics": [
{
"questionType": "CHOICE",
"confidence": "ADJUSTED_TOP_PROBABILITY",
"output": "CANDIDATE_IDENTIFIER"
}
],
"inputOverflow": "REJECTS"
},
"createdAt": 0,
"updatedAt": 0,
"createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
"updatedById": "d8bc6076-4141-4a88-80b9-0eb31643066f"
}