I have the same problem since about 3-4 weeks.
SulfurRacoon and ning42 summerized it pretty good.
The only thing I can add: If I try to to test the connection I get the 429 as well.
System.Net.Http.HttpRequestException: Response status code does not indicate success: 429 (Too Many Requests).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at Duplicati.Library.JsonWebHelperHttpClient.GetResponseAsync(HttpRequestMessage req, HttpCompletionOption httpCompletionOption, CancellationToken cancellationToken)
at Duplicati.Library.JsonWebHelperHttpClient.GetResponseAsync(HttpRequestMessage req, HttpCompletionOption httpCompletionOption, CancellationToken cancellationToken)
at Duplicati.Library.Backend.Jottacloud.PutAsync(String remotename, Stream stream, CancellationToken cancelToken)
at Duplicati.Library.Backend.Jottacloud.PutAsync(String remotename, Stream stream, CancellationToken cancelToken)
at Duplicati.Library.Main.Backend.BackendManager.PutOperation.PerformUploadAsync(IBackend backend, String hash, Int64 size, CancellationToken cancelToken)
at Duplicati.Library.Main.Backend.BackendManager.PutOperation.ExecuteAsync(IBackend backend, CancellationToken cancelToken)
at Duplicati.Library.Main.Backend.BackendManager.PutOperation.ExecuteAsync(IBackend backend, CancellationToken cancelToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteAsync[TResult](PendingOperation`1 op, CancellationToken cancellationToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteAsync(PendingOperationBase op, CancellationToken cancellationToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetryAsync(PendingOperationBase op, CancellationToken cancellationToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetryAsync(PendingOperationBase op, CancellationToken cancellationToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.ReclaimCompletedTasksAsync(List`1 tasks)
at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasksAsync(Int32 n, List`1 tasks)
at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasksAsync(Int32 uploads, Int32 downloads)
at Duplicati.Library.Main.Backend.BackendManager.Handler.RunAsync(IReadChannel`1 requestChannel)
at Duplicati.Library.Main.Backend.BackendManager.PutAsync(VolumeWriterBase volume, IndexVolumeWriter indexVolume, Func`1 indexVolumeFinished, Boolean waitForComplete, Func`1 onDbUpdate, CancellationToken cancelToken)
at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c__DisplayClass1_0.<<RunAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c__DisplayClass1_0.<<RunAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at CoCoL.AutomationExtensions.RunTask[T](T channels, Func`2 method, Boolean catchRetiredExceptions)
at Duplicati.Library.Main.Backend.BackendManager.Handler.RunAsync(IReadChannel`1 requestChannel)
at Duplicati.Library.Main.Backend.BackendManager.Handler.<>c__DisplayClass14_0.<<RunHandlerAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at CoCoL.AutomationExtensions.RunTask[T](T channels, Func`2 method, Boolean catchRetiredExceptions)
at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperationAsync(Channels channels, ISourceProvider source, UsnJournalService journalService, BackupDatabase database, IBackendManager backendManager, BackupStatsCollector stats, Options options, IFilter filter, BackupResults result, ITaskReader taskreader, Int64 filesetid, Int64 lastfilesetid)
at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
at Duplicati.Library.Main.Controller.<>c.<<BackupAsync>b__23_0>d.MoveNext()
--- End of stack trace from previous location ---
at Duplicati.Library.Main.Controller.RunActionAsync[TRes,TCon](TRes result, String[] paths, IFilter filter, TCon context, Func`2 method)
at Duplicati.Library.Main.Controller.RunActionAsync[TRes,TCon](TRes result, String[] paths, IFilter filter, TCon context, Func`2 method)
at Duplicati.Library.Main.Controller.RunActionAsync[TRes,TCon](TRes result, String[] paths, IFilter filter, TCon context, Func`2 method)
at Duplicati.Library.Main.Controller.BackupAsync(String[] inputsources, IFilter inputFilter)
at Duplicati.Server.Runner.RunInternalAsync(Connection databaseConnection, EventPollNotify eventPollNotify, INotificationUpdateService notificationUpdateService, IProgressStateProviderService progressStateProviderService, IApplicationSettings applicationSettings, IRunnerData data, Boolean fromQueue)
at Duplicati.WebserverCore.Services.QueueRunnerService.RunTaskAsync(IQueuedTask task)