Valida el nombre secreto y reenvía la solicitud upsert a ECP con ámbito en un espacio de trabajo. El ámbito del proyecto se define mediante el parámetro de ruta id y la organización se deriva de dicho proyecto. Acepta un JWT de sesión o una clave API con ámbito de proyecto, de modo que CI/CD pueda generar credenciales de compilación temporales sin necesidad de un inicio de sesión interactivo; la clave API debe tener ámbito en el proyecto especificado en la ruta. El usuario necesita permisos de administración de despliegue en dicho proyecto (PROJECT_OWNER, AGENT_DEVELOPER, ORG_ADMIN en proyectos nativos de Agent Engine o SYSTEM_ADMIN).
Parámetros de path
-
ID del proyecto
-
ID del espacio de trabajo
-
Nombre secreto (estilo variable de entorno en mayúsculas)
Cuerpo
Requerido
Valor secreto y descripción opcional
-
ValueUnchanged debe ser establecido explícitamente por quien realiza la llamada, editando únicamente la descripción de un secreto existente; es lo que permite que Value esté vacío. Sin él, un Value vacío siempre es rechazado: quien realiza la llamada y envía "" por error (por ejemplo, un error de plantilla o una variable de entorno no definida) recibe un 400 limpio en lugar de dejar silenciosamente el valor anterior.
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
-
Solicitud incorrecta
-
Forbidden
-
No encontrado
-
Entidad de solicitud demasiado grande
-
Demasiadas peticiones
-
Puerta de enlace incorrecta
-
Servicio no disponible
curl \
--request PUT 'https://agentengine.mongodb.com/api/v1/projects/{id}/workspaces/{workspace_id}/secrets/{name}' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"description": "string",
"value": "string",
"value_unchanged": true
}'
{
"description": "string",
"value": "string",
"value_unchanged": true
}
{
"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"
}
{}
{}
{
"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
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}