basecamp-sdk 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +127 -8
  3. data/lib/basecamp/client.rb +55 -11
  4. data/lib/basecamp/config.rb +69 -0
  5. data/lib/basecamp/generated/metadata.json +443 -133
  6. data/lib/basecamp/generated/services/base_service.rb +37 -16
  7. data/lib/basecamp/generated/services/bookmarks_service.rb +50 -0
  8. data/lib/basecamp/generated/services/boosts_service.rb +12 -6
  9. data/lib/basecamp/generated/services/calendars_service.rb +30 -0
  10. data/lib/basecamp/generated/services/campfires_service.rb +54 -41
  11. data/lib/basecamp/generated/services/cards_service.rb +6 -3
  12. data/lib/basecamp/generated/services/checkins_service.rb +28 -15
  13. data/lib/basecamp/generated/services/client_approvals_service.rb +8 -5
  14. data/lib/basecamp/generated/services/client_correspondences_service.rb +8 -5
  15. data/lib/basecamp/generated/services/client_replies_service.rb +12 -7
  16. data/lib/basecamp/generated/services/cloud_files_service.rb +57 -0
  17. data/lib/basecamp/generated/services/comments_service.rb +6 -3
  18. data/lib/basecamp/generated/services/documents_service.rb +9 -6
  19. data/lib/basecamp/generated/services/drafts_service.rb +22 -0
  20. data/lib/basecamp/generated/services/events_service.rb +6 -3
  21. data/lib/basecamp/generated/services/everything_service.rb +116 -69
  22. data/lib/basecamp/generated/services/folders_service.rb +62 -0
  23. data/lib/basecamp/generated/services/forwards_service.rb +12 -17
  24. data/lib/basecamp/generated/services/gauges_service.rb +12 -7
  25. data/lib/basecamp/generated/services/google_documents_service.rb +61 -0
  26. data/lib/basecamp/generated/services/message_types_service.rb +4 -3
  27. data/lib/basecamp/generated/services/messages_service.rb +6 -4
  28. data/lib/basecamp/generated/services/my_assignments_service.rb +31 -0
  29. data/lib/basecamp/generated/services/my_notes_service.rb +28 -0
  30. data/lib/basecamp/generated/services/my_notifications_service.rb +8 -5
  31. data/lib/basecamp/generated/services/people_service.rb +17 -10
  32. data/lib/basecamp/generated/services/projects_service.rb +26 -4
  33. data/lib/basecamp/generated/services/recordings_service.rb +6 -13
  34. data/lib/basecamp/generated/services/reports_service.rb +15 -9
  35. data/lib/basecamp/generated/services/schedules_service.rb +90 -16
  36. data/lib/basecamp/generated/services/search_service.rb +6 -4
  37. data/lib/basecamp/generated/services/templates_service.rb +6 -4
  38. data/lib/basecamp/generated/services/timeline_service.rb +6 -3
  39. data/lib/basecamp/generated/services/timesheets_service.rb +22 -8
  40. data/lib/basecamp/generated/services/todolist_groups_service.rb +7 -4
  41. data/lib/basecamp/generated/services/todolists_service.rb +11 -9
  42. data/lib/basecamp/generated/services/todos_service.rb +23 -14
  43. data/lib/basecamp/generated/services/uploads_service.rb +10 -6
  44. data/lib/basecamp/generated/services/vaults_service.rb +6 -3
  45. data/lib/basecamp/generated/services/webhooks_service.rb +4 -3
  46. data/lib/basecamp/generated/types.rb +847 -147
  47. data/lib/basecamp/http.rb +346 -163
  48. data/lib/basecamp/list_enumerator.rb +29 -0
  49. data/lib/basecamp/list_meta.rb +44 -0
  50. data/lib/basecamp/services/cards_extensions.rb +35 -27
  51. data/lib/basecamp/services/documents_extensions.rb +136 -0
  52. data/lib/basecamp/services/merge_safe.rb +255 -0
  53. data/lib/basecamp/services/schedules_extensions.rb +354 -0
  54. data/lib/basecamp/services/todolists_extensions.rb +274 -0
  55. data/lib/basecamp/services/todos_extensions.rb +22 -6
  56. data/lib/basecamp/validation_error.rb +11 -1
  57. data/lib/basecamp/version.rb +2 -2
  58. data/lib/basecamp.rb +94 -4
  59. data/scripts/generate-services.rb +74 -25
  60. data/scripts/generate-types.rb +2 -1
  61. data/scripts/go_type_spellings.rb +26 -0
  62. metadata +16 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://basecamp.com/schemas/sdk-metadata.json",
3
3
  "version": "1.0.0",
4
- "generated": "2026-07-31T06:58:29Z",
4
+ "generated": "2026-08-06T00:45:34Z",
5
5
  "operations": {
6
6
  "GetAccount": {
7
7
  "retry": {
@@ -239,6 +239,131 @@
239
239
  "natural": true
240
240
  }
241
241
  },
242
+ "ListChatbots": {
243
+ "retry": {
244
+ "maxAttempts": 3,
245
+ "baseDelayMs": 1000,
246
+ "backoff": "exponential",
247
+ "retryOn": [
248
+ 429,
249
+ 503
250
+ ]
251
+ },
252
+ "pagination": {
253
+ "style": "link",
254
+ "totalCountHeader": "X-Total-Count",
255
+ "maxPageSize": 50
256
+ }
257
+ },
258
+ "CreateChatbot": {
259
+ "retry": {
260
+ "maxAttempts": 2,
261
+ "baseDelayMs": 1000,
262
+ "backoff": "exponential",
263
+ "retryOn": [
264
+ 429,
265
+ 503
266
+ ]
267
+ }
268
+ },
269
+ "GetChatbot": {
270
+ "retry": {
271
+ "maxAttempts": 3,
272
+ "baseDelayMs": 1000,
273
+ "backoff": "exponential",
274
+ "retryOn": [
275
+ 429,
276
+ 503
277
+ ]
278
+ }
279
+ },
280
+ "UpdateChatbot": {
281
+ "retry": {
282
+ "maxAttempts": 3,
283
+ "baseDelayMs": 1000,
284
+ "backoff": "exponential",
285
+ "retryOn": [
286
+ 429,
287
+ 503
288
+ ]
289
+ },
290
+ "idempotent": {
291
+ "natural": true
292
+ }
293
+ },
294
+ "DeleteChatbot": {
295
+ "retry": {
296
+ "maxAttempts": 3,
297
+ "baseDelayMs": 1000,
298
+ "backoff": "exponential",
299
+ "retryOn": [
300
+ 429,
301
+ 503
302
+ ]
303
+ },
304
+ "idempotent": {
305
+ "natural": true
306
+ }
307
+ },
308
+ "ListClientApprovals": {
309
+ "retry": {
310
+ "maxAttempts": 3,
311
+ "baseDelayMs": 1000,
312
+ "backoff": "exponential",
313
+ "retryOn": [
314
+ 429,
315
+ 503
316
+ ]
317
+ },
318
+ "pagination": {
319
+ "style": "link",
320
+ "totalCountHeader": "X-Total-Count",
321
+ "maxPageSize": 50
322
+ }
323
+ },
324
+ "ListClientCorrespondences": {
325
+ "retry": {
326
+ "maxAttempts": 3,
327
+ "baseDelayMs": 1000,
328
+ "backoff": "exponential",
329
+ "retryOn": [
330
+ 429,
331
+ 503
332
+ ]
333
+ },
334
+ "pagination": {
335
+ "style": "link",
336
+ "totalCountHeader": "X-Total-Count",
337
+ "maxPageSize": 50
338
+ }
339
+ },
340
+ "ListClientReplies": {
341
+ "retry": {
342
+ "maxAttempts": 3,
343
+ "baseDelayMs": 1000,
344
+ "backoff": "exponential",
345
+ "retryOn": [
346
+ 429,
347
+ 503
348
+ ]
349
+ },
350
+ "pagination": {
351
+ "style": "link",
352
+ "totalCountHeader": "X-Total-Count",
353
+ "maxPageSize": 50
354
+ }
355
+ },
356
+ "GetClientReply": {
357
+ "retry": {
358
+ "maxAttempts": 3,
359
+ "baseDelayMs": 1000,
360
+ "backoff": "exponential",
361
+ "retryOn": [
362
+ 429,
363
+ 503
364
+ ]
365
+ }
366
+ },
242
367
  "CreateTool": {
243
368
  "retry": {
244
369
  "maxAttempts": 2,
@@ -250,6 +375,39 @@
250
375
  ]
251
376
  }
252
377
  },
378
+ "CreateTodosetTodo": {
379
+ "retry": {
380
+ "maxAttempts": 3,
381
+ "baseDelayMs": 1000,
382
+ "backoff": "exponential",
383
+ "retryOn": [
384
+ 429,
385
+ 503
386
+ ]
387
+ }
388
+ },
389
+ "CreateCloudFile": {
390
+ "retry": {
391
+ "maxAttempts": 2,
392
+ "baseDelayMs": 1000,
393
+ "backoff": "exponential",
394
+ "retryOn": [
395
+ 429,
396
+ 503
397
+ ]
398
+ }
399
+ },
400
+ "CreateGoogleDocument": {
401
+ "retry": {
402
+ "maxAttempts": 2,
403
+ "baseDelayMs": 1000,
404
+ "backoff": "exponential",
405
+ "retryOn": [
406
+ 429,
407
+ 503
408
+ ]
409
+ }
410
+ },
253
411
  "ListWebhooks": {
254
412
  "retry": {
255
413
  "maxAttempts": 3,
@@ -277,6 +435,31 @@
277
435
  ]
278
436
  }
279
437
  },
438
+ "GetCalendar": {
439
+ "retry": {
440
+ "maxAttempts": 3,
441
+ "baseDelayMs": 1000,
442
+ "backoff": "exponential",
443
+ "retryOn": [
444
+ 429,
445
+ 503
446
+ ]
447
+ }
448
+ },
449
+ "UpdateCalendar": {
450
+ "retry": {
451
+ "maxAttempts": 3,
452
+ "baseDelayMs": 1000,
453
+ "backoff": "exponential",
454
+ "retryOn": [
455
+ 429,
456
+ 503
457
+ ]
458
+ },
459
+ "idempotent": {
460
+ "natural": true
461
+ }
462
+ },
280
463
  "GetCard": {
281
464
  "retry": {
282
465
  "maxAttempts": 3,
@@ -605,72 +788,6 @@
605
788
  ]
606
789
  }
607
790
  },
608
- "ListChatbots": {
609
- "retry": {
610
- "maxAttempts": 3,
611
- "baseDelayMs": 1000,
612
- "backoff": "exponential",
613
- "retryOn": [
614
- 429,
615
- 503
616
- ]
617
- },
618
- "pagination": {
619
- "style": "link",
620
- "totalCountHeader": "X-Total-Count",
621
- "maxPageSize": 50
622
- }
623
- },
624
- "CreateChatbot": {
625
- "retry": {
626
- "maxAttempts": 2,
627
- "baseDelayMs": 1000,
628
- "backoff": "exponential",
629
- "retryOn": [
630
- 429,
631
- 503
632
- ]
633
- }
634
- },
635
- "GetChatbot": {
636
- "retry": {
637
- "maxAttempts": 3,
638
- "baseDelayMs": 1000,
639
- "backoff": "exponential",
640
- "retryOn": [
641
- 429,
642
- 503
643
- ]
644
- }
645
- },
646
- "UpdateChatbot": {
647
- "retry": {
648
- "maxAttempts": 3,
649
- "baseDelayMs": 1000,
650
- "backoff": "exponential",
651
- "retryOn": [
652
- 429,
653
- 503
654
- ]
655
- },
656
- "idempotent": {
657
- "natural": true
658
- }
659
- },
660
- "DeleteChatbot": {
661
- "retry": {
662
- "maxAttempts": 3,
663
- "baseDelayMs": 1000,
664
- "backoff": "exponential",
665
- "retryOn": [
666
- 429,
667
- 503
668
- ]
669
- },
670
- "idempotent": {
671
- "natural": true
672
- }
673
- },
674
791
  "ListCampfireLines": {
675
792
  "retry": {
676
793
  "maxAttempts": 3,
@@ -796,22 +913,6 @@
796
913
  "maxPageSize": 50
797
914
  }
798
915
  },
799
- "ListClientApprovals": {
800
- "retry": {
801
- "maxAttempts": 3,
802
- "baseDelayMs": 1000,
803
- "backoff": "exponential",
804
- "retryOn": [
805
- 429,
806
- 503
807
- ]
808
- },
809
- "pagination": {
810
- "style": "link",
811
- "totalCountHeader": "X-Total-Count",
812
- "maxPageSize": 50
813
- }
814
- },
815
916
  "GetClientApproval": {
816
917
  "retry": {
817
918
  "maxAttempts": 3,
@@ -823,22 +924,6 @@
823
924
  ]
824
925
  }
825
926
  },
826
- "ListClientCorrespondences": {
827
- "retry": {
828
- "maxAttempts": 3,
829
- "baseDelayMs": 1000,
830
- "backoff": "exponential",
831
- "retryOn": [
832
- 429,
833
- 503
834
- ]
835
- },
836
- "pagination": {
837
- "style": "link",
838
- "totalCountHeader": "X-Total-Count",
839
- "maxPageSize": 50
840
- }
841
- },
842
927
  "GetClientCorrespondence": {
843
928
  "retry": {
844
929
  "maxAttempts": 3,
@@ -850,23 +935,18 @@
850
935
  ]
851
936
  }
852
937
  },
853
- "ListClientReplies": {
938
+ "GetCloudFile": {
854
939
  "retry": {
855
940
  "maxAttempts": 3,
856
941
  "baseDelayMs": 1000,
857
942
  "backoff": "exponential",
858
943
  "retryOn": [
859
944
  429,
860
- 503
861
- ]
862
- },
863
- "pagination": {
864
- "style": "link",
865
- "totalCountHeader": "X-Total-Count",
866
- "maxPageSize": 50
945
+ 503
946
+ ]
867
947
  }
868
948
  },
869
- "GetClientReply": {
949
+ "UpdateCloudFile": {
870
950
  "retry": {
871
951
  "maxAttempts": 3,
872
952
  "baseDelayMs": 1000,
@@ -875,6 +955,9 @@
875
955
  429,
876
956
  503
877
957
  ]
958
+ },
959
+ "idempotent": {
960
+ "natural": true
878
961
  }
879
962
  },
880
963
  "GetEverythingComments": {
@@ -968,7 +1051,7 @@
968
1051
  ]
969
1052
  }
970
1053
  },
971
- "UpdateDocument": {
1054
+ "ReplaceDocument": {
972
1055
  "retry": {
973
1056
  "maxAttempts": 3,
974
1057
  "baseDelayMs": 1000,
@@ -1053,7 +1136,7 @@
1053
1136
  "natural": true
1054
1137
  }
1055
1138
  },
1056
- "GetForward": {
1139
+ "GetGoogleDocument": {
1057
1140
  "retry": {
1058
1141
  "maxAttempts": 3,
1059
1142
  "baseDelayMs": 1000,
@@ -1064,7 +1147,7 @@
1064
1147
  ]
1065
1148
  }
1066
1149
  },
1067
- "ListForwardReplies": {
1150
+ "UpdateGoogleDocument": {
1068
1151
  "retry": {
1069
1152
  "maxAttempts": 3,
1070
1153
  "baseDelayMs": 1000,
@@ -1074,21 +1157,35 @@
1074
1157
  503
1075
1158
  ]
1076
1159
  },
1077
- "pagination": {
1078
- "style": "link",
1079
- "totalCountHeader": "X-Total-Count",
1080
- "maxPageSize": 50
1160
+ "idempotent": {
1161
+ "natural": true
1081
1162
  }
1082
1163
  },
1083
- "CreateForwardReply": {
1164
+ "GetForward": {
1084
1165
  "retry": {
1085
- "maxAttempts": 2,
1166
+ "maxAttempts": 3,
1167
+ "baseDelayMs": 1000,
1168
+ "backoff": "exponential",
1169
+ "retryOn": [
1170
+ 429,
1171
+ 503
1172
+ ]
1173
+ }
1174
+ },
1175
+ "ListForwardReplies": {
1176
+ "retry": {
1177
+ "maxAttempts": 3,
1086
1178
  "baseDelayMs": 1000,
1087
1179
  "backoff": "exponential",
1088
1180
  "retryOn": [
1089
1181
  429,
1090
1182
  503
1091
1183
  ]
1184
+ },
1185
+ "pagination": {
1186
+ "style": "link",
1187
+ "totalCountHeader": "X-Total-Count",
1188
+ "maxPageSize": 50
1092
1189
  }
1093
1190
  },
1094
1191
  "GetForwardReply": {
@@ -1291,6 +1388,63 @@
1291
1388
  ]
1292
1389
  }
1293
1390
  },
1391
+ "ListMyBookmarks": {
1392
+ "retry": {
1393
+ "maxAttempts": 3,
1394
+ "baseDelayMs": 1000,
1395
+ "backoff": "exponential",
1396
+ "retryOn": [
1397
+ 429,
1398
+ 503
1399
+ ]
1400
+ },
1401
+ "pagination": {
1402
+ "style": "link",
1403
+ "totalCountHeader": "X-Total-Count",
1404
+ "maxPageSize": 50
1405
+ }
1406
+ },
1407
+ "ListMyDrafts": {
1408
+ "retry": {
1409
+ "maxAttempts": 3,
1410
+ "baseDelayMs": 1000,
1411
+ "backoff": "exponential",
1412
+ "retryOn": [
1413
+ 429,
1414
+ 503
1415
+ ]
1416
+ },
1417
+ "pagination": {
1418
+ "style": "link",
1419
+ "totalCountHeader": "X-Total-Count",
1420
+ "maxPageSize": 50
1421
+ }
1422
+ },
1423
+ "GetMyNote": {
1424
+ "retry": {
1425
+ "maxAttempts": 3,
1426
+ "baseDelayMs": 1000,
1427
+ "backoff": "exponential",
1428
+ "retryOn": [
1429
+ 429,
1430
+ 503
1431
+ ]
1432
+ }
1433
+ },
1434
+ "UpdateMyNote": {
1435
+ "retry": {
1436
+ "maxAttempts": 3,
1437
+ "baseDelayMs": 1000,
1438
+ "backoff": "exponential",
1439
+ "retryOn": [
1440
+ 429,
1441
+ 503
1442
+ ]
1443
+ },
1444
+ "idempotent": {
1445
+ "natural": true
1446
+ }
1447
+ },
1294
1448
  "GetMyPreferences": {
1295
1449
  "retry": {
1296
1450
  "maxAttempts": 3,
@@ -1316,6 +1470,45 @@
1316
1470
  "natural": true
1317
1471
  }
1318
1472
  },
1473
+ "PrioritizeAssignment": {
1474
+ "retry": {
1475
+ "maxAttempts": 3,
1476
+ "baseDelayMs": 1000,
1477
+ "backoff": "exponential",
1478
+ "retryOn": [
1479
+ 429,
1480
+ 503
1481
+ ]
1482
+ },
1483
+ "idempotent": {
1484
+ "natural": true
1485
+ }
1486
+ },
1487
+ "DeprioritizeAssignment": {
1488
+ "retry": {
1489
+ "maxAttempts": 3,
1490
+ "baseDelayMs": 1000,
1491
+ "backoff": "exponential",
1492
+ "retryOn": [
1493
+ 429,
1494
+ 503
1495
+ ]
1496
+ },
1497
+ "idempotent": {
1498
+ "natural": true
1499
+ }
1500
+ },
1501
+ "ReorderUpNext": {
1502
+ "retry": {
1503
+ "maxAttempts": 3,
1504
+ "baseDelayMs": 1000,
1505
+ "backoff": "exponential",
1506
+ "retryOn": [
1507
+ 429,
1508
+ 503
1509
+ ]
1510
+ }
1511
+ },
1319
1512
  "GetMyProfile": {
1320
1513
  "retry": {
1321
1514
  "maxAttempts": 3,
@@ -1613,6 +1806,34 @@
1613
1806
  "natural": true
1614
1807
  }
1615
1808
  },
1809
+ "UnarchiveProject": {
1810
+ "retry": {
1811
+ "maxAttempts": 3,
1812
+ "baseDelayMs": 1000,
1813
+ "backoff": "exponential",
1814
+ "retryOn": [
1815
+ 429,
1816
+ 503
1817
+ ]
1818
+ },
1819
+ "idempotent": {
1820
+ "natural": true
1821
+ }
1822
+ },
1823
+ "ArchiveProject": {
1824
+ "retry": {
1825
+ "maxAttempts": 3,
1826
+ "baseDelayMs": 1000,
1827
+ "backoff": "exponential",
1828
+ "retryOn": [
1829
+ 429,
1830
+ 503
1831
+ ]
1832
+ },
1833
+ "idempotent": {
1834
+ "natural": true
1835
+ }
1836
+ },
1616
1837
  "GetProjectTimeline": {
1617
1838
  "retry": {
1618
1839
  "maxAttempts": 3,
@@ -1857,7 +2078,32 @@
1857
2078
  "natural": true
1858
2079
  }
1859
2080
  },
1860
- "GetRecording": {
2081
+ "GetBookmark": {
2082
+ "retry": {
2083
+ "maxAttempts": 3,
2084
+ "baseDelayMs": 1000,
2085
+ "backoff": "exponential",
2086
+ "retryOn": [
2087
+ 429,
2088
+ 503
2089
+ ]
2090
+ }
2091
+ },
2092
+ "CreateBookmark": {
2093
+ "retry": {
2094
+ "maxAttempts": 3,
2095
+ "baseDelayMs": 1000,
2096
+ "backoff": "exponential",
2097
+ "retryOn": [
2098
+ 429,
2099
+ 503
2100
+ ]
2101
+ },
2102
+ "idempotent": {
2103
+ "natural": true
2104
+ }
2105
+ },
2106
+ "DeleteBookmark": {
1861
2107
  "retry": {
1862
2108
  "maxAttempts": 3,
1863
2109
  "baseDelayMs": 1000,
@@ -1866,6 +2112,9 @@
1866
2112
  429,
1867
2113
  503
1868
2114
  ]
2115
+ },
2116
+ "idempotent": {
2117
+ "natural": true
1869
2118
  }
1870
2119
  },
1871
2120
  "ListRecordingBoosts": {
@@ -2254,7 +2503,7 @@
2254
2503
  ]
2255
2504
  }
2256
2505
  },
2257
- "UpdateScheduleEntry": {
2506
+ "ReplaceScheduleEntry": {
2258
2507
  "retry": {
2259
2508
  "maxAttempts": 3,
2260
2509
  "baseDelayMs": 1000,
@@ -2358,6 +2607,67 @@
2358
2607
  ]
2359
2608
  }
2360
2609
  },
2610
+ "ListFolders": {
2611
+ "retry": {
2612
+ "maxAttempts": 3,
2613
+ "baseDelayMs": 1000,
2614
+ "backoff": "exponential",
2615
+ "retryOn": [
2616
+ 429,
2617
+ 503
2618
+ ]
2619
+ }
2620
+ },
2621
+ "CreateFolder": {
2622
+ "retry": {
2623
+ "maxAttempts": 3,
2624
+ "baseDelayMs": 1000,
2625
+ "backoff": "exponential",
2626
+ "retryOn": [
2627
+ 429,
2628
+ 503
2629
+ ]
2630
+ }
2631
+ },
2632
+ "GetFolder": {
2633
+ "retry": {
2634
+ "maxAttempts": 3,
2635
+ "baseDelayMs": 1000,
2636
+ "backoff": "exponential",
2637
+ "retryOn": [
2638
+ 429,
2639
+ 503
2640
+ ]
2641
+ }
2642
+ },
2643
+ "UpdateFolder": {
2644
+ "retry": {
2645
+ "maxAttempts": 3,
2646
+ "baseDelayMs": 1000,
2647
+ "backoff": "exponential",
2648
+ "retryOn": [
2649
+ 429,
2650
+ 503
2651
+ ]
2652
+ },
2653
+ "idempotent": {
2654
+ "natural": true
2655
+ }
2656
+ },
2657
+ "DeleteFolder": {
2658
+ "retry": {
2659
+ "maxAttempts": 3,
2660
+ "baseDelayMs": 1000,
2661
+ "backoff": "exponential",
2662
+ "retryOn": [
2663
+ 429,
2664
+ 503
2665
+ ]
2666
+ },
2667
+ "idempotent": {
2668
+ "natural": true
2669
+ }
2670
+ },
2361
2671
  "ListTemplates": {
2362
2672
  "retry": {
2363
2673
  "maxAttempts": 3,
@@ -2471,6 +2781,20 @@
2471
2781
  "natural": true
2472
2782
  }
2473
2783
  },
2784
+ "DestroyTimesheetEntry": {
2785
+ "retry": {
2786
+ "maxAttempts": 3,
2787
+ "baseDelayMs": 1000,
2788
+ "backoff": "exponential",
2789
+ "retryOn": [
2790
+ 429,
2791
+ 503
2792
+ ]
2793
+ },
2794
+ "idempotent": {
2795
+ "natural": true
2796
+ }
2797
+ },
2474
2798
  "RepositionTodolistGroup": {
2475
2799
  "retry": {
2476
2800
  "maxAttempts": 3,
@@ -2664,20 +2988,6 @@
2664
2988
  "natural": true
2665
2989
  }
2666
2990
  },
2667
- "TrashTodo": {
2668
- "retry": {
2669
- "maxAttempts": 3,
2670
- "baseDelayMs": 1000,
2671
- "backoff": "exponential",
2672
- "retryOn": [
2673
- 429,
2674
- 503
2675
- ]
2676
- },
2677
- "idempotent": {
2678
- "natural": true
2679
- }
2680
- },
2681
2991
  "CompleteTodo": {
2682
2992
  "retry": {
2683
2993
  "maxAttempts": 3,