ynab 4.0.0 → 4.4.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 (133) hide show
  1. package/README.md +1 -0
  2. package/dist/apis/PayeesApi.d.ts +15 -1
  3. package/dist/apis/PayeesApi.js +39 -0
  4. package/dist/browser/ynab.js +1 -1
  5. package/dist/esm/apis/PayeesApi.d.ts +15 -1
  6. package/dist/esm/apis/PayeesApi.js +62 -1
  7. package/dist/esm/index.d.ts +5 -0
  8. package/dist/esm/index.js +13 -0
  9. package/dist/esm/models/Account.d.ts +40 -4
  10. package/dist/esm/models/Account.js +12 -0
  11. package/dist/esm/models/AccountBase.d.ts +136 -0
  12. package/dist/esm/models/AccountBase.js +92 -0
  13. package/dist/esm/models/Category.d.ts +100 -16
  14. package/dist/esm/models/Category.js +28 -0
  15. package/dist/esm/models/CategoryBase.d.ts +188 -0
  16. package/dist/esm/models/CategoryBase.js +113 -0
  17. package/dist/esm/models/ExistingCategory.d.ts +7 -1
  18. package/dist/esm/models/ExistingCategory.js +2 -0
  19. package/dist/esm/models/HybridTransaction.d.ts +12 -0
  20. package/dist/esm/models/HybridTransaction.js +4 -0
  21. package/dist/esm/models/MoneyMovement.d.ts +19 -7
  22. package/dist/esm/models/MoneyMovement.js +4 -0
  23. package/dist/esm/models/MoneyMovementBase.d.ts +75 -0
  24. package/dist/esm/models/MoneyMovementBase.js +57 -0
  25. package/dist/esm/models/MonthDetail.d.ts +48 -0
  26. package/dist/esm/models/MonthDetail.js +16 -0
  27. package/dist/esm/models/MonthDetailBase.d.ts +76 -0
  28. package/dist/esm/models/MonthDetailBase.js +68 -0
  29. package/dist/esm/models/MonthSummary.d.ts +50 -2
  30. package/dist/esm/models/MonthSummary.js +16 -0
  31. package/dist/esm/models/MonthSummaryBase.d.ts +69 -0
  32. package/dist/esm/models/MonthSummaryBase.js +63 -0
  33. package/dist/esm/models/NewCategory.d.ts +7 -1
  34. package/dist/esm/models/NewCategory.js +2 -0
  35. package/dist/esm/models/PlanDetail.d.ts +21 -21
  36. package/dist/esm/models/PlanDetail.js +21 -21
  37. package/dist/esm/models/PostPayee.d.ts +27 -0
  38. package/dist/esm/models/PostPayee.js +39 -0
  39. package/dist/esm/models/PostPayeeWrapper.d.ts +28 -0
  40. package/dist/esm/models/PostPayeeWrapper.js +40 -0
  41. package/dist/esm/models/SaveAccount.d.ts +3 -3
  42. package/dist/esm/models/SaveAccount.js +3 -3
  43. package/dist/esm/models/SaveAccountType.d.ts +24 -0
  44. package/dist/esm/models/SaveAccountType.js +42 -0
  45. package/dist/esm/models/SaveCategory.d.ts +7 -1
  46. package/dist/esm/models/SaveCategory.js +2 -0
  47. package/dist/esm/models/SavePayee.d.ts +1 -1
  48. package/dist/esm/models/ScheduledSubTransaction.d.ts +18 -6
  49. package/dist/esm/models/ScheduledSubTransaction.js +4 -0
  50. package/dist/esm/models/ScheduledSubTransactionBase.d.ts +81 -0
  51. package/dist/esm/models/ScheduledSubTransactionBase.js +63 -0
  52. package/dist/esm/models/ScheduledTransactionDetail.d.ts +12 -0
  53. package/dist/esm/models/ScheduledTransactionDetail.js +4 -0
  54. package/dist/esm/models/ScheduledTransactionSummary.d.ts +17 -5
  55. package/dist/esm/models/ScheduledTransactionSummary.js +4 -0
  56. package/dist/esm/models/ScheduledTransactionSummaryBase.d.ts +119 -0
  57. package/dist/esm/models/ScheduledTransactionSummaryBase.js +94 -0
  58. package/dist/esm/models/SubTransaction.d.ts +19 -7
  59. package/dist/esm/models/SubTransaction.js +4 -0
  60. package/dist/esm/models/SubTransactionBase.d.ts +87 -0
  61. package/dist/esm/models/SubTransactionBase.js +65 -0
  62. package/dist/esm/models/TransactionDetail.d.ts +12 -0
  63. package/dist/esm/models/TransactionDetail.js +4 -0
  64. package/dist/esm/models/TransactionSummary.d.ts +22 -10
  65. package/dist/esm/models/TransactionSummary.js +4 -0
  66. package/dist/esm/models/TransactionSummaryBase.d.ts +151 -0
  67. package/dist/esm/models/TransactionSummaryBase.js +102 -0
  68. package/dist/esm/models/index.d.ts +12 -0
  69. package/dist/esm/models/index.js +12 -0
  70. package/dist/index.d.ts +5 -0
  71. package/dist/index.js +9 -0
  72. package/dist/models/Account.d.ts +40 -4
  73. package/dist/models/Account.js +12 -0
  74. package/dist/models/AccountBase.d.ts +136 -0
  75. package/dist/models/AccountBase.js +98 -0
  76. package/dist/models/Category.d.ts +100 -16
  77. package/dist/models/Category.js +28 -0
  78. package/dist/models/CategoryBase.d.ts +188 -0
  79. package/dist/models/CategoryBase.js +120 -0
  80. package/dist/models/ExistingCategory.d.ts +7 -1
  81. package/dist/models/ExistingCategory.js +2 -0
  82. package/dist/models/HybridTransaction.d.ts +12 -0
  83. package/dist/models/HybridTransaction.js +4 -0
  84. package/dist/models/MoneyMovement.d.ts +19 -7
  85. package/dist/models/MoneyMovement.js +4 -0
  86. package/dist/models/MoneyMovementBase.d.ts +75 -0
  87. package/dist/models/MoneyMovementBase.js +63 -0
  88. package/dist/models/MonthDetail.d.ts +48 -0
  89. package/dist/models/MonthDetail.js +16 -0
  90. package/dist/models/MonthDetailBase.d.ts +76 -0
  91. package/dist/models/MonthDetailBase.js +74 -0
  92. package/dist/models/MonthSummary.d.ts +50 -2
  93. package/dist/models/MonthSummary.js +16 -0
  94. package/dist/models/MonthSummaryBase.d.ts +69 -0
  95. package/dist/models/MonthSummaryBase.js +69 -0
  96. package/dist/models/NewCategory.d.ts +7 -1
  97. package/dist/models/NewCategory.js +2 -0
  98. package/dist/models/PlanDetail.d.ts +21 -21
  99. package/dist/models/PlanDetail.js +21 -21
  100. package/dist/models/PostPayee.d.ts +27 -0
  101. package/dist/models/PostPayee.js +45 -0
  102. package/dist/models/PostPayeeWrapper.d.ts +28 -0
  103. package/dist/models/PostPayeeWrapper.js +46 -0
  104. package/dist/models/SaveAccount.d.ts +3 -3
  105. package/dist/models/SaveAccount.js +3 -3
  106. package/dist/models/SaveAccountType.d.ts +24 -0
  107. package/dist/models/SaveAccountType.js +50 -0
  108. package/dist/models/SaveCategory.d.ts +7 -1
  109. package/dist/models/SaveCategory.js +2 -0
  110. package/dist/models/SavePayee.d.ts +1 -1
  111. package/dist/models/ScheduledSubTransaction.d.ts +18 -6
  112. package/dist/models/ScheduledSubTransaction.js +4 -0
  113. package/dist/models/ScheduledSubTransactionBase.d.ts +81 -0
  114. package/dist/models/ScheduledSubTransactionBase.js +69 -0
  115. package/dist/models/ScheduledTransactionDetail.d.ts +12 -0
  116. package/dist/models/ScheduledTransactionDetail.js +4 -0
  117. package/dist/models/ScheduledTransactionSummary.d.ts +17 -5
  118. package/dist/models/ScheduledTransactionSummary.js +4 -0
  119. package/dist/models/ScheduledTransactionSummaryBase.d.ts +119 -0
  120. package/dist/models/ScheduledTransactionSummaryBase.js +101 -0
  121. package/dist/models/SubTransaction.d.ts +19 -7
  122. package/dist/models/SubTransaction.js +4 -0
  123. package/dist/models/SubTransactionBase.d.ts +87 -0
  124. package/dist/models/SubTransactionBase.js +71 -0
  125. package/dist/models/TransactionDetail.d.ts +12 -0
  126. package/dist/models/TransactionDetail.js +4 -0
  127. package/dist/models/TransactionSummary.d.ts +22 -10
  128. package/dist/models/TransactionSummary.js +4 -0
  129. package/dist/models/TransactionSummaryBase.d.ts +151 -0
  130. package/dist/models/TransactionSummaryBase.js +109 -0
  131. package/dist/models/index.d.ts +12 -0
  132. package/dist/models/index.js +12 -0
  133. package/package.json +3 -3
@@ -0,0 +1,69 @@
1
+ /**
2
+ * YNAB API Endpoints
3
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
4
+ *
5
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
6
+ */
7
+ /**
8
+ *
9
+ * @export
10
+ * @interface MonthSummaryBase
11
+ */
12
+ export interface MonthSummaryBase {
13
+ /**
14
+ *
15
+ * @type {string}
16
+ * @memberof MonthSummaryBase
17
+ */
18
+ month: string;
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof MonthSummaryBase
23
+ */
24
+ note?: string | null;
25
+ /**
26
+ * The total amount of transactions categorized to 'Inflow: Ready to Assign' in the month
27
+ * @type {number}
28
+ * @memberof MonthSummaryBase
29
+ */
30
+ income: number;
31
+ /**
32
+ * The total amount assigned (budgeted) in the month
33
+ * @type {number}
34
+ * @memberof MonthSummaryBase
35
+ */
36
+ budgeted: number;
37
+ /**
38
+ * The total amount of transactions in the month, excluding those categorized to 'Inflow: Ready to Assign'
39
+ * @type {number}
40
+ * @memberof MonthSummaryBase
41
+ */
42
+ activity: number;
43
+ /**
44
+ * The available amount for 'Ready to Assign'
45
+ * @type {number}
46
+ * @memberof MonthSummaryBase
47
+ */
48
+ to_be_budgeted: number;
49
+ /**
50
+ * The Age of Money as of the month
51
+ * @type {number}
52
+ * @memberof MonthSummaryBase
53
+ */
54
+ age_of_money?: number | null;
55
+ /**
56
+ * Whether or not the month has been deleted. Deleted months will only be included in delta requests.
57
+ * @type {boolean}
58
+ * @memberof MonthSummaryBase
59
+ */
60
+ deleted: boolean;
61
+ }
62
+ /**
63
+ * Check if a given object implements the MonthSummaryBase interface.
64
+ */
65
+ export declare function instanceOfMonthSummaryBase(value: object): value is MonthSummaryBase;
66
+ export declare function MonthSummaryBaseFromJSON(json: any): MonthSummaryBase;
67
+ export declare function MonthSummaryBaseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MonthSummaryBase;
68
+ export declare function MonthSummaryBaseToJSON(json: any): MonthSummaryBase;
69
+ export declare function MonthSummaryBaseToJSONTyped(value?: MonthSummaryBase | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * YNAB API Endpoints
6
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
7
+ *
8
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.instanceOfMonthSummaryBase = instanceOfMonthSummaryBase;
12
+ exports.MonthSummaryBaseFromJSON = MonthSummaryBaseFromJSON;
13
+ exports.MonthSummaryBaseFromJSONTyped = MonthSummaryBaseFromJSONTyped;
14
+ exports.MonthSummaryBaseToJSON = MonthSummaryBaseToJSON;
15
+ exports.MonthSummaryBaseToJSONTyped = MonthSummaryBaseToJSONTyped;
16
+ /**
17
+ * Check if a given object implements the MonthSummaryBase interface.
18
+ */
19
+ function instanceOfMonthSummaryBase(value) {
20
+ if (!('month' in value) || value['month'] === undefined)
21
+ return false;
22
+ if (!('income' in value) || value['income'] === undefined)
23
+ return false;
24
+ if (!('budgeted' in value) || value['budgeted'] === undefined)
25
+ return false;
26
+ if (!('activity' in value) || value['activity'] === undefined)
27
+ return false;
28
+ if (!('to_be_budgeted' in value) || value['to_be_budgeted'] === undefined)
29
+ return false;
30
+ if (!('deleted' in value) || value['deleted'] === undefined)
31
+ return false;
32
+ return true;
33
+ }
34
+ function MonthSummaryBaseFromJSON(json) {
35
+ return MonthSummaryBaseFromJSONTyped(json, false);
36
+ }
37
+ function MonthSummaryBaseFromJSONTyped(json, ignoreDiscriminator) {
38
+ if (json == null) {
39
+ return json;
40
+ }
41
+ return {
42
+ 'month': json['month'],
43
+ 'note': json['note'] == null ? undefined : json['note'],
44
+ 'income': json['income'],
45
+ 'budgeted': json['budgeted'],
46
+ 'activity': json['activity'],
47
+ 'to_be_budgeted': json['to_be_budgeted'],
48
+ 'age_of_money': json['age_of_money'] == null ? undefined : json['age_of_money'],
49
+ 'deleted': json['deleted'],
50
+ };
51
+ }
52
+ function MonthSummaryBaseToJSON(json) {
53
+ return MonthSummaryBaseToJSONTyped(json, false);
54
+ }
55
+ function MonthSummaryBaseToJSONTyped(value, ignoreDiscriminator = false) {
56
+ if (value == null) {
57
+ return value;
58
+ }
59
+ return {
60
+ 'month': value['month'],
61
+ 'note': value['note'],
62
+ 'income': value['income'],
63
+ 'budgeted': value['budgeted'],
64
+ 'activity': value['activity'],
65
+ 'to_be_budgeted': value['to_be_budgeted'],
66
+ 'age_of_money': value['age_of_money'],
67
+ 'deleted': value['deleted'],
68
+ };
69
+ }
@@ -29,7 +29,7 @@ export interface NewCategory {
29
29
  */
30
30
  category_group_id?: string;
31
31
  /**
32
- * The goal target amount in milliunits format. If value is specified and goal has not already been configured for category, a monthly 'Needed for Spending' goal will be created for the category with this target amount.
32
+ * The goal target amount in milliunits format. If value is specified and goal has not already been configured for category, a monthly goal will be created for the category with this target amount. If goal_type is not specified, it will default to 'NEED' or 'MF' for Credit Card Payment categories.
33
33
  * @type {number}
34
34
  * @memberof NewCategory
35
35
  */
@@ -40,6 +40,12 @@ export interface NewCategory {
40
40
  * @memberof NewCategory
41
41
  */
42
42
  goal_target_date?: string;
43
+ /**
44
+ * Whether the goal requires the full target amount each period. Only supported for 'NEED' goals. When true, the goal is configured as 'Set aside another...'. When false, the goal is configured as 'Refill up to...'.
45
+ * @type {boolean}
46
+ * @memberof NewCategory
47
+ */
48
+ goal_needs_whole_amount?: boolean;
43
49
  }
44
50
  /**
45
51
  * Check if a given object implements the NewCategory interface.
@@ -32,6 +32,7 @@ function NewCategoryFromJSONTyped(json, ignoreDiscriminator) {
32
32
  'category_group_id': json['category_group_id'] == null ? undefined : json['category_group_id'],
33
33
  'goal_target': json['goal_target'] == null ? undefined : json['goal_target'],
34
34
  'goal_target_date': json['goal_target_date'] == null ? undefined : json['goal_target_date'],
35
+ 'goal_needs_whole_amount': json['goal_needs_whole_amount'] == null ? undefined : json['goal_needs_whole_amount'],
35
36
  };
36
37
  }
37
38
  function NewCategoryToJSON(json) {
@@ -47,5 +48,6 @@ function NewCategoryToJSONTyped(value, ignoreDiscriminator = false) {
47
48
  'category_group_id': value['category_group_id'],
48
49
  'goal_target': value['goal_target'],
49
50
  'goal_target_date': value['goal_target_date'],
51
+ 'goal_needs_whole_amount': value['goal_needs_whole_amount'],
50
52
  };
51
53
  }
@@ -4,17 +4,17 @@
4
4
  *
5
5
  * Generated by: OpenAPI Generator (https://openapi-generator.tech)
6
6
  */
7
+ import type { MonthDetailBase } from './MonthDetailBase';
7
8
  import type { PayeeLocation } from './PayeeLocation';
8
- import type { Account } from './Account';
9
- import type { ScheduledTransactionSummary } from './ScheduledTransactionSummary';
10
- import type { Category } from './Category';
9
+ import type { CategoryBase } from './CategoryBase';
11
10
  import type { CurrencyFormat } from './CurrencyFormat';
12
11
  import type { DateFormat } from './DateFormat';
13
- import type { SubTransaction } from './SubTransaction';
14
- import type { MonthDetail } from './MonthDetail';
12
+ import type { SubTransactionBase } from './SubTransactionBase';
13
+ import type { ScheduledSubTransactionBase } from './ScheduledSubTransactionBase';
14
+ import type { ScheduledTransactionSummaryBase } from './ScheduledTransactionSummaryBase';
15
+ import type { TransactionSummaryBase } from './TransactionSummaryBase';
15
16
  import type { Payee } from './Payee';
16
- import type { ScheduledSubTransaction } from './ScheduledSubTransaction';
17
- import type { TransactionSummary } from './TransactionSummary';
17
+ import type { AccountBase } from './AccountBase';
18
18
  import type { CategoryGroup } from './CategoryGroup';
19
19
  /**
20
20
  *
@@ -66,10 +66,10 @@ export interface PlanDetail {
66
66
  currency_format?: CurrencyFormat;
67
67
  /**
68
68
  *
69
- * @type {Array<Account>}
69
+ * @type {Array<AccountBase>}
70
70
  * @memberof PlanDetail
71
71
  */
72
- accounts?: Array<Account>;
72
+ accounts?: Array<AccountBase>;
73
73
  /**
74
74
  *
75
75
  * @type {Array<Payee>}
@@ -90,40 +90,40 @@ export interface PlanDetail {
90
90
  category_groups?: Array<CategoryGroup>;
91
91
  /**
92
92
  *
93
- * @type {Array<Category>}
93
+ * @type {Array<CategoryBase>}
94
94
  * @memberof PlanDetail
95
95
  */
96
- categories?: Array<Category>;
96
+ categories?: Array<CategoryBase>;
97
97
  /**
98
98
  *
99
- * @type {Array<MonthDetail>}
99
+ * @type {Array<MonthDetailBase>}
100
100
  * @memberof PlanDetail
101
101
  */
102
- months?: Array<MonthDetail>;
102
+ months?: Array<MonthDetailBase>;
103
103
  /**
104
104
  *
105
- * @type {Array<TransactionSummary>}
105
+ * @type {Array<TransactionSummaryBase>}
106
106
  * @memberof PlanDetail
107
107
  */
108
- transactions?: Array<TransactionSummary>;
108
+ transactions?: Array<TransactionSummaryBase>;
109
109
  /**
110
110
  *
111
- * @type {Array<SubTransaction>}
111
+ * @type {Array<SubTransactionBase>}
112
112
  * @memberof PlanDetail
113
113
  */
114
- subtransactions?: Array<SubTransaction>;
114
+ subtransactions?: Array<SubTransactionBase>;
115
115
  /**
116
116
  *
117
- * @type {Array<ScheduledTransactionSummary>}
117
+ * @type {Array<ScheduledTransactionSummaryBase>}
118
118
  * @memberof PlanDetail
119
119
  */
120
- scheduled_transactions?: Array<ScheduledTransactionSummary>;
120
+ scheduled_transactions?: Array<ScheduledTransactionSummaryBase>;
121
121
  /**
122
122
  *
123
- * @type {Array<ScheduledSubTransaction>}
123
+ * @type {Array<ScheduledSubTransactionBase>}
124
124
  * @memberof PlanDetail
125
125
  */
126
- scheduled_subtransactions?: Array<ScheduledSubTransaction>;
126
+ scheduled_subtransactions?: Array<ScheduledSubTransactionBase>;
127
127
  }
128
128
  /**
129
129
  * Check if a given object implements the PlanDetail interface.
@@ -13,17 +13,17 @@ exports.PlanDetailFromJSON = PlanDetailFromJSON;
13
13
  exports.PlanDetailFromJSONTyped = PlanDetailFromJSONTyped;
14
14
  exports.PlanDetailToJSON = PlanDetailToJSON;
15
15
  exports.PlanDetailToJSONTyped = PlanDetailToJSONTyped;
16
+ const MonthDetailBase_1 = require("./MonthDetailBase");
16
17
  const PayeeLocation_1 = require("./PayeeLocation");
17
- const Account_1 = require("./Account");
18
- const ScheduledTransactionSummary_1 = require("./ScheduledTransactionSummary");
19
- const Category_1 = require("./Category");
18
+ const CategoryBase_1 = require("./CategoryBase");
20
19
  const CurrencyFormat_1 = require("./CurrencyFormat");
21
20
  const DateFormat_1 = require("./DateFormat");
22
- const SubTransaction_1 = require("./SubTransaction");
23
- const MonthDetail_1 = require("./MonthDetail");
21
+ const SubTransactionBase_1 = require("./SubTransactionBase");
22
+ const ScheduledSubTransactionBase_1 = require("./ScheduledSubTransactionBase");
23
+ const ScheduledTransactionSummaryBase_1 = require("./ScheduledTransactionSummaryBase");
24
+ const TransactionSummaryBase_1 = require("./TransactionSummaryBase");
24
25
  const Payee_1 = require("./Payee");
25
- const ScheduledSubTransaction_1 = require("./ScheduledSubTransaction");
26
- const TransactionSummary_1 = require("./TransactionSummary");
26
+ const AccountBase_1 = require("./AccountBase");
27
27
  const CategoryGroup_1 = require("./CategoryGroup");
28
28
  /**
29
29
  * Check if a given object implements the PlanDetail interface.
@@ -50,16 +50,16 @@ function PlanDetailFromJSONTyped(json, ignoreDiscriminator) {
50
50
  'last_month': json['last_month'] == null ? undefined : json['last_month'],
51
51
  'date_format': json['date_format'] == null ? undefined : (0, DateFormat_1.DateFormatFromJSON)(json['date_format']),
52
52
  'currency_format': json['currency_format'] == null ? undefined : (0, CurrencyFormat_1.CurrencyFormatFromJSON)(json['currency_format']),
53
- 'accounts': json['accounts'] == null ? undefined : (json['accounts'].map(Account_1.AccountFromJSON)),
53
+ 'accounts': json['accounts'] == null ? undefined : (json['accounts'].map(AccountBase_1.AccountBaseFromJSON)),
54
54
  'payees': json['payees'] == null ? undefined : (json['payees'].map(Payee_1.PayeeFromJSON)),
55
55
  'payee_locations': json['payee_locations'] == null ? undefined : (json['payee_locations'].map(PayeeLocation_1.PayeeLocationFromJSON)),
56
56
  'category_groups': json['category_groups'] == null ? undefined : (json['category_groups'].map(CategoryGroup_1.CategoryGroupFromJSON)),
57
- 'categories': json['categories'] == null ? undefined : (json['categories'].map(Category_1.CategoryFromJSON)),
58
- 'months': json['months'] == null ? undefined : (json['months'].map(MonthDetail_1.MonthDetailFromJSON)),
59
- 'transactions': json['transactions'] == null ? undefined : (json['transactions'].map(TransactionSummary_1.TransactionSummaryFromJSON)),
60
- 'subtransactions': json['subtransactions'] == null ? undefined : (json['subtransactions'].map(SubTransaction_1.SubTransactionFromJSON)),
61
- 'scheduled_transactions': json['scheduled_transactions'] == null ? undefined : (json['scheduled_transactions'].map(ScheduledTransactionSummary_1.ScheduledTransactionSummaryFromJSON)),
62
- 'scheduled_subtransactions': json['scheduled_subtransactions'] == null ? undefined : (json['scheduled_subtransactions'].map(ScheduledSubTransaction_1.ScheduledSubTransactionFromJSON)),
57
+ 'categories': json['categories'] == null ? undefined : (json['categories'].map(CategoryBase_1.CategoryBaseFromJSON)),
58
+ 'months': json['months'] == null ? undefined : (json['months'].map(MonthDetailBase_1.MonthDetailBaseFromJSON)),
59
+ 'transactions': json['transactions'] == null ? undefined : (json['transactions'].map(TransactionSummaryBase_1.TransactionSummaryBaseFromJSON)),
60
+ 'subtransactions': json['subtransactions'] == null ? undefined : (json['subtransactions'].map(SubTransactionBase_1.SubTransactionBaseFromJSON)),
61
+ 'scheduled_transactions': json['scheduled_transactions'] == null ? undefined : (json['scheduled_transactions'].map(ScheduledTransactionSummaryBase_1.ScheduledTransactionSummaryBaseFromJSON)),
62
+ 'scheduled_subtransactions': json['scheduled_subtransactions'] == null ? undefined : (json['scheduled_subtransactions'].map(ScheduledSubTransactionBase_1.ScheduledSubTransactionBaseFromJSON)),
63
63
  };
64
64
  }
65
65
  function PlanDetailToJSON(json) {
@@ -77,15 +77,15 @@ function PlanDetailToJSONTyped(value, ignoreDiscriminator = false) {
77
77
  'last_month': value['last_month'],
78
78
  'date_format': (0, DateFormat_1.DateFormatToJSON)(value['date_format']),
79
79
  'currency_format': (0, CurrencyFormat_1.CurrencyFormatToJSON)(value['currency_format']),
80
- 'accounts': value['accounts'] == null ? undefined : (value['accounts'].map(Account_1.AccountToJSON)),
80
+ 'accounts': value['accounts'] == null ? undefined : (value['accounts'].map(AccountBase_1.AccountBaseToJSON)),
81
81
  'payees': value['payees'] == null ? undefined : (value['payees'].map(Payee_1.PayeeToJSON)),
82
82
  'payee_locations': value['payee_locations'] == null ? undefined : (value['payee_locations'].map(PayeeLocation_1.PayeeLocationToJSON)),
83
83
  'category_groups': value['category_groups'] == null ? undefined : (value['category_groups'].map(CategoryGroup_1.CategoryGroupToJSON)),
84
- 'categories': value['categories'] == null ? undefined : (value['categories'].map(Category_1.CategoryToJSON)),
85
- 'months': value['months'] == null ? undefined : (value['months'].map(MonthDetail_1.MonthDetailToJSON)),
86
- 'transactions': value['transactions'] == null ? undefined : (value['transactions'].map(TransactionSummary_1.TransactionSummaryToJSON)),
87
- 'subtransactions': value['subtransactions'] == null ? undefined : (value['subtransactions'].map(SubTransaction_1.SubTransactionToJSON)),
88
- 'scheduled_transactions': value['scheduled_transactions'] == null ? undefined : (value['scheduled_transactions'].map(ScheduledTransactionSummary_1.ScheduledTransactionSummaryToJSON)),
89
- 'scheduled_subtransactions': value['scheduled_subtransactions'] == null ? undefined : (value['scheduled_subtransactions'].map(ScheduledSubTransaction_1.ScheduledSubTransactionToJSON)),
84
+ 'categories': value['categories'] == null ? undefined : (value['categories'].map(CategoryBase_1.CategoryBaseToJSON)),
85
+ 'months': value['months'] == null ? undefined : (value['months'].map(MonthDetailBase_1.MonthDetailBaseToJSON)),
86
+ 'transactions': value['transactions'] == null ? undefined : (value['transactions'].map(TransactionSummaryBase_1.TransactionSummaryBaseToJSON)),
87
+ 'subtransactions': value['subtransactions'] == null ? undefined : (value['subtransactions'].map(SubTransactionBase_1.SubTransactionBaseToJSON)),
88
+ 'scheduled_transactions': value['scheduled_transactions'] == null ? undefined : (value['scheduled_transactions'].map(ScheduledTransactionSummaryBase_1.ScheduledTransactionSummaryBaseToJSON)),
89
+ 'scheduled_subtransactions': value['scheduled_subtransactions'] == null ? undefined : (value['scheduled_subtransactions'].map(ScheduledSubTransactionBase_1.ScheduledSubTransactionBaseToJSON)),
90
90
  };
91
91
  }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * YNAB API Endpoints
3
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
4
+ *
5
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
6
+ */
7
+ /**
8
+ *
9
+ * @export
10
+ * @interface PostPayee
11
+ */
12
+ export interface PostPayee {
13
+ /**
14
+ * The name of the payee.
15
+ * @type {string}
16
+ * @memberof PostPayee
17
+ */
18
+ name: string;
19
+ }
20
+ /**
21
+ * Check if a given object implements the PostPayee interface.
22
+ */
23
+ export declare function instanceOfPostPayee(value: object): value is PostPayee;
24
+ export declare function PostPayeeFromJSON(json: any): PostPayee;
25
+ export declare function PostPayeeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostPayee;
26
+ export declare function PostPayeeToJSON(json: any): PostPayee;
27
+ export declare function PostPayeeToJSONTyped(value?: PostPayee | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * YNAB API Endpoints
6
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
7
+ *
8
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.instanceOfPostPayee = instanceOfPostPayee;
12
+ exports.PostPayeeFromJSON = PostPayeeFromJSON;
13
+ exports.PostPayeeFromJSONTyped = PostPayeeFromJSONTyped;
14
+ exports.PostPayeeToJSON = PostPayeeToJSON;
15
+ exports.PostPayeeToJSONTyped = PostPayeeToJSONTyped;
16
+ /**
17
+ * Check if a given object implements the PostPayee interface.
18
+ */
19
+ function instanceOfPostPayee(value) {
20
+ if (!('name' in value) || value['name'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ function PostPayeeFromJSON(json) {
25
+ return PostPayeeFromJSONTyped(json, false);
26
+ }
27
+ function PostPayeeFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'name': json['name'],
33
+ };
34
+ }
35
+ function PostPayeeToJSON(json) {
36
+ return PostPayeeToJSONTyped(json, false);
37
+ }
38
+ function PostPayeeToJSONTyped(value, ignoreDiscriminator = false) {
39
+ if (value == null) {
40
+ return value;
41
+ }
42
+ return {
43
+ 'name': value['name'],
44
+ };
45
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * YNAB API Endpoints
3
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
4
+ *
5
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
6
+ */
7
+ import type { PostPayee } from './PostPayee';
8
+ /**
9
+ *
10
+ * @export
11
+ * @interface PostPayeeWrapper
12
+ */
13
+ export interface PostPayeeWrapper {
14
+ /**
15
+ *
16
+ * @type {PostPayee}
17
+ * @memberof PostPayeeWrapper
18
+ */
19
+ payee: PostPayee;
20
+ }
21
+ /**
22
+ * Check if a given object implements the PostPayeeWrapper interface.
23
+ */
24
+ export declare function instanceOfPostPayeeWrapper(value: object): value is PostPayeeWrapper;
25
+ export declare function PostPayeeWrapperFromJSON(json: any): PostPayeeWrapper;
26
+ export declare function PostPayeeWrapperFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostPayeeWrapper;
27
+ export declare function PostPayeeWrapperToJSON(json: any): PostPayeeWrapper;
28
+ export declare function PostPayeeWrapperToJSONTyped(value?: PostPayeeWrapper | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * YNAB API Endpoints
6
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
7
+ *
8
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.instanceOfPostPayeeWrapper = instanceOfPostPayeeWrapper;
12
+ exports.PostPayeeWrapperFromJSON = PostPayeeWrapperFromJSON;
13
+ exports.PostPayeeWrapperFromJSONTyped = PostPayeeWrapperFromJSONTyped;
14
+ exports.PostPayeeWrapperToJSON = PostPayeeWrapperToJSON;
15
+ exports.PostPayeeWrapperToJSONTyped = PostPayeeWrapperToJSONTyped;
16
+ const PostPayee_1 = require("./PostPayee");
17
+ /**
18
+ * Check if a given object implements the PostPayeeWrapper interface.
19
+ */
20
+ function instanceOfPostPayeeWrapper(value) {
21
+ if (!('payee' in value) || value['payee'] === undefined)
22
+ return false;
23
+ return true;
24
+ }
25
+ function PostPayeeWrapperFromJSON(json) {
26
+ return PostPayeeWrapperFromJSONTyped(json, false);
27
+ }
28
+ function PostPayeeWrapperFromJSONTyped(json, ignoreDiscriminator) {
29
+ if (json == null) {
30
+ return json;
31
+ }
32
+ return {
33
+ 'payee': (0, PostPayee_1.PostPayeeFromJSON)(json['payee']),
34
+ };
35
+ }
36
+ function PostPayeeWrapperToJSON(json) {
37
+ return PostPayeeWrapperToJSONTyped(json, false);
38
+ }
39
+ function PostPayeeWrapperToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'payee': (0, PostPayee_1.PostPayeeToJSON)(value['payee']),
45
+ };
46
+ }
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Generated by: OpenAPI Generator (https://openapi-generator.tech)
6
6
  */
7
- import type { AccountType } from './AccountType';
7
+ import type { SaveAccountType } from './SaveAccountType';
8
8
  /**
9
9
  *
10
10
  * @export
@@ -19,10 +19,10 @@ export interface SaveAccount {
19
19
  name: string;
20
20
  /**
21
21
  *
22
- * @type {AccountType}
22
+ * @type {SaveAccountType}
23
23
  * @memberof SaveAccount
24
24
  */
25
- type: AccountType;
25
+ type: SaveAccountType;
26
26
  /**
27
27
  * The current balance of the account in milliunits format
28
28
  * @type {number}
@@ -13,7 +13,7 @@ exports.SaveAccountFromJSON = SaveAccountFromJSON;
13
13
  exports.SaveAccountFromJSONTyped = SaveAccountFromJSONTyped;
14
14
  exports.SaveAccountToJSON = SaveAccountToJSON;
15
15
  exports.SaveAccountToJSONTyped = SaveAccountToJSONTyped;
16
- const AccountType_1 = require("./AccountType");
16
+ const SaveAccountType_1 = require("./SaveAccountType");
17
17
  /**
18
18
  * Check if a given object implements the SaveAccount interface.
19
19
  */
@@ -35,7 +35,7 @@ function SaveAccountFromJSONTyped(json, ignoreDiscriminator) {
35
35
  }
36
36
  return {
37
37
  'name': json['name'],
38
- 'type': (0, AccountType_1.AccountTypeFromJSON)(json['type']),
38
+ 'type': (0, SaveAccountType_1.SaveAccountTypeFromJSON)(json['type']),
39
39
  'balance': json['balance'],
40
40
  };
41
41
  }
@@ -48,7 +48,7 @@ function SaveAccountToJSONTyped(value, ignoreDiscriminator = false) {
48
48
  }
49
49
  return {
50
50
  'name': value['name'],
51
- 'type': (0, AccountType_1.AccountTypeToJSON)(value['type']),
51
+ 'type': (0, SaveAccountType_1.SaveAccountTypeToJSON)(value['type']),
52
52
  'balance': value['balance'],
53
53
  };
54
54
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * YNAB API Endpoints
3
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
4
+ *
5
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
6
+ */
7
+ /**
8
+ * The type of account to create or update
9
+ * @export
10
+ */
11
+ export declare const SaveAccountType: {
12
+ readonly Checking: "checking";
13
+ readonly Savings: "savings";
14
+ readonly Cash: "cash";
15
+ readonly CreditCard: "creditCard";
16
+ readonly OtherAsset: "otherAsset";
17
+ readonly OtherLiability: "otherLiability";
18
+ };
19
+ export type SaveAccountType = typeof SaveAccountType[keyof typeof SaveAccountType];
20
+ export declare function instanceOfSaveAccountType(value: any): boolean;
21
+ export declare function SaveAccountTypeFromJSON(json: any): SaveAccountType;
22
+ export declare function SaveAccountTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SaveAccountType;
23
+ export declare function SaveAccountTypeToJSON(value?: SaveAccountType | null): any;
24
+ export declare function SaveAccountTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): SaveAccountType;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * YNAB API Endpoints
6
+ * Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
7
+ *
8
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.SaveAccountType = void 0;
12
+ exports.instanceOfSaveAccountType = instanceOfSaveAccountType;
13
+ exports.SaveAccountTypeFromJSON = SaveAccountTypeFromJSON;
14
+ exports.SaveAccountTypeFromJSONTyped = SaveAccountTypeFromJSONTyped;
15
+ exports.SaveAccountTypeToJSON = SaveAccountTypeToJSON;
16
+ exports.SaveAccountTypeToJSONTyped = SaveAccountTypeToJSONTyped;
17
+ /**
18
+ * The type of account to create or update
19
+ * @export
20
+ */
21
+ exports.SaveAccountType = {
22
+ Checking: 'checking',
23
+ Savings: 'savings',
24
+ Cash: 'cash',
25
+ CreditCard: 'creditCard',
26
+ OtherAsset: 'otherAsset',
27
+ OtherLiability: 'otherLiability'
28
+ };
29
+ function instanceOfSaveAccountType(value) {
30
+ for (const key in exports.SaveAccountType) {
31
+ if (Object.prototype.hasOwnProperty.call(exports.SaveAccountType, key)) {
32
+ if (exports.SaveAccountType[key] === value) {
33
+ return true;
34
+ }
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ function SaveAccountTypeFromJSON(json) {
40
+ return SaveAccountTypeFromJSONTyped(json, false);
41
+ }
42
+ function SaveAccountTypeFromJSONTyped(json, ignoreDiscriminator) {
43
+ return json;
44
+ }
45
+ function SaveAccountTypeToJSON(value) {
46
+ return value;
47
+ }
48
+ function SaveAccountTypeToJSONTyped(value, ignoreDiscriminator) {
49
+ return value;
50
+ }
@@ -29,7 +29,7 @@ export interface SaveCategory {
29
29
  */
30
30
  category_group_id?: string;
31
31
  /**
32
- * The goal target amount in milliunits format. If value is specified and goal has not already been configured for category, a monthly 'Needed for Spending' goal will be created for the category with this target amount.
32
+ * The goal target amount in milliunits format. If value is specified and goal has not already been configured for category, a monthly goal will be created for the category with this target amount. If goal_type is not specified, it will default to 'NEED' or 'MF' for Credit Card Payment categories.
33
33
  * @type {number}
34
34
  * @memberof SaveCategory
35
35
  */
@@ -40,6 +40,12 @@ export interface SaveCategory {
40
40
  * @memberof SaveCategory
41
41
  */
42
42
  goal_target_date?: string | null;
43
+ /**
44
+ * Whether the goal requires the full target amount each period. Only supported for 'NEED' goals. When true, the goal is configured as 'Set aside another...'. When false, the goal is configured as 'Refill up to...'.
45
+ * @type {boolean}
46
+ * @memberof SaveCategory
47
+ */
48
+ goal_needs_whole_amount?: boolean | null;
43
49
  }
44
50
  /**
45
51
  * Check if a given object implements the SaveCategory interface.
@@ -32,6 +32,7 @@ function SaveCategoryFromJSONTyped(json, ignoreDiscriminator) {
32
32
  'category_group_id': json['category_group_id'] == null ? undefined : json['category_group_id'],
33
33
  'goal_target': json['goal_target'] == null ? undefined : json['goal_target'],
34
34
  'goal_target_date': json['goal_target_date'] == null ? undefined : json['goal_target_date'],
35
+ 'goal_needs_whole_amount': json['goal_needs_whole_amount'] == null ? undefined : json['goal_needs_whole_amount'],
35
36
  };
36
37
  }
37
38
  function SaveCategoryToJSON(json) {
@@ -47,5 +48,6 @@ function SaveCategoryToJSONTyped(value, ignoreDiscriminator = false) {
47
48
  'category_group_id': value['category_group_id'],
48
49
  'goal_target': value['goal_target'],
49
50
  'goal_target_date': value['goal_target_date'],
51
+ 'goal_needs_whole_amount': value['goal_needs_whole_amount'],
50
52
  };
51
53
  }