diff --git a/web/app/components/datasets/external-api/external-api-modal/index.tsx b/web/app/components/datasets/external-api/external-api-modal/index.tsx index b6e870cdc1..a82d9abc43 100644 --- a/web/app/components/datasets/external-api/external-api-modal/index.tsx +++ b/web/app/components/datasets/external-api/external-api-modal/index.tsx @@ -88,10 +88,15 @@ const AddExternalAPIModal: FC = ({ data, onSave, onCan try { setLoading(true) if (isEditMode && onEdit) { + // Only send [__HIDDEN__] when the user has not changed the key, otherwise + // send the actual api_key so updated tokens are persisted. + const apiKeyToSend = formData.settings.api_key === '[__HIDDEN__]' + ? '[__HIDDEN__]' + : formData.settings.api_key await onEdit( { ...formData, - settings: { ...formData.settings, api_key: formData.settings.api_key ? '[__HIDDEN__]' : formData.settings.api_key }, + settings: { ...formData.settings, api_key: apiKeyToSend }, }, ) notify({ type: 'success', message: 'External API updated successfully' })