Almacena la configuración del servidor de memoria a nivel de proyecto (configuración de viaje, extracción y instantáneas). El ámbito del proyecto se define mediante el parámetro de ruta del ID de ruta, y la organización se deriva de dicho proyecto. Los cambios se aplican tras la siguiente sincronización de la configuración de memoria.
Cuerpo
Requerido
Configuración JSON tipificada
-
La capacidad establece el número de réplicas del servidor de memoria para este proyecto. Solo infraestructura: nunca se monta en el propio contenedor del servidor de memoria.
-
CustomMemoryTypes declara los tipos de memoria definidos por el usuario que proporciona el servidor de memoria. Solo creación: la puerta de enlace rechaza las ediciones o eliminaciones de declaraciones previamente aceptadas. El límite de conteo lo aplica ValidateCustomMemoryTypes, no una etiqueta de estructura, por lo que la constante sigue siendo la única fuente de verdad. La etiqueta binding:"max" es solo para documentación: el controlador decodifica con json.Decoder, no con el enlace gin, por lo que no tiene efecto en tiempo de ejecución; existe únicamente para mostrar el límite en la especificación OpenAPI generada.
No más de
5elementos. -
LogLevel establece el nivel de registro raíz del servidor de memoria para el proyecto. Puede ser uno de los siguientes: debug, info, warning, error o critical. Si se omite este campo, se utilizará el valor predeterminado del servidor (info); se rechazará una cadena vacía explícita.
Los valores son
debug,info,warning,errorocritical. -
MetadataPartitionIndex selecciona, para cada tipo de memoria dentro del ámbito, qué ramas del índice de búsqueda contienen los campos de filtro de partición: "vector", "texto" o "ambos". Si un tipo no se incluye en el mapa, se utiliza por defecto solo la rama "vector". Es libremente modificable: solo afecta a las ramas que obtienen los índices recién aprovisionados.
-
MetadataPartitionKey declara atributos de metadatos filtrables que cada tipo de memoria dentro del ámbito (semántico, episódico, procedimental, a corto plazo) indexa como un campo de filtro de partición. Solo creación: la puerta de enlace rechaza eliminar o volver a escribir una clave previamente aceptada (se permiten adiciones). El límite de conteo lo aplica ValidateMetadataPartition, no una etiqueta de estructura, por lo que la constante sigue siendo la única fuente de verdad. La etiqueta binding:"max" es solo para documentación: el controlador decodifica con json.Decoder, no con el enlace gin, por lo que no tiene efecto en tiempo de ejecución; existe únicamente para mostrar el límite en la especificación OpenAPI.
No más de
10elementos. -
Tasks ajusta el procesamiento de tareas en segundo plano del servidor de memoria.
Respuestas
-
Versión de API no compatible o con formato incorrecto, operación no disponible en el contrato publicado seleccionado o representación inaceptable (incluidos parámetros de tipo de medio no compatibles o SSE excluidos). Los fallos de autenticación, autorización y límite de velocidad existentes tienen prioridad.
-
OK
-
Configuración no válida: campo desconocido, tipo incorrecto o valor de enumeración no válido.
-
Credenciales faltantes o no válidas
-
El usuario que realiza la llamada no tiene permiso para gestionar la implementación.
-
La configuración supera los 64 KB
curl \
--request PUT 'https://agentengine.mongodb.com/api/v1/projects/{id}/memory/config' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"background_extraction": {
"snapshot": {
"delete_promoted": true,
"embed_stm_before_promotion": true,
"max_messages": 42,
"stale_minutes": 42,
"topic_shift_enabled": true,
"topic_shift_threshold": 42.0,
"ttl_days": 42
}
},
"capacity": {
"max_replicas": 42,
"min_replicas": 42
},
"custom_memory_types": [
{
"collection": "string",
"name": "string",
"tags": [
{
"name": "string"
}
]
}
],
"extraction": {
"enabled": [
"string"
],
"episodic": {
"prompt": "string"
},
"preferences": {
"prompt": "string"
},
"procedural": {
"prompt": "string"
},
"semantic": {
"prompt": "string"
},
"taxonomic": {
"prompt": "string"
}
},
"extraction_llm": {
"api_key_secret": "LLM_API_KEY",
"auth_header": "authorization",
"base_url": "string",
"model": "string",
"provider": "openai"
},
"log_level": "debug",
"metadata_partition_index": {
"additionalProperty1": [
"string"
],
"additionalProperty2": [
"string"
]
},
"metadata_partition_key": [
{
"name": "string",
"type": "string"
}
],
"short_term": {
"embed_on_write": true
},
"tasks": {
"legacy_retry": true
},
"voyage": {
"dimension": 42,
"model": "string"
}
}'
{
"background_extraction": {
"snapshot": {
"delete_promoted": true,
"embed_stm_before_promotion": true,
"max_messages": 42,
"stale_minutes": 42,
"topic_shift_enabled": true,
"topic_shift_threshold": 42.0,
"ttl_days": 42
}
},
"capacity": {
"max_replicas": 42,
"min_replicas": 42
},
"custom_memory_types": [
{
"collection": "string",
"name": "string",
"tags": [
{
"name": "string"
}
]
}
],
"extraction": {
"enabled": [
"string"
],
"episodic": {
"prompt": "string"
},
"preferences": {
"prompt": "string"
},
"procedural": {
"prompt": "string"
},
"semantic": {
"prompt": "string"
},
"taxonomic": {
"prompt": "string"
}
},
"extraction_llm": {
"api_key_secret": "LLM_API_KEY",
"auth_header": "authorization",
"base_url": "string",
"model": "string",
"provider": "openai"
},
"log_level": "debug",
"metadata_partition_index": {
"additionalProperty1": [
"string"
],
"additionalProperty2": [
"string"
]
},
"metadata_partition_key": [
{
"name": "string",
"type": "string"
}
],
"short_term": {
"embed_on_write": true
},
"tasks": {
"legacy_retry": true
},
"voyage": {
"dimension": 42,
"model": "string"
}
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
"error": 406,
"errorCode": "UNACCEPTABLE_MEDIA_TYPE",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
"error": 406,
"errorCode": "UNSUPPORTED_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"config": {
"background_extraction": {
"snapshot": {
"delete_promoted": true,
"embed_stm_before_promotion": true,
"max_messages": 42,
"stale_minutes": 42,
"topic_shift_enabled": true,
"topic_shift_threshold": 42.0,
"ttl_days": 42
}
},
"capacity": {
"max_replicas": 42,
"min_replicas": 42
},
"custom_memory_types": [
{
"collection": "string",
"name": "string",
"tags": [
{
"name": "string"
}
]
}
],
"extraction": {
"enabled": [
"string"
],
"episodic": {
"prompt": "string"
},
"preferences": {
"prompt": "string"
},
"procedural": {
"prompt": "string"
},
"semantic": {
"prompt": "string"
},
"taxonomic": {
"prompt": "string"
}
},
"extraction_llm": {
"api_key_secret": "LLM_API_KEY",
"auth_header": "authorization",
"base_url": "string",
"model": "string",
"provider": "openai"
},
"log_level": "debug",
"metadata_partition_index": {
"additionalProperty1": [
"string"
],
"additionalProperty2": [
"string"
]
},
"metadata_partition_key": [
{
"name": "string",
"type": "string"
}
],
"short_term": {
"embed_on_write": true
},
"tasks": {
"legacy_retry": true
},
"voyage": {
"dimension": 42,
"model": "string"
}
},
"generation": 42,
"updated_at": "string"
}
{
"config": {
"background_extraction": {
"snapshot": {
"delete_promoted": true,
"embed_stm_before_promotion": true,
"max_messages": 42,
"stale_minutes": 42,
"topic_shift_enabled": true,
"topic_shift_threshold": 42.0,
"ttl_days": 42
}
},
"capacity": {
"max_replicas": 42,
"min_replicas": 42
},
"custom_memory_types": [
{
"collection": "string",
"name": "string",
"tags": [
{
"name": "string"
}
]
}
],
"extraction": {
"enabled": [
"string"
],
"episodic": {
"prompt": "string"
},
"preferences": {
"prompt": "string"
},
"procedural": {
"prompt": "string"
},
"semantic": {
"prompt": "string"
},
"taxonomic": {
"prompt": "string"
}
},
"extraction_llm": {
"api_key_secret": "LLM_API_KEY",
"auth_header": "authorization",
"base_url": "string",
"model": "string",
"provider": "openai"
},
"log_level": "debug",
"metadata_partition_index": {
"additionalProperty1": [
"string"
],
"additionalProperty2": [
"string"
]
},
"metadata_partition_key": [
{
"name": "string",
"type": "string"
}
],
"short_term": {
"embed_on_write": true
},
"tasks": {
"legacy_retry": true
},
"voyage": {
"dimension": 42,
"model": "string"
}
},
"generation": 42,
"updated_at": "string"
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}