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
@@ -59,6 +59,54 @@ export interface MonthDetail {
59
59
  * @memberof MonthDetail
60
60
  */
61
61
  deleted: boolean;
62
+ /**
63
+ * The total income formatted in the plan's currency format
64
+ * @type {string}
65
+ * @memberof MonthDetail
66
+ */
67
+ income_formatted?: string;
68
+ /**
69
+ * The total income as a decimal currency amount
70
+ * @type {number}
71
+ * @memberof MonthDetail
72
+ */
73
+ income_currency?: number;
74
+ /**
75
+ * The total amount assigned formatted in the plan's currency format
76
+ * @type {string}
77
+ * @memberof MonthDetail
78
+ */
79
+ budgeted_formatted?: string;
80
+ /**
81
+ * The total amount assigned as a decimal currency amount
82
+ * @type {number}
83
+ * @memberof MonthDetail
84
+ */
85
+ budgeted_currency?: number;
86
+ /**
87
+ * The total activity amount formatted in the plan's currency format
88
+ * @type {string}
89
+ * @memberof MonthDetail
90
+ */
91
+ activity_formatted?: string;
92
+ /**
93
+ * The total activity amount as a decimal currency amount
94
+ * @type {number}
95
+ * @memberof MonthDetail
96
+ */
97
+ activity_currency?: number;
98
+ /**
99
+ * The available amount for 'Ready to Assign' formatted in the plan's currency format
100
+ * @type {string}
101
+ * @memberof MonthDetail
102
+ */
103
+ to_be_budgeted_formatted?: string;
104
+ /**
105
+ * The available amount for 'Ready to Assign' as a decimal currency amount
106
+ * @type {number}
107
+ * @memberof MonthDetail
108
+ */
109
+ to_be_budgeted_currency?: number;
62
110
  /**
63
111
  * The plan month categories. Amounts (budgeted, activity, balance, etc.) are specific to the {month} parameter specified.
64
112
  * @type {Array<Category>}
@@ -43,6 +43,14 @@ export function MonthDetailFromJSONTyped(json, ignoreDiscriminator) {
43
43
  'to_be_budgeted': json['to_be_budgeted'],
44
44
  'age_of_money': json['age_of_money'] == null ? undefined : json['age_of_money'],
45
45
  'deleted': json['deleted'],
46
+ 'income_formatted': json['income_formatted'] == null ? undefined : json['income_formatted'],
47
+ 'income_currency': json['income_currency'] == null ? undefined : json['income_currency'],
48
+ 'budgeted_formatted': json['budgeted_formatted'] == null ? undefined : json['budgeted_formatted'],
49
+ 'budgeted_currency': json['budgeted_currency'] == null ? undefined : json['budgeted_currency'],
50
+ 'activity_formatted': json['activity_formatted'] == null ? undefined : json['activity_formatted'],
51
+ 'activity_currency': json['activity_currency'] == null ? undefined : json['activity_currency'],
52
+ 'to_be_budgeted_formatted': json['to_be_budgeted_formatted'] == null ? undefined : json['to_be_budgeted_formatted'],
53
+ 'to_be_budgeted_currency': json['to_be_budgeted_currency'] == null ? undefined : json['to_be_budgeted_currency'],
46
54
  'categories': (json['categories'].map(CategoryFromJSON)),
47
55
  };
48
56
  }
@@ -63,6 +71,14 @@ export function MonthDetailToJSONTyped(value, ignoreDiscriminator) {
63
71
  'to_be_budgeted': value['to_be_budgeted'],
64
72
  'age_of_money': value['age_of_money'],
65
73
  'deleted': value['deleted'],
74
+ 'income_formatted': value['income_formatted'],
75
+ 'income_currency': value['income_currency'],
76
+ 'budgeted_formatted': value['budgeted_formatted'],
77
+ 'budgeted_currency': value['budgeted_currency'],
78
+ 'activity_formatted': value['activity_formatted'],
79
+ 'activity_currency': value['activity_currency'],
80
+ 'to_be_budgeted_formatted': value['to_be_budgeted_formatted'],
81
+ 'to_be_budgeted_currency': value['to_be_budgeted_currency'],
66
82
  'categories': (value['categories'].map(CategoryToJSON)),
67
83
  };
68
84
  }
@@ -0,0 +1,76 @@
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 { CategoryBase } from './CategoryBase';
8
+ /**
9
+ *
10
+ * @export
11
+ * @interface MonthDetailBase
12
+ */
13
+ export interface MonthDetailBase {
14
+ /**
15
+ *
16
+ * @type {string}
17
+ * @memberof MonthDetailBase
18
+ */
19
+ month: string;
20
+ /**
21
+ *
22
+ * @type {string}
23
+ * @memberof MonthDetailBase
24
+ */
25
+ note?: string;
26
+ /**
27
+ * The total amount of transactions categorized to 'Inflow: Ready to Assign' in the month
28
+ * @type {number}
29
+ * @memberof MonthDetailBase
30
+ */
31
+ income: number;
32
+ /**
33
+ * The total amount assigned (budgeted) in the month
34
+ * @type {number}
35
+ * @memberof MonthDetailBase
36
+ */
37
+ budgeted: number;
38
+ /**
39
+ * The total amount of transactions in the month, excluding those categorized to 'Inflow: Ready to Assign'
40
+ * @type {number}
41
+ * @memberof MonthDetailBase
42
+ */
43
+ activity: number;
44
+ /**
45
+ * The available amount for 'Ready to Assign'
46
+ * @type {number}
47
+ * @memberof MonthDetailBase
48
+ */
49
+ to_be_budgeted: number;
50
+ /**
51
+ * The Age of Money as of the month
52
+ * @type {number}
53
+ * @memberof MonthDetailBase
54
+ */
55
+ age_of_money?: number;
56
+ /**
57
+ * Whether or not the month has been deleted. Deleted months will only be included in delta requests.
58
+ * @type {boolean}
59
+ * @memberof MonthDetailBase
60
+ */
61
+ deleted: boolean;
62
+ /**
63
+ * The plan month categories. Amounts (budgeted, activity, balance, etc.) are specific to the {month} parameter specified.
64
+ * @type {Array<CategoryBase>}
65
+ * @memberof MonthDetailBase
66
+ */
67
+ categories: Array<CategoryBase>;
68
+ }
69
+ /**
70
+ * Check if a given object implements the MonthDetailBase interface.
71
+ */
72
+ export declare function instanceOfMonthDetailBase(value: object): value is MonthDetailBase;
73
+ export declare function MonthDetailBaseFromJSON(json: any): MonthDetailBase;
74
+ export declare function MonthDetailBaseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MonthDetailBase;
75
+ export declare function MonthDetailBaseToJSON(json: any): MonthDetailBase;
76
+ export declare function MonthDetailBaseToJSONTyped(value?: MonthDetailBase | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,68 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * YNAB API Endpoints
5
+ * 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
6
+ *
7
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
8
+ */
9
+ import { CategoryBaseFromJSON, CategoryBaseToJSON, } from './CategoryBase';
10
+ /**
11
+ * Check if a given object implements the MonthDetailBase interface.
12
+ */
13
+ export function instanceOfMonthDetailBase(value) {
14
+ if (!('month' in value) || value['month'] === undefined)
15
+ return false;
16
+ if (!('income' in value) || value['income'] === undefined)
17
+ return false;
18
+ if (!('budgeted' in value) || value['budgeted'] === undefined)
19
+ return false;
20
+ if (!('activity' in value) || value['activity'] === undefined)
21
+ return false;
22
+ if (!('to_be_budgeted' in value) || value['to_be_budgeted'] === undefined)
23
+ return false;
24
+ if (!('deleted' in value) || value['deleted'] === undefined)
25
+ return false;
26
+ if (!('categories' in value) || value['categories'] === undefined)
27
+ return false;
28
+ return true;
29
+ }
30
+ export function MonthDetailBaseFromJSON(json) {
31
+ return MonthDetailBaseFromJSONTyped(json, false);
32
+ }
33
+ export function MonthDetailBaseFromJSONTyped(json, ignoreDiscriminator) {
34
+ if (json == null) {
35
+ return json;
36
+ }
37
+ return {
38
+ 'month': json['month'],
39
+ 'note': json['note'] == null ? undefined : json['note'],
40
+ 'income': json['income'],
41
+ 'budgeted': json['budgeted'],
42
+ 'activity': json['activity'],
43
+ 'to_be_budgeted': json['to_be_budgeted'],
44
+ 'age_of_money': json['age_of_money'] == null ? undefined : json['age_of_money'],
45
+ 'deleted': json['deleted'],
46
+ 'categories': (json['categories'].map(CategoryBaseFromJSON)),
47
+ };
48
+ }
49
+ export function MonthDetailBaseToJSON(json) {
50
+ return MonthDetailBaseToJSONTyped(json, false);
51
+ }
52
+ export function MonthDetailBaseToJSONTyped(value, ignoreDiscriminator) {
53
+ if (ignoreDiscriminator === void 0) { ignoreDiscriminator = false; }
54
+ if (value == null) {
55
+ return value;
56
+ }
57
+ return {
58
+ 'month': value['month'],
59
+ 'note': value['note'],
60
+ 'income': value['income'],
61
+ 'budgeted': value['budgeted'],
62
+ 'activity': value['activity'],
63
+ 'to_be_budgeted': value['to_be_budgeted'],
64
+ 'age_of_money': value['age_of_money'],
65
+ 'deleted': value['deleted'],
66
+ 'categories': (value['categories'].map(CategoryBaseToJSON)),
67
+ };
68
+ }
@@ -21,7 +21,7 @@ export interface MonthSummary {
21
21
  * @type {string}
22
22
  * @memberof MonthSummary
23
23
  */
24
- note?: string | null;
24
+ note?: string;
25
25
  /**
26
26
  * The total amount of transactions categorized to 'Inflow: Ready to Assign' in the month
27
27
  * @type {number}
@@ -51,13 +51,61 @@ export interface MonthSummary {
51
51
  * @type {number}
52
52
  * @memberof MonthSummary
53
53
  */
54
- age_of_money?: number | null;
54
+ age_of_money?: number;
55
55
  /**
56
56
  * Whether or not the month has been deleted. Deleted months will only be included in delta requests.
57
57
  * @type {boolean}
58
58
  * @memberof MonthSummary
59
59
  */
60
60
  deleted: boolean;
61
+ /**
62
+ * The total income formatted in the plan's currency format
63
+ * @type {string}
64
+ * @memberof MonthSummary
65
+ */
66
+ income_formatted?: string;
67
+ /**
68
+ * The total income as a decimal currency amount
69
+ * @type {number}
70
+ * @memberof MonthSummary
71
+ */
72
+ income_currency?: number;
73
+ /**
74
+ * The total amount assigned formatted in the plan's currency format
75
+ * @type {string}
76
+ * @memberof MonthSummary
77
+ */
78
+ budgeted_formatted?: string;
79
+ /**
80
+ * The total amount assigned as a decimal currency amount
81
+ * @type {number}
82
+ * @memberof MonthSummary
83
+ */
84
+ budgeted_currency?: number;
85
+ /**
86
+ * The total activity amount formatted in the plan's currency format
87
+ * @type {string}
88
+ * @memberof MonthSummary
89
+ */
90
+ activity_formatted?: string;
91
+ /**
92
+ * The total activity amount as a decimal currency amount
93
+ * @type {number}
94
+ * @memberof MonthSummary
95
+ */
96
+ activity_currency?: number;
97
+ /**
98
+ * The available amount for 'Ready to Assign' formatted in the plan's currency format
99
+ * @type {string}
100
+ * @memberof MonthSummary
101
+ */
102
+ to_be_budgeted_formatted?: string;
103
+ /**
104
+ * The available amount for 'Ready to Assign' as a decimal currency amount
105
+ * @type {number}
106
+ * @memberof MonthSummary
107
+ */
108
+ to_be_budgeted_currency?: number;
61
109
  }
62
110
  /**
63
111
  * Check if a given object implements the MonthSummary interface.
@@ -40,6 +40,14 @@ export function MonthSummaryFromJSONTyped(json, ignoreDiscriminator) {
40
40
  'to_be_budgeted': json['to_be_budgeted'],
41
41
  'age_of_money': json['age_of_money'] == null ? undefined : json['age_of_money'],
42
42
  'deleted': json['deleted'],
43
+ 'income_formatted': json['income_formatted'] == null ? undefined : json['income_formatted'],
44
+ 'income_currency': json['income_currency'] == null ? undefined : json['income_currency'],
45
+ 'budgeted_formatted': json['budgeted_formatted'] == null ? undefined : json['budgeted_formatted'],
46
+ 'budgeted_currency': json['budgeted_currency'] == null ? undefined : json['budgeted_currency'],
47
+ 'activity_formatted': json['activity_formatted'] == null ? undefined : json['activity_formatted'],
48
+ 'activity_currency': json['activity_currency'] == null ? undefined : json['activity_currency'],
49
+ 'to_be_budgeted_formatted': json['to_be_budgeted_formatted'] == null ? undefined : json['to_be_budgeted_formatted'],
50
+ 'to_be_budgeted_currency': json['to_be_budgeted_currency'] == null ? undefined : json['to_be_budgeted_currency'],
43
51
  };
44
52
  }
45
53
  export function MonthSummaryToJSON(json) {
@@ -59,5 +67,13 @@ export function MonthSummaryToJSONTyped(value, ignoreDiscriminator) {
59
67
  'to_be_budgeted': value['to_be_budgeted'],
60
68
  'age_of_money': value['age_of_money'],
61
69
  'deleted': value['deleted'],
70
+ 'income_formatted': value['income_formatted'],
71
+ 'income_currency': value['income_currency'],
72
+ 'budgeted_formatted': value['budgeted_formatted'],
73
+ 'budgeted_currency': value['budgeted_currency'],
74
+ 'activity_formatted': value['activity_formatted'],
75
+ 'activity_currency': value['activity_currency'],
76
+ 'to_be_budgeted_formatted': value['to_be_budgeted_formatted'],
77
+ 'to_be_budgeted_currency': value['to_be_budgeted_currency'],
62
78
  };
63
79
  }
@@ -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,63 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * YNAB API Endpoints
5
+ * 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
6
+ *
7
+ * Generated by: OpenAPI Generator (https://openapi-generator.tech)
8
+ */
9
+ /**
10
+ * Check if a given object implements the MonthSummaryBase interface.
11
+ */
12
+ export function instanceOfMonthSummaryBase(value) {
13
+ if (!('month' in value) || value['month'] === undefined)
14
+ return false;
15
+ if (!('income' in value) || value['income'] === undefined)
16
+ return false;
17
+ if (!('budgeted' in value) || value['budgeted'] === undefined)
18
+ return false;
19
+ if (!('activity' in value) || value['activity'] === undefined)
20
+ return false;
21
+ if (!('to_be_budgeted' in value) || value['to_be_budgeted'] === undefined)
22
+ return false;
23
+ if (!('deleted' in value) || value['deleted'] === undefined)
24
+ return false;
25
+ return true;
26
+ }
27
+ export function MonthSummaryBaseFromJSON(json) {
28
+ return MonthSummaryBaseFromJSONTyped(json, false);
29
+ }
30
+ export function MonthSummaryBaseFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 'month': json['month'],
36
+ 'note': json['note'] == null ? undefined : json['note'],
37
+ 'income': json['income'],
38
+ 'budgeted': json['budgeted'],
39
+ 'activity': json['activity'],
40
+ 'to_be_budgeted': json['to_be_budgeted'],
41
+ 'age_of_money': json['age_of_money'] == null ? undefined : json['age_of_money'],
42
+ 'deleted': json['deleted'],
43
+ };
44
+ }
45
+ export function MonthSummaryBaseToJSON(json) {
46
+ return MonthSummaryBaseToJSONTyped(json, false);
47
+ }
48
+ export function MonthSummaryBaseToJSONTyped(value, ignoreDiscriminator) {
49
+ if (ignoreDiscriminator === void 0) { ignoreDiscriminator = false; }
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'month': value['month'],
55
+ 'note': value['note'],
56
+ 'income': value['income'],
57
+ 'budgeted': value['budgeted'],
58
+ 'activity': value['activity'],
59
+ 'to_be_budgeted': value['to_be_budgeted'],
60
+ 'age_of_money': value['age_of_money'],
61
+ 'deleted': value['deleted'],
62
+ };
63
+ }
@@ -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.
@@ -25,6 +25,7 @@ export function NewCategoryFromJSONTyped(json, ignoreDiscriminator) {
25
25
  'category_group_id': json['category_group_id'] == null ? undefined : json['category_group_id'],
26
26
  'goal_target': json['goal_target'] == null ? undefined : json['goal_target'],
27
27
  'goal_target_date': json['goal_target_date'] == null ? undefined : json['goal_target_date'],
28
+ 'goal_needs_whole_amount': json['goal_needs_whole_amount'] == null ? undefined : json['goal_needs_whole_amount'],
28
29
  };
29
30
  }
30
31
  export function NewCategoryToJSON(json) {
@@ -41,5 +42,6 @@ export function NewCategoryToJSONTyped(value, ignoreDiscriminator) {
41
42
  'category_group_id': value['category_group_id'],
42
43
  'goal_target': value['goal_target'],
43
44
  'goal_target_date': value['goal_target_date'],
45
+ 'goal_needs_whole_amount': value['goal_needs_whole_amount'],
44
46
  };
45
47
  }
@@ -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.