codapact-ynab 0.2.0__py3-none-any.whl

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.
codapact_ynab/types.py ADDED
@@ -0,0 +1,1365 @@
1
+ """Types generated from the semantic model. Do not edit."""
2
+
3
+ # ruff: noqa: E501, F401, UP013
4
+ from __future__ import annotations
5
+
6
+ from typing import Any, Literal, NotRequired, TypedDict
7
+
8
+ __all__ = ['Account', 'AccountBase', 'AccountResponse', 'AccountResponseData', 'AccountType', 'AccountsResponse', 'AccountsResponseData', 'BulkResponse', 'BulkResponseData', 'BulkResponseDataBulk', 'BulkTransactions', 'CategoriesResponse', 'CategoriesResponseData', 'Category', 'CategoryBase', 'CategoryBaseGoalType', 'CategoryGroup', 'CategoryGroupWithCategories', 'CategoryResponse', 'CategoryResponseData', 'CurrencyFormat', 'DateFormat', 'ErrorDetail', 'ErrorResponse', 'ExistingCategory', 'ExistingTransaction', 'GetTransactionsByAccountType', 'GetTransactionsByCategoryType', 'GetTransactionsByMonthType', 'GetTransactionsByPayeeType', 'GetTransactionsType', 'HybridTransaction', 'HybridTransactionType', 'HybridTransactionsResponse', 'HybridTransactionsResponseData', 'LoanAccountPeriodicValue', 'MoneyMovement', 'MoneyMovementBase', 'MoneyMovementGroup', 'MoneyMovementGroupsResponse', 'MoneyMovementGroupsResponseData', 'MoneyMovementsResponse', 'MoneyMovementsResponseData', 'MonthDetail', 'MonthDetailBase', 'MonthDetailResponse', 'MonthDetailResponseData', 'MonthSummariesResponse', 'MonthSummariesResponseData', 'MonthSummary', 'MonthSummaryBase', 'NewCategory', 'NewTransaction', 'PatchCategoryGroupWrapper', 'PatchCategoryWrapper', 'PatchMonthCategoryWrapper', 'PatchPayeeWrapper', 'PatchTransactionsWrapper', 'Payee', 'PayeeLocation', 'PayeeLocationResponse', 'PayeeLocationResponseData', 'PayeeLocationsResponse', 'PayeeLocationsResponseData', 'PayeeResponse', 'PayeeResponseData', 'PayeesResponse', 'PayeesResponseData', 'PlanDetail', 'PlanDetailResponse', 'PlanDetailResponseData', 'PlanSettings', 'PlanSettingsResponse', 'PlanSettingsResponseData', 'PlanSummary', 'PlanSummaryResponse', 'PlanSummaryResponseData', 'PostAccountWrapper', 'PostCategoryGroupWrapper', 'PostCategoryWrapper', 'PostPayee', 'PostPayeeWrapper', 'PostScheduledTransactionWrapper', 'PostTransactionsWrapper', 'PutScheduledTransactionWrapper', 'PutTransactionWrapper', 'SaveAccount', 'SaveAccountType', 'SaveCategory', 'SaveCategoryGoalFrequency', 'SaveCategoryGroup', 'SaveCategoryGroupResponse', 'SaveCategoryGroupResponseData', 'SaveCategoryResponse', 'SaveCategoryResponseData', 'SaveMonthCategory', 'SavePayee', 'SavePayeeResponse', 'SavePayeeResponseData', 'SaveScheduledTransaction', 'SaveSubTransaction', 'SaveTransactionWithIdOrImportId', 'SaveTransactionWithOptionalFields', 'SaveTransactionsResponse', 'SaveTransactionsResponseData', 'ScheduledSubTransaction', 'ScheduledSubTransactionBase', 'ScheduledTransactionDetail', 'ScheduledTransactionFrequency', 'ScheduledTransactionResponse', 'ScheduledTransactionResponseData', 'ScheduledTransactionSummary', 'ScheduledTransactionSummaryBase', 'ScheduledTransactionSummaryBaseFrequency', 'ScheduledTransactionsResponse', 'ScheduledTransactionsResponseData', 'SubTransaction', 'SubTransactionBase', 'TransactionClearedStatus', 'TransactionDetail', 'TransactionFlagColor', 'TransactionFlagName', 'TransactionResponse', 'TransactionResponseData', 'TransactionSummary', 'TransactionSummaryBase', 'TransactionSummaryBaseDebtTransactionType', 'TransactionsImportResponse', 'TransactionsImportResponseData', 'TransactionsResponse', 'TransactionsResponseData', 'User', 'UserResponse', 'UserResponseData']
9
+
10
+ Account = TypedDict(
11
+ 'Account',
12
+ {
13
+ 'id': "str",
14
+ 'name': "str",
15
+ 'type': "AccountType",
16
+ 'on_budget': "bool",
17
+ 'closed': "bool",
18
+ 'note': NotRequired["str | None"],
19
+ 'balance': "int",
20
+ 'cleared_balance': "int",
21
+ 'uncleared_balance': "int",
22
+ 'transfer_payee_id': "str | None",
23
+ 'direct_import_linked': NotRequired["bool"],
24
+ 'direct_import_in_error': NotRequired["bool"],
25
+ 'last_reconciled_at': NotRequired["str | None"],
26
+ 'debt_original_balance': NotRequired["int | None"],
27
+ 'debt_interest_rates': NotRequired["LoanAccountPeriodicValue | None"],
28
+ 'debt_minimum_payments': NotRequired["LoanAccountPeriodicValue | None"],
29
+ 'debt_escrow_amounts': NotRequired["LoanAccountPeriodicValue | None"],
30
+ 'deleted': "bool",
31
+ 'balance_formatted': NotRequired["str"],
32
+ 'balance_currency': NotRequired["float"],
33
+ 'cleared_balance_formatted': NotRequired["str"],
34
+ 'cleared_balance_currency': NotRequired["float"],
35
+ 'uncleared_balance_formatted': NotRequired["str"],
36
+ 'uncleared_balance_currency': NotRequired["float"],
37
+ },
38
+ )
39
+
40
+ AccountBase = TypedDict(
41
+ 'AccountBase',
42
+ {
43
+ 'id': "str",
44
+ 'name': "str",
45
+ 'type': "AccountType",
46
+ 'on_budget': "bool",
47
+ 'closed': "bool",
48
+ 'note': NotRequired["str | None"],
49
+ 'balance': "int",
50
+ 'cleared_balance': "int",
51
+ 'uncleared_balance': "int",
52
+ 'transfer_payee_id': "str | None",
53
+ 'direct_import_linked': NotRequired["bool"],
54
+ 'direct_import_in_error': NotRequired["bool"],
55
+ 'last_reconciled_at': NotRequired["str | None"],
56
+ 'debt_original_balance': NotRequired["int | None"],
57
+ 'debt_interest_rates': NotRequired["LoanAccountPeriodicValue | None"],
58
+ 'debt_minimum_payments': NotRequired["LoanAccountPeriodicValue | None"],
59
+ 'debt_escrow_amounts': NotRequired["LoanAccountPeriodicValue | None"],
60
+ 'deleted': "bool",
61
+ },
62
+ )
63
+
64
+ AccountResponse = TypedDict(
65
+ 'AccountResponse',
66
+ {
67
+ 'data': "AccountResponseData",
68
+ },
69
+ )
70
+
71
+ AccountResponseData = TypedDict(
72
+ 'AccountResponseData',
73
+ {
74
+ 'account': "Account",
75
+ },
76
+ )
77
+
78
+ type AccountType = Literal['checking', 'savings', 'cash', 'creditCard', 'lineOfCredit', 'otherAsset', 'otherLiability', 'mortgage', 'autoLoan', 'studentLoan', 'personalLoan', 'medicalDebt', 'otherDebt']
79
+ """The type of account"""
80
+
81
+ AccountsResponse = TypedDict(
82
+ 'AccountsResponse',
83
+ {
84
+ 'data': "AccountsResponseData",
85
+ },
86
+ )
87
+
88
+ AccountsResponseData = TypedDict(
89
+ 'AccountsResponseData',
90
+ {
91
+ 'accounts': "list[Account]",
92
+ 'server_knowledge': "int",
93
+ },
94
+ )
95
+
96
+ BulkResponse = TypedDict(
97
+ 'BulkResponse',
98
+ {
99
+ 'data': "BulkResponseData",
100
+ },
101
+ )
102
+
103
+ BulkResponseData = TypedDict(
104
+ 'BulkResponseData',
105
+ {
106
+ 'bulk': "BulkResponseDataBulk",
107
+ },
108
+ )
109
+
110
+ BulkResponseDataBulk = TypedDict(
111
+ 'BulkResponseDataBulk',
112
+ {
113
+ 'transaction_ids': "list[str]",
114
+ 'duplicate_import_ids': "list[str]",
115
+ },
116
+ )
117
+
118
+ BulkTransactions = TypedDict(
119
+ 'BulkTransactions',
120
+ {
121
+ 'transactions': "list[SaveTransactionWithOptionalFields]",
122
+ },
123
+ )
124
+
125
+ CategoriesResponse = TypedDict(
126
+ 'CategoriesResponse',
127
+ {
128
+ 'data': "CategoriesResponseData",
129
+ },
130
+ )
131
+
132
+ CategoriesResponseData = TypedDict(
133
+ 'CategoriesResponseData',
134
+ {
135
+ 'category_groups': "list[CategoryGroupWithCategories]",
136
+ 'server_knowledge': "int",
137
+ },
138
+ )
139
+
140
+ Category = TypedDict(
141
+ 'Category',
142
+ {
143
+ 'id': "str",
144
+ 'category_group_id': "str",
145
+ 'category_group_name': NotRequired["str"],
146
+ 'name': "str",
147
+ 'hidden': "bool",
148
+ 'internal': "bool",
149
+ 'original_category_group_id': NotRequired["str | None"],
150
+ 'note': NotRequired["str | None"],
151
+ 'budgeted': "int",
152
+ 'activity': "int",
153
+ 'balance': "int",
154
+ 'goal_type': NotRequired["CategoryBaseGoalType | None"],
155
+ 'goal_needs_whole_amount': NotRequired["bool | None"],
156
+ 'goal_day': NotRequired["int | None"],
157
+ 'goal_cadence': NotRequired["int | None"],
158
+ 'goal_cadence_frequency': NotRequired["int | None"],
159
+ 'goal_creation_month': NotRequired["str | None"],
160
+ 'goal_target': NotRequired["int | None"],
161
+ 'goal_target_month': NotRequired["str | None"],
162
+ 'goal_target_date': NotRequired["str | None"],
163
+ 'goal_percentage_complete': NotRequired["int | None"],
164
+ 'goal_months_to_budget': NotRequired["int | None"],
165
+ 'goal_under_funded': NotRequired["int | None"],
166
+ 'goal_overall_funded': NotRequired["int | None"],
167
+ 'goal_overall_left': NotRequired["int | None"],
168
+ 'goal_snoozed_at': NotRequired["str | None"],
169
+ 'deleted': "bool",
170
+ 'balance_formatted': NotRequired["str"],
171
+ 'balance_currency': NotRequired["float"],
172
+ 'activity_formatted': NotRequired["str"],
173
+ 'activity_currency': NotRequired["float"],
174
+ 'budgeted_formatted': NotRequired["str"],
175
+ 'budgeted_currency': NotRequired["float"],
176
+ 'goal_target_formatted': NotRequired["str | None"],
177
+ 'goal_target_currency': NotRequired["float | None"],
178
+ 'goal_under_funded_formatted': NotRequired["str | None"],
179
+ 'goal_under_funded_currency': NotRequired["float | None"],
180
+ 'goal_overall_funded_formatted': NotRequired["str | None"],
181
+ 'goal_overall_funded_currency': NotRequired["float | None"],
182
+ 'goal_overall_left_formatted': NotRequired["str | None"],
183
+ 'goal_overall_left_currency': NotRequired["float | None"],
184
+ },
185
+ )
186
+
187
+ CategoryBase = TypedDict(
188
+ 'CategoryBase',
189
+ {
190
+ 'id': "str",
191
+ 'category_group_id': "str",
192
+ 'category_group_name': NotRequired["str"],
193
+ 'name': "str",
194
+ 'hidden': "bool",
195
+ 'internal': "bool",
196
+ 'original_category_group_id': NotRequired["str | None"],
197
+ 'note': NotRequired["str | None"],
198
+ 'budgeted': "int",
199
+ 'activity': "int",
200
+ 'balance': "int",
201
+ 'goal_type': NotRequired["CategoryBaseGoalType | None"],
202
+ 'goal_needs_whole_amount': NotRequired["bool | None"],
203
+ 'goal_day': NotRequired["int | None"],
204
+ 'goal_cadence': NotRequired["int | None"],
205
+ 'goal_cadence_frequency': NotRequired["int | None"],
206
+ 'goal_creation_month': NotRequired["str | None"],
207
+ 'goal_target': NotRequired["int | None"],
208
+ 'goal_target_month': NotRequired["str | None"],
209
+ 'goal_target_date': NotRequired["str | None"],
210
+ 'goal_percentage_complete': NotRequired["int | None"],
211
+ 'goal_months_to_budget': NotRequired["int | None"],
212
+ 'goal_under_funded': NotRequired["int | None"],
213
+ 'goal_overall_funded': NotRequired["int | None"],
214
+ 'goal_overall_left': NotRequired["int | None"],
215
+ 'goal_snoozed_at': NotRequired["str | None"],
216
+ 'deleted': "bool",
217
+ },
218
+ )
219
+
220
+ type CategoryBaseGoalType = Literal['TB', 'TBD', 'MF', 'NEED', 'DEBT']
221
+ """The type of goal, if the category has a goal (TB='Target Category Balance', TBD='Target Category Balance by Date', MF='Monthly Funding', NEED='Plan Your Spending')"""
222
+
223
+ CategoryGroup = TypedDict(
224
+ 'CategoryGroup',
225
+ {
226
+ 'id': "str",
227
+ 'name': "str",
228
+ 'hidden': "bool",
229
+ 'internal': "bool",
230
+ 'deleted': "bool",
231
+ },
232
+ )
233
+
234
+ CategoryGroupWithCategories = TypedDict(
235
+ 'CategoryGroupWithCategories',
236
+ {
237
+ 'id': "str",
238
+ 'name': "str",
239
+ 'hidden': "bool",
240
+ 'internal': "bool",
241
+ 'deleted': "bool",
242
+ 'categories': "list[Category]",
243
+ },
244
+ )
245
+
246
+ CategoryResponse = TypedDict(
247
+ 'CategoryResponse',
248
+ {
249
+ 'data': "CategoryResponseData",
250
+ },
251
+ )
252
+
253
+ CategoryResponseData = TypedDict(
254
+ 'CategoryResponseData',
255
+ {
256
+ 'category': "Category",
257
+ },
258
+ )
259
+
260
+ CurrencyFormat = TypedDict(
261
+ 'CurrencyFormat',
262
+ {
263
+ 'iso_code': "str",
264
+ 'example_format': "str",
265
+ 'decimal_digits': "int",
266
+ 'decimal_separator': "str",
267
+ 'symbol_first': "bool",
268
+ 'group_separator': "str",
269
+ 'currency_symbol': "str",
270
+ 'display_symbol': "bool",
271
+ },
272
+ )
273
+ """The currency format setting for the plan. In some cases the format will not be available and will be specified as null."""
274
+
275
+ DateFormat = TypedDict(
276
+ 'DateFormat',
277
+ {
278
+ 'format': "str",
279
+ },
280
+ )
281
+ """The date format setting for the plan. In some cases the format will not be available and will be specified as null."""
282
+
283
+ ErrorDetail = TypedDict(
284
+ 'ErrorDetail',
285
+ {
286
+ 'id': "str",
287
+ 'name': "str",
288
+ 'detail': "str",
289
+ },
290
+ )
291
+
292
+ ErrorResponse = TypedDict(
293
+ 'ErrorResponse',
294
+ {
295
+ 'error': "ErrorDetail",
296
+ },
297
+ )
298
+
299
+ ExistingCategory = TypedDict(
300
+ 'ExistingCategory',
301
+ {
302
+ 'name': NotRequired["str | None"],
303
+ 'note': NotRequired["str | None"],
304
+ 'category_group_id': NotRequired["str"],
305
+ 'goal_target': NotRequired["int | None"],
306
+ 'goal_target_date': NotRequired["str | None"],
307
+ 'goal_needs_whole_amount': NotRequired["bool | None"],
308
+ 'goal_frequency': NotRequired["SaveCategoryGoalFrequency"],
309
+ },
310
+ )
311
+
312
+ ExistingTransaction = TypedDict(
313
+ 'ExistingTransaction',
314
+ {
315
+ 'account_id': NotRequired["str"],
316
+ 'date': NotRequired["str"],
317
+ 'amount': NotRequired["int"],
318
+ 'payee_id': NotRequired["str | None"],
319
+ 'payee_name': NotRequired["str | None"],
320
+ 'category_id': NotRequired["str | None"],
321
+ 'memo': NotRequired["str | None"],
322
+ 'cleared': NotRequired["TransactionClearedStatus"],
323
+ 'approved': NotRequired["bool"],
324
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
325
+ 'subtransactions': NotRequired["list[SaveSubTransaction]"],
326
+ },
327
+ )
328
+
329
+ type GetTransactionsByAccountType = Literal['uncategorized', 'unapproved']
330
+
331
+ type GetTransactionsByCategoryType = Literal['uncategorized', 'unapproved']
332
+
333
+ type GetTransactionsByMonthType = Literal['uncategorized', 'unapproved']
334
+
335
+ type GetTransactionsByPayeeType = Literal['uncategorized', 'unapproved']
336
+
337
+ type GetTransactionsType = Literal['uncategorized', 'unapproved']
338
+
339
+ HybridTransaction = TypedDict(
340
+ 'HybridTransaction',
341
+ {
342
+ 'id': "str",
343
+ 'date': "str",
344
+ 'amount': "int",
345
+ 'memo': NotRequired["str | None"],
346
+ 'cleared': "TransactionClearedStatus",
347
+ 'approved': "bool",
348
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
349
+ 'flag_name': NotRequired["TransactionFlagName | None"],
350
+ 'account_id': "str",
351
+ 'payee_id': NotRequired["str | None"],
352
+ 'category_id': NotRequired["str | None"],
353
+ 'transfer_account_id': NotRequired["str | None"],
354
+ 'transfer_transaction_id': NotRequired["str | None"],
355
+ 'matched_transaction_id': NotRequired["str | None"],
356
+ 'import_id': NotRequired["str | None"],
357
+ 'import_payee_name': NotRequired["str | None"],
358
+ 'import_payee_name_original': NotRequired["str | None"],
359
+ 'debt_transaction_type': NotRequired["TransactionSummaryBaseDebtTransactionType | None"],
360
+ 'deleted': "bool",
361
+ 'amount_formatted': NotRequired["str"],
362
+ 'amount_currency': NotRequired["float"],
363
+ 'type': "HybridTransactionType",
364
+ 'parent_transaction_id': NotRequired["str | None"],
365
+ 'account_name': "str",
366
+ 'payee_name': NotRequired["str | None"],
367
+ 'category_name': NotRequired["str"],
368
+ },
369
+ )
370
+
371
+ type HybridTransactionType = Literal['transaction', 'subtransaction']
372
+ """Whether the hybrid transaction represents a regular transaction or a subtransaction"""
373
+
374
+ HybridTransactionsResponse = TypedDict(
375
+ 'HybridTransactionsResponse',
376
+ {
377
+ 'data': "HybridTransactionsResponseData",
378
+ },
379
+ )
380
+
381
+ HybridTransactionsResponseData = TypedDict(
382
+ 'HybridTransactionsResponseData',
383
+ {
384
+ 'transactions': "list[HybridTransaction]",
385
+ 'server_knowledge': NotRequired["int"],
386
+ },
387
+ )
388
+
389
+ type LoanAccountPeriodicValue = dict[str, int] | None
390
+
391
+ MoneyMovement = TypedDict(
392
+ 'MoneyMovement',
393
+ {
394
+ 'id': "str",
395
+ 'month': NotRequired["str | None"],
396
+ 'moved_at': NotRequired["str | None"],
397
+ 'note': NotRequired["str | None"],
398
+ 'money_movement_group_id': NotRequired["str | None"],
399
+ 'performed_by_user_id': NotRequired["str | None"],
400
+ 'from_category_id': NotRequired["str | None"],
401
+ 'to_category_id': NotRequired["str | None"],
402
+ 'amount': "int",
403
+ 'amount_formatted': NotRequired["str"],
404
+ 'amount_currency': NotRequired["float"],
405
+ },
406
+ )
407
+
408
+ MoneyMovementBase = TypedDict(
409
+ 'MoneyMovementBase',
410
+ {
411
+ 'id': "str",
412
+ 'month': NotRequired["str | None"],
413
+ 'moved_at': NotRequired["str | None"],
414
+ 'note': NotRequired["str | None"],
415
+ 'money_movement_group_id': NotRequired["str | None"],
416
+ 'performed_by_user_id': NotRequired["str | None"],
417
+ 'from_category_id': NotRequired["str | None"],
418
+ 'to_category_id': NotRequired["str | None"],
419
+ 'amount': "int",
420
+ },
421
+ )
422
+
423
+ MoneyMovementGroup = TypedDict(
424
+ 'MoneyMovementGroup',
425
+ {
426
+ 'id': "str",
427
+ 'group_created_at': "str",
428
+ 'month': "str",
429
+ 'note': NotRequired["str | None"],
430
+ 'performed_by_user_id': NotRequired["str | None"],
431
+ },
432
+ )
433
+
434
+ MoneyMovementGroupsResponse = TypedDict(
435
+ 'MoneyMovementGroupsResponse',
436
+ {
437
+ 'data': "MoneyMovementGroupsResponseData",
438
+ },
439
+ )
440
+
441
+ MoneyMovementGroupsResponseData = TypedDict(
442
+ 'MoneyMovementGroupsResponseData',
443
+ {
444
+ 'money_movement_groups': "list[MoneyMovementGroup]",
445
+ 'server_knowledge': "int",
446
+ },
447
+ )
448
+
449
+ MoneyMovementsResponse = TypedDict(
450
+ 'MoneyMovementsResponse',
451
+ {
452
+ 'data': "MoneyMovementsResponseData",
453
+ },
454
+ )
455
+
456
+ MoneyMovementsResponseData = TypedDict(
457
+ 'MoneyMovementsResponseData',
458
+ {
459
+ 'money_movements': "list[MoneyMovement]",
460
+ 'server_knowledge': "int",
461
+ },
462
+ )
463
+
464
+ MonthDetail = TypedDict(
465
+ 'MonthDetail',
466
+ {
467
+ 'month': "str",
468
+ 'note': NotRequired["str | None"],
469
+ 'income': "int",
470
+ 'budgeted': "int",
471
+ 'activity': "int",
472
+ 'to_be_budgeted': "int",
473
+ 'age_of_money': NotRequired["int | None"],
474
+ 'deleted': "bool",
475
+ 'income_formatted': NotRequired["str"],
476
+ 'income_currency': NotRequired["float"],
477
+ 'budgeted_formatted': NotRequired["str"],
478
+ 'budgeted_currency': NotRequired["float"],
479
+ 'activity_formatted': NotRequired["str"],
480
+ 'activity_currency': NotRequired["float"],
481
+ 'to_be_budgeted_formatted': NotRequired["str"],
482
+ 'to_be_budgeted_currency': NotRequired["float"],
483
+ 'categories': "list[Category]",
484
+ },
485
+ )
486
+
487
+ MonthDetailBase = TypedDict(
488
+ 'MonthDetailBase',
489
+ {
490
+ 'month': "str",
491
+ 'note': NotRequired["str | None"],
492
+ 'income': "int",
493
+ 'budgeted': "int",
494
+ 'activity': "int",
495
+ 'to_be_budgeted': "int",
496
+ 'age_of_money': NotRequired["int | None"],
497
+ 'deleted': "bool",
498
+ 'categories': "list[CategoryBase]",
499
+ },
500
+ )
501
+
502
+ MonthDetailResponse = TypedDict(
503
+ 'MonthDetailResponse',
504
+ {
505
+ 'data': "MonthDetailResponseData",
506
+ },
507
+ )
508
+
509
+ MonthDetailResponseData = TypedDict(
510
+ 'MonthDetailResponseData',
511
+ {
512
+ 'month': "MonthDetail",
513
+ },
514
+ )
515
+
516
+ MonthSummariesResponse = TypedDict(
517
+ 'MonthSummariesResponse',
518
+ {
519
+ 'data': "MonthSummariesResponseData",
520
+ },
521
+ )
522
+
523
+ MonthSummariesResponseData = TypedDict(
524
+ 'MonthSummariesResponseData',
525
+ {
526
+ 'months': "list[MonthSummary]",
527
+ 'server_knowledge': "int",
528
+ },
529
+ )
530
+
531
+ MonthSummary = TypedDict(
532
+ 'MonthSummary',
533
+ {
534
+ 'month': "str",
535
+ 'note': NotRequired["str | None"],
536
+ 'income': "int",
537
+ 'budgeted': "int",
538
+ 'activity': "int",
539
+ 'to_be_budgeted': "int",
540
+ 'age_of_money': NotRequired["int | None"],
541
+ 'deleted': "bool",
542
+ 'income_formatted': NotRequired["str"],
543
+ 'income_currency': NotRequired["float"],
544
+ 'budgeted_formatted': NotRequired["str"],
545
+ 'budgeted_currency': NotRequired["float"],
546
+ 'activity_formatted': NotRequired["str"],
547
+ 'activity_currency': NotRequired["float"],
548
+ 'to_be_budgeted_formatted': NotRequired["str"],
549
+ 'to_be_budgeted_currency': NotRequired["float"],
550
+ },
551
+ )
552
+
553
+ MonthSummaryBase = TypedDict(
554
+ 'MonthSummaryBase',
555
+ {
556
+ 'month': "str",
557
+ 'note': NotRequired["str | None"],
558
+ 'income': "int",
559
+ 'budgeted': "int",
560
+ 'activity': "int",
561
+ 'to_be_budgeted': "int",
562
+ 'age_of_money': NotRequired["int | None"],
563
+ 'deleted': "bool",
564
+ },
565
+ )
566
+
567
+ NewCategory = TypedDict(
568
+ 'NewCategory',
569
+ {
570
+ 'name': "str | None",
571
+ 'note': NotRequired["str | None"],
572
+ 'category_group_id': "str",
573
+ 'goal_target': NotRequired["int | None"],
574
+ 'goal_target_date': NotRequired["str | None"],
575
+ 'goal_needs_whole_amount': NotRequired["bool | None"],
576
+ 'goal_frequency': NotRequired["SaveCategoryGoalFrequency"],
577
+ },
578
+ )
579
+
580
+ NewTransaction = TypedDict(
581
+ 'NewTransaction',
582
+ {
583
+ 'account_id': NotRequired["str"],
584
+ 'date': NotRequired["str"],
585
+ 'amount': NotRequired["int"],
586
+ 'payee_id': NotRequired["str | None"],
587
+ 'payee_name': NotRequired["str | None"],
588
+ 'category_id': NotRequired["str | None"],
589
+ 'memo': NotRequired["str | None"],
590
+ 'cleared': NotRequired["TransactionClearedStatus"],
591
+ 'approved': NotRequired["bool"],
592
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
593
+ 'subtransactions': NotRequired["list[SaveSubTransaction]"],
594
+ 'import_id': NotRequired["str | None"],
595
+ },
596
+ )
597
+
598
+ PatchCategoryGroupWrapper = TypedDict(
599
+ 'PatchCategoryGroupWrapper',
600
+ {
601
+ 'category_group': "SaveCategoryGroup",
602
+ },
603
+ )
604
+
605
+ PatchCategoryWrapper = TypedDict(
606
+ 'PatchCategoryWrapper',
607
+ {
608
+ 'category': "ExistingCategory",
609
+ },
610
+ )
611
+
612
+ PatchMonthCategoryWrapper = TypedDict(
613
+ 'PatchMonthCategoryWrapper',
614
+ {
615
+ 'category': "SaveMonthCategory",
616
+ },
617
+ )
618
+
619
+ PatchPayeeWrapper = TypedDict(
620
+ 'PatchPayeeWrapper',
621
+ {
622
+ 'payee': "SavePayee",
623
+ },
624
+ )
625
+
626
+ PatchTransactionsWrapper = TypedDict(
627
+ 'PatchTransactionsWrapper',
628
+ {
629
+ 'transactions': "list[SaveTransactionWithIdOrImportId]",
630
+ },
631
+ )
632
+
633
+ Payee = TypedDict(
634
+ 'Payee',
635
+ {
636
+ 'id': "str",
637
+ 'name': "str",
638
+ 'transfer_account_id': NotRequired["str | None"],
639
+ 'deleted': "bool",
640
+ },
641
+ )
642
+
643
+ PayeeLocation = TypedDict(
644
+ 'PayeeLocation',
645
+ {
646
+ 'id': "str",
647
+ 'payee_id': "str",
648
+ 'latitude': "str",
649
+ 'longitude': "str",
650
+ 'deleted': "bool",
651
+ },
652
+ )
653
+
654
+ PayeeLocationResponse = TypedDict(
655
+ 'PayeeLocationResponse',
656
+ {
657
+ 'data': "PayeeLocationResponseData",
658
+ },
659
+ )
660
+
661
+ PayeeLocationResponseData = TypedDict(
662
+ 'PayeeLocationResponseData',
663
+ {
664
+ 'payee_location': "PayeeLocation",
665
+ },
666
+ )
667
+
668
+ PayeeLocationsResponse = TypedDict(
669
+ 'PayeeLocationsResponse',
670
+ {
671
+ 'data': "PayeeLocationsResponseData",
672
+ },
673
+ )
674
+
675
+ PayeeLocationsResponseData = TypedDict(
676
+ 'PayeeLocationsResponseData',
677
+ {
678
+ 'payee_locations': "list[PayeeLocation]",
679
+ },
680
+ )
681
+
682
+ PayeeResponse = TypedDict(
683
+ 'PayeeResponse',
684
+ {
685
+ 'data': "PayeeResponseData",
686
+ },
687
+ )
688
+
689
+ PayeeResponseData = TypedDict(
690
+ 'PayeeResponseData',
691
+ {
692
+ 'payee': "Payee",
693
+ },
694
+ )
695
+
696
+ PayeesResponse = TypedDict(
697
+ 'PayeesResponse',
698
+ {
699
+ 'data': "PayeesResponseData",
700
+ },
701
+ )
702
+
703
+ PayeesResponseData = TypedDict(
704
+ 'PayeesResponseData',
705
+ {
706
+ 'payees': "list[Payee]",
707
+ 'server_knowledge': "int",
708
+ },
709
+ )
710
+
711
+ PlanDetail = TypedDict(
712
+ 'PlanDetail',
713
+ {
714
+ 'id': "str",
715
+ 'name': "str",
716
+ 'last_modified_on': NotRequired["str"],
717
+ 'first_month': NotRequired["str"],
718
+ 'last_month': NotRequired["str"],
719
+ 'date_format': NotRequired["DateFormat | None"],
720
+ 'currency_format': NotRequired["CurrencyFormat | None"],
721
+ 'accounts': NotRequired["list[Account]"],
722
+ 'payees': NotRequired["list[Payee]"],
723
+ 'payee_locations': NotRequired["list[PayeeLocation]"],
724
+ 'category_groups': NotRequired["list[CategoryGroup]"],
725
+ 'categories': NotRequired["list[CategoryBase]"],
726
+ 'months': NotRequired["list[MonthDetailBase]"],
727
+ 'transactions': NotRequired["list[TransactionSummaryBase]"],
728
+ 'subtransactions': NotRequired["list[SubTransactionBase]"],
729
+ 'scheduled_transactions': NotRequired["list[ScheduledTransactionDetail]"],
730
+ 'scheduled_subtransactions': NotRequired["list[ScheduledSubTransaction]"],
731
+ },
732
+ )
733
+
734
+ PlanDetailResponse = TypedDict(
735
+ 'PlanDetailResponse',
736
+ {
737
+ 'data': "PlanDetailResponseData",
738
+ },
739
+ )
740
+
741
+ PlanDetailResponseData = TypedDict(
742
+ 'PlanDetailResponseData',
743
+ {
744
+ 'plan': "PlanDetail",
745
+ 'server_knowledge': "int",
746
+ },
747
+ )
748
+
749
+ PlanSettings = TypedDict(
750
+ 'PlanSettings',
751
+ {
752
+ 'date_format': "DateFormat | None",
753
+ 'currency_format': "CurrencyFormat | None",
754
+ },
755
+ )
756
+
757
+ PlanSettingsResponse = TypedDict(
758
+ 'PlanSettingsResponse',
759
+ {
760
+ 'data': "PlanSettingsResponseData",
761
+ },
762
+ )
763
+
764
+ PlanSettingsResponseData = TypedDict(
765
+ 'PlanSettingsResponseData',
766
+ {
767
+ 'settings': "PlanSettings",
768
+ },
769
+ )
770
+
771
+ PlanSummary = TypedDict(
772
+ 'PlanSummary',
773
+ {
774
+ 'id': "str",
775
+ 'name': "str",
776
+ 'last_modified_on': NotRequired["str"],
777
+ 'first_month': NotRequired["str"],
778
+ 'last_month': NotRequired["str"],
779
+ 'date_format': NotRequired["DateFormat | None"],
780
+ 'currency_format': NotRequired["CurrencyFormat | None"],
781
+ 'accounts': NotRequired["list[Account]"],
782
+ },
783
+ )
784
+
785
+ PlanSummaryResponse = TypedDict(
786
+ 'PlanSummaryResponse',
787
+ {
788
+ 'data': "PlanSummaryResponseData",
789
+ },
790
+ )
791
+
792
+ PlanSummaryResponseData = TypedDict(
793
+ 'PlanSummaryResponseData',
794
+ {
795
+ 'plans': "list[PlanSummary]",
796
+ 'default_plan': NotRequired["PlanSummary | None"],
797
+ },
798
+ )
799
+
800
+ PostAccountWrapper = TypedDict(
801
+ 'PostAccountWrapper',
802
+ {
803
+ 'account': "SaveAccount",
804
+ },
805
+ )
806
+
807
+ PostCategoryGroupWrapper = TypedDict(
808
+ 'PostCategoryGroupWrapper',
809
+ {
810
+ 'category_group': "SaveCategoryGroup",
811
+ },
812
+ )
813
+
814
+ PostCategoryWrapper = TypedDict(
815
+ 'PostCategoryWrapper',
816
+ {
817
+ 'category': "NewCategory",
818
+ },
819
+ )
820
+
821
+ PostPayee = TypedDict(
822
+ 'PostPayee',
823
+ {
824
+ 'name': "str",
825
+ },
826
+ )
827
+
828
+ PostPayeeWrapper = TypedDict(
829
+ 'PostPayeeWrapper',
830
+ {
831
+ 'payee': "PostPayee",
832
+ },
833
+ )
834
+
835
+ PostScheduledTransactionWrapper = TypedDict(
836
+ 'PostScheduledTransactionWrapper',
837
+ {
838
+ 'scheduled_transaction': "SaveScheduledTransaction",
839
+ },
840
+ )
841
+
842
+ PostTransactionsWrapper = TypedDict(
843
+ 'PostTransactionsWrapper',
844
+ {
845
+ 'transaction': NotRequired["NewTransaction"],
846
+ 'transactions': NotRequired["list[NewTransaction]"],
847
+ },
848
+ )
849
+
850
+ PutScheduledTransactionWrapper = TypedDict(
851
+ 'PutScheduledTransactionWrapper',
852
+ {
853
+ 'scheduled_transaction': "SaveScheduledTransaction",
854
+ },
855
+ )
856
+
857
+ PutTransactionWrapper = TypedDict(
858
+ 'PutTransactionWrapper',
859
+ {
860
+ 'transaction': "ExistingTransaction",
861
+ },
862
+ )
863
+
864
+ SaveAccount = TypedDict(
865
+ 'SaveAccount',
866
+ {
867
+ 'name': "str",
868
+ 'type': "SaveAccountType",
869
+ 'balance': "int",
870
+ },
871
+ )
872
+
873
+ type SaveAccountType = Literal['checking', 'savings', 'cash', 'creditCard', 'otherAsset', 'otherLiability']
874
+ """The type of account to create or update"""
875
+
876
+ SaveCategory = TypedDict(
877
+ 'SaveCategory',
878
+ {
879
+ 'name': NotRequired["str | None"],
880
+ 'note': NotRequired["str | None"],
881
+ 'category_group_id': NotRequired["str"],
882
+ 'goal_target': NotRequired["int | None"],
883
+ 'goal_target_date': NotRequired["str | None"],
884
+ 'goal_needs_whole_amount': NotRequired["bool | None"],
885
+ 'goal_frequency': NotRequired["SaveCategoryGoalFrequency"],
886
+ },
887
+ )
888
+
889
+ type SaveCategoryGoalFrequency = Literal['monthly', 'weekly', 'yearly']
890
+ """When specified, configures a recurring 'NEED' target of goal_target that repeats at this frequency, replacing any existing target. Requires goal_target. 'yearly' also requires goal_target_date, the date the target is next due. 'monthly' accepts an optional goal_target_date, and 'weekly' cannot be combined with goal_target_date. Not supported for Credit Card Payment categories or categories paired to a loan account. Omit to leave an existing target's cadence unchanged."""
891
+
892
+ SaveCategoryGroup = TypedDict(
893
+ 'SaveCategoryGroup',
894
+ {
895
+ 'name': "str",
896
+ },
897
+ )
898
+
899
+ SaveCategoryGroupResponse = TypedDict(
900
+ 'SaveCategoryGroupResponse',
901
+ {
902
+ 'data': "SaveCategoryGroupResponseData",
903
+ },
904
+ )
905
+
906
+ SaveCategoryGroupResponseData = TypedDict(
907
+ 'SaveCategoryGroupResponseData',
908
+ {
909
+ 'category_group': "CategoryGroup",
910
+ 'server_knowledge': "int",
911
+ },
912
+ )
913
+
914
+ SaveCategoryResponse = TypedDict(
915
+ 'SaveCategoryResponse',
916
+ {
917
+ 'data': "SaveCategoryResponseData",
918
+ },
919
+ )
920
+
921
+ SaveCategoryResponseData = TypedDict(
922
+ 'SaveCategoryResponseData',
923
+ {
924
+ 'category': "Category",
925
+ 'server_knowledge': "int",
926
+ },
927
+ )
928
+
929
+ SaveMonthCategory = TypedDict(
930
+ 'SaveMonthCategory',
931
+ {
932
+ 'budgeted': "int",
933
+ },
934
+ )
935
+
936
+ SavePayee = TypedDict(
937
+ 'SavePayee',
938
+ {
939
+ 'name': NotRequired["str"],
940
+ },
941
+ )
942
+
943
+ SavePayeeResponse = TypedDict(
944
+ 'SavePayeeResponse',
945
+ {
946
+ 'data': "SavePayeeResponseData",
947
+ },
948
+ )
949
+
950
+ SavePayeeResponseData = TypedDict(
951
+ 'SavePayeeResponseData',
952
+ {
953
+ 'payee': "Payee",
954
+ 'server_knowledge': "int",
955
+ },
956
+ )
957
+
958
+ SaveScheduledTransaction = TypedDict(
959
+ 'SaveScheduledTransaction',
960
+ {
961
+ 'account_id': "str",
962
+ 'date': "str",
963
+ 'amount': NotRequired["int"],
964
+ 'payee_id': NotRequired["str | None"],
965
+ 'payee_name': NotRequired["str | None"],
966
+ 'category_id': NotRequired["str | None"],
967
+ 'memo': NotRequired["str | None"],
968
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
969
+ 'frequency': NotRequired["ScheduledTransactionFrequency"],
970
+ },
971
+ )
972
+
973
+ SaveSubTransaction = TypedDict(
974
+ 'SaveSubTransaction',
975
+ {
976
+ 'amount': "int",
977
+ 'payee_id': NotRequired["str | None"],
978
+ 'payee_name': NotRequired["str | None"],
979
+ 'category_id': NotRequired["str | None"],
980
+ 'memo': NotRequired["str | None"],
981
+ },
982
+ )
983
+
984
+ SaveTransactionWithIdOrImportId = TypedDict(
985
+ 'SaveTransactionWithIdOrImportId',
986
+ {
987
+ 'id': NotRequired["str | None"],
988
+ 'import_id': NotRequired["str | None"],
989
+ 'account_id': NotRequired["str"],
990
+ 'date': NotRequired["str"],
991
+ 'amount': NotRequired["int"],
992
+ 'payee_id': NotRequired["str | None"],
993
+ 'payee_name': NotRequired["str | None"],
994
+ 'category_id': NotRequired["str | None"],
995
+ 'memo': NotRequired["str | None"],
996
+ 'cleared': NotRequired["TransactionClearedStatus"],
997
+ 'approved': NotRequired["bool"],
998
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
999
+ 'subtransactions': NotRequired["list[SaveSubTransaction]"],
1000
+ },
1001
+ )
1002
+
1003
+ SaveTransactionWithOptionalFields = TypedDict(
1004
+ 'SaveTransactionWithOptionalFields',
1005
+ {
1006
+ 'account_id': NotRequired["str"],
1007
+ 'date': NotRequired["str"],
1008
+ 'amount': NotRequired["int"],
1009
+ 'payee_id': NotRequired["str | None"],
1010
+ 'payee_name': NotRequired["str | None"],
1011
+ 'category_id': NotRequired["str | None"],
1012
+ 'memo': NotRequired["str | None"],
1013
+ 'cleared': NotRequired["TransactionClearedStatus"],
1014
+ 'approved': NotRequired["bool"],
1015
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
1016
+ 'subtransactions': NotRequired["list[SaveSubTransaction]"],
1017
+ },
1018
+ )
1019
+
1020
+ SaveTransactionsResponse = TypedDict(
1021
+ 'SaveTransactionsResponse',
1022
+ {
1023
+ 'data': "SaveTransactionsResponseData",
1024
+ },
1025
+ )
1026
+
1027
+ SaveTransactionsResponseData = TypedDict(
1028
+ 'SaveTransactionsResponseData',
1029
+ {
1030
+ 'transaction_ids': "list[str]",
1031
+ 'transaction': NotRequired["TransactionDetail"],
1032
+ 'transactions': NotRequired["list[TransactionDetail]"],
1033
+ 'duplicate_import_ids': NotRequired["list[str]"],
1034
+ 'server_knowledge': "int",
1035
+ },
1036
+ )
1037
+
1038
+ ScheduledSubTransaction = TypedDict(
1039
+ 'ScheduledSubTransaction',
1040
+ {
1041
+ 'id': "str",
1042
+ 'scheduled_transaction_id': "str",
1043
+ 'amount': "int",
1044
+ 'memo': NotRequired["str | None"],
1045
+ 'payee_id': NotRequired["str | None"],
1046
+ 'payee_name': NotRequired["str | None"],
1047
+ 'category_id': NotRequired["str | None"],
1048
+ 'category_name': NotRequired["str | None"],
1049
+ 'transfer_account_id': NotRequired["str | None"],
1050
+ 'deleted': "bool",
1051
+ 'amount_formatted': NotRequired["str"],
1052
+ 'amount_currency': NotRequired["float"],
1053
+ },
1054
+ )
1055
+
1056
+ ScheduledSubTransactionBase = TypedDict(
1057
+ 'ScheduledSubTransactionBase',
1058
+ {
1059
+ 'id': "str",
1060
+ 'scheduled_transaction_id': "str",
1061
+ 'amount': "int",
1062
+ 'memo': NotRequired["str | None"],
1063
+ 'payee_id': NotRequired["str | None"],
1064
+ 'payee_name': NotRequired["str | None"],
1065
+ 'category_id': NotRequired["str | None"],
1066
+ 'category_name': NotRequired["str | None"],
1067
+ 'transfer_account_id': NotRequired["str | None"],
1068
+ 'deleted': "bool",
1069
+ },
1070
+ )
1071
+
1072
+ ScheduledTransactionDetail = TypedDict(
1073
+ 'ScheduledTransactionDetail',
1074
+ {
1075
+ 'id': "str",
1076
+ 'date_first': "str",
1077
+ 'date_next': "str",
1078
+ 'frequency': "ScheduledTransactionSummaryBaseFrequency",
1079
+ 'amount': "int",
1080
+ 'memo': NotRequired["str | None"],
1081
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
1082
+ 'flag_name': NotRequired["TransactionFlagName | None"],
1083
+ 'account_id': "str",
1084
+ 'payee_id': NotRequired["str | None"],
1085
+ 'category_id': NotRequired["str | None"],
1086
+ 'transfer_account_id': NotRequired["str | None"],
1087
+ 'deleted': "bool",
1088
+ 'amount_formatted': NotRequired["str"],
1089
+ 'amount_currency': NotRequired["float"],
1090
+ 'account_name': "str",
1091
+ 'payee_name': NotRequired["str | None"],
1092
+ 'category_name': NotRequired["str | None"],
1093
+ 'subtransactions': "list[ScheduledSubTransaction]",
1094
+ },
1095
+ )
1096
+
1097
+ type ScheduledTransactionFrequency = Literal['never', 'daily', 'weekly', 'everyOtherWeek', 'twiceAMonth', 'every4Weeks', 'monthly', 'everyOtherMonth', 'every3Months', 'every4Months', 'twiceAYear', 'yearly', 'everyOtherYear']
1098
+ """The scheduled transaction frequency"""
1099
+
1100
+ ScheduledTransactionResponse = TypedDict(
1101
+ 'ScheduledTransactionResponse',
1102
+ {
1103
+ 'data': "ScheduledTransactionResponseData",
1104
+ },
1105
+ )
1106
+
1107
+ ScheduledTransactionResponseData = TypedDict(
1108
+ 'ScheduledTransactionResponseData',
1109
+ {
1110
+ 'scheduled_transaction': "ScheduledTransactionDetail",
1111
+ },
1112
+ )
1113
+
1114
+ ScheduledTransactionSummary = TypedDict(
1115
+ 'ScheduledTransactionSummary',
1116
+ {
1117
+ 'id': "str",
1118
+ 'date_first': "str",
1119
+ 'date_next': "str",
1120
+ 'frequency': "ScheduledTransactionSummaryBaseFrequency",
1121
+ 'amount': "int",
1122
+ 'memo': NotRequired["str | None"],
1123
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
1124
+ 'flag_name': NotRequired["TransactionFlagName | None"],
1125
+ 'account_id': "str",
1126
+ 'payee_id': NotRequired["str | None"],
1127
+ 'category_id': NotRequired["str | None"],
1128
+ 'transfer_account_id': NotRequired["str | None"],
1129
+ 'deleted': "bool",
1130
+ 'amount_formatted': NotRequired["str"],
1131
+ 'amount_currency': NotRequired["float"],
1132
+ },
1133
+ )
1134
+
1135
+ ScheduledTransactionSummaryBase = TypedDict(
1136
+ 'ScheduledTransactionSummaryBase',
1137
+ {
1138
+ 'id': "str",
1139
+ 'date_first': "str",
1140
+ 'date_next': "str",
1141
+ 'frequency': "ScheduledTransactionSummaryBaseFrequency",
1142
+ 'amount': "int",
1143
+ 'memo': NotRequired["str | None"],
1144
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
1145
+ 'flag_name': NotRequired["TransactionFlagName | None"],
1146
+ 'account_id': "str",
1147
+ 'payee_id': NotRequired["str | None"],
1148
+ 'category_id': NotRequired["str | None"],
1149
+ 'transfer_account_id': NotRequired["str | None"],
1150
+ 'deleted': "bool",
1151
+ },
1152
+ )
1153
+
1154
+ type ScheduledTransactionSummaryBaseFrequency = Literal['never', 'daily', 'weekly', 'everyOtherWeek', 'twiceAMonth', 'every4Weeks', 'monthly', 'everyOtherMonth', 'every3Months', 'every4Months', 'twiceAYear', 'yearly', 'everyOtherYear']
1155
+
1156
+ ScheduledTransactionsResponse = TypedDict(
1157
+ 'ScheduledTransactionsResponse',
1158
+ {
1159
+ 'data': "ScheduledTransactionsResponseData",
1160
+ },
1161
+ )
1162
+
1163
+ ScheduledTransactionsResponseData = TypedDict(
1164
+ 'ScheduledTransactionsResponseData',
1165
+ {
1166
+ 'scheduled_transactions': "list[ScheduledTransactionDetail]",
1167
+ 'server_knowledge': "int",
1168
+ },
1169
+ )
1170
+
1171
+ SubTransaction = TypedDict(
1172
+ 'SubTransaction',
1173
+ {
1174
+ 'id': "str",
1175
+ 'transaction_id': "str",
1176
+ 'amount': "int",
1177
+ 'memo': NotRequired["str | None"],
1178
+ 'payee_id': NotRequired["str | None"],
1179
+ 'payee_name': NotRequired["str | None"],
1180
+ 'category_id': NotRequired["str | None"],
1181
+ 'category_name': NotRequired["str | None"],
1182
+ 'transfer_account_id': NotRequired["str | None"],
1183
+ 'transfer_transaction_id': NotRequired["str | None"],
1184
+ 'deleted': "bool",
1185
+ 'amount_formatted': NotRequired["str"],
1186
+ 'amount_currency': NotRequired["float"],
1187
+ },
1188
+ )
1189
+
1190
+ SubTransactionBase = TypedDict(
1191
+ 'SubTransactionBase',
1192
+ {
1193
+ 'id': "str",
1194
+ 'transaction_id': "str",
1195
+ 'amount': "int",
1196
+ 'memo': NotRequired["str | None"],
1197
+ 'payee_id': NotRequired["str | None"],
1198
+ 'payee_name': NotRequired["str | None"],
1199
+ 'category_id': NotRequired["str | None"],
1200
+ 'category_name': NotRequired["str | None"],
1201
+ 'transfer_account_id': NotRequired["str | None"],
1202
+ 'transfer_transaction_id': NotRequired["str | None"],
1203
+ 'deleted': "bool",
1204
+ },
1205
+ )
1206
+
1207
+ type TransactionClearedStatus = Literal['cleared', 'uncleared', 'reconciled']
1208
+ """The cleared status of the transaction"""
1209
+
1210
+ TransactionDetail = TypedDict(
1211
+ 'TransactionDetail',
1212
+ {
1213
+ 'id': "str",
1214
+ 'date': "str",
1215
+ 'amount': "int",
1216
+ 'memo': NotRequired["str | None"],
1217
+ 'cleared': "TransactionClearedStatus",
1218
+ 'approved': "bool",
1219
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
1220
+ 'flag_name': NotRequired["TransactionFlagName | None"],
1221
+ 'account_id': "str",
1222
+ 'payee_id': NotRequired["str | None"],
1223
+ 'category_id': NotRequired["str | None"],
1224
+ 'transfer_account_id': NotRequired["str | None"],
1225
+ 'transfer_transaction_id': NotRequired["str | None"],
1226
+ 'matched_transaction_id': NotRequired["str | None"],
1227
+ 'import_id': NotRequired["str | None"],
1228
+ 'import_payee_name': NotRequired["str | None"],
1229
+ 'import_payee_name_original': NotRequired["str | None"],
1230
+ 'debt_transaction_type': NotRequired["TransactionSummaryBaseDebtTransactionType | None"],
1231
+ 'deleted': "bool",
1232
+ 'amount_formatted': NotRequired["str"],
1233
+ 'amount_currency': NotRequired["float"],
1234
+ 'account_name': "str",
1235
+ 'payee_name': NotRequired["str | None"],
1236
+ 'category_name': NotRequired["str | None"],
1237
+ 'subtransactions': "list[SubTransaction]",
1238
+ },
1239
+ )
1240
+
1241
+ type TransactionFlagColor = Literal['red', 'orange', 'yellow', 'green', 'blue', 'purple', '']
1242
+ """The transaction flag"""
1243
+
1244
+ type TransactionFlagName = str | None
1245
+ """The customized name of a transaction flag"""
1246
+
1247
+ TransactionResponse = TypedDict(
1248
+ 'TransactionResponse',
1249
+ {
1250
+ 'data': "TransactionResponseData",
1251
+ },
1252
+ )
1253
+
1254
+ TransactionResponseData = TypedDict(
1255
+ 'TransactionResponseData',
1256
+ {
1257
+ 'transaction': "TransactionDetail",
1258
+ 'server_knowledge': "int",
1259
+ },
1260
+ )
1261
+
1262
+ TransactionSummary = TypedDict(
1263
+ 'TransactionSummary',
1264
+ {
1265
+ 'id': "str",
1266
+ 'date': "str",
1267
+ 'amount': "int",
1268
+ 'memo': NotRequired["str | None"],
1269
+ 'cleared': "TransactionClearedStatus",
1270
+ 'approved': "bool",
1271
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
1272
+ 'flag_name': NotRequired["TransactionFlagName | None"],
1273
+ 'account_id': "str",
1274
+ 'payee_id': NotRequired["str | None"],
1275
+ 'category_id': NotRequired["str | None"],
1276
+ 'transfer_account_id': NotRequired["str | None"],
1277
+ 'transfer_transaction_id': NotRequired["str | None"],
1278
+ 'matched_transaction_id': NotRequired["str | None"],
1279
+ 'import_id': NotRequired["str | None"],
1280
+ 'import_payee_name': NotRequired["str | None"],
1281
+ 'import_payee_name_original': NotRequired["str | None"],
1282
+ 'debt_transaction_type': NotRequired["TransactionSummaryBaseDebtTransactionType | None"],
1283
+ 'deleted': "bool",
1284
+ 'amount_formatted': NotRequired["str"],
1285
+ 'amount_currency': NotRequired["float"],
1286
+ },
1287
+ )
1288
+
1289
+ TransactionSummaryBase = TypedDict(
1290
+ 'TransactionSummaryBase',
1291
+ {
1292
+ 'id': "str",
1293
+ 'date': "str",
1294
+ 'amount': "int",
1295
+ 'memo': NotRequired["str | None"],
1296
+ 'cleared': "TransactionClearedStatus",
1297
+ 'approved': "bool",
1298
+ 'flag_color': NotRequired["TransactionFlagColor | None"],
1299
+ 'flag_name': NotRequired["TransactionFlagName | None"],
1300
+ 'account_id': "str",
1301
+ 'payee_id': NotRequired["str | None"],
1302
+ 'category_id': NotRequired["str | None"],
1303
+ 'transfer_account_id': NotRequired["str | None"],
1304
+ 'transfer_transaction_id': NotRequired["str | None"],
1305
+ 'matched_transaction_id': NotRequired["str | None"],
1306
+ 'import_id': NotRequired["str | None"],
1307
+ 'import_payee_name': NotRequired["str | None"],
1308
+ 'import_payee_name_original': NotRequired["str | None"],
1309
+ 'debt_transaction_type': NotRequired["TransactionSummaryBaseDebtTransactionType | None"],
1310
+ 'deleted': "bool",
1311
+ },
1312
+ )
1313
+
1314
+ type TransactionSummaryBaseDebtTransactionType = Literal['payment', 'refund', 'fee', 'interest', 'escrow', 'balanceAdjustment', 'credit', 'charge']
1315
+ """If the transaction is a debt/loan account transaction, the type of transaction"""
1316
+
1317
+ TransactionsImportResponse = TypedDict(
1318
+ 'TransactionsImportResponse',
1319
+ {
1320
+ 'data': "TransactionsImportResponseData",
1321
+ },
1322
+ )
1323
+
1324
+ TransactionsImportResponseData = TypedDict(
1325
+ 'TransactionsImportResponseData',
1326
+ {
1327
+ 'transaction_ids': "list[str]",
1328
+ },
1329
+ )
1330
+
1331
+ TransactionsResponse = TypedDict(
1332
+ 'TransactionsResponse',
1333
+ {
1334
+ 'data': "TransactionsResponseData",
1335
+ },
1336
+ )
1337
+
1338
+ TransactionsResponseData = TypedDict(
1339
+ 'TransactionsResponseData',
1340
+ {
1341
+ 'transactions': "list[TransactionDetail]",
1342
+ 'server_knowledge': "int",
1343
+ },
1344
+ )
1345
+
1346
+ User = TypedDict(
1347
+ 'User',
1348
+ {
1349
+ 'id': "str",
1350
+ },
1351
+ )
1352
+
1353
+ UserResponse = TypedDict(
1354
+ 'UserResponse',
1355
+ {
1356
+ 'data': "UserResponseData",
1357
+ },
1358
+ )
1359
+
1360
+ UserResponseData = TypedDict(
1361
+ 'UserResponseData',
1362
+ {
1363
+ 'user': "User",
1364
+ },
1365
+ )