@lunch-money/v2-api-spec 2.8.2 → 2.8.4

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.
@@ -2,17 +2,17 @@ openapi: 3.0.2
2
2
  info:
3
3
  title: Lunch Money API - v2
4
4
  description: |-
5
- ## Overview
6
- Welcome to the Lunch Money v2 API.
5
+ Welcome to the Lunch Money v2 API.
7
6
 
8
7
  A working version of this API is now available through these docs, or directly at:
9
8
 
10
- `https://alpha.lunchmoney.dev/v2`
9
+ `https://api.lunchmoney.dev/v2`
11
10
 
12
- **This service has only had internal testing so users are strongly encouraged to create a test budget with example data as the first step to interacting with the v2 API.**
13
- See the [Getting Started Guide](https://alpha.lunchmoney.dev/v2/getting-started) for more information.
11
+ <span class="red-text"><strong>This is in alpha launch of a major API update. It is still subject to change during this alpha review
12
+ period and bugs may still exist. Users are strongly encouraged to use the mock service or to create a test budget with example data as the first step to interacting with the v2 API.</strong></span>
13
+ See the [Getting Started Guide](https://alpha.lunchmoney.dev/v2/getting-started) for more information on using a test budget.<br<br>
14
14
 
15
- If you are new to the v2 API, you may wish to review the [v2 API Overview of Changes](https://alpha.lunchmoney.dev/v2/migration-guide).
15
+ If you are new to the v2 API, you may wish to review the [v2 API Overview of Changes](https://alpha.lunchmoney.dev/v2/changelog).
16
16
 
17
17
  ### Static Mock Server
18
18
 
@@ -42,12 +42,12 @@ info:
42
42
  license:
43
43
  name: Apache 2.0
44
44
  url: http://www.apache.org/licenses/LICENSE-2.0.html
45
- version: 2.8.2
45
+ version: 2.8.4
46
46
 
47
47
  servers:
48
48
  - url: https://api.lunchmoney.dev/v2
49
49
  description: v2 Lunch Money API Server - modifies real data!
50
- - url: https://alpha.lunchmoney.dev/v2
50
+ - url: https://mock.lunchmoney.dev/v2
51
51
  description: Static Mock v2 Lunch Money API Server
52
52
 
53
53
  tags:
@@ -466,6 +466,7 @@ components:
466
466
  characters.
467
467
  minLength: 1
468
468
  maxLength: 100
469
+ x-updatable: true
469
470
  description:
470
471
  type: string
471
472
  nullable: true
@@ -473,21 +474,26 @@ components:
473
474
  characters.
474
475
  minLength: 0 # Allow empty strings
475
476
  maxLength: 200
477
+ x-updatable: true
476
478
  is_income:
477
479
  type: boolean
478
480
  nullable: false
479
481
  description: If set, will indicate if this category will be treated as income. (See <a href="https://support.lunchmoney.app/setup/categories/category-properties">Category Properties</a> for more details)
482
+ x-updatable: true
480
483
  exclude_from_budget:
481
484
  type: boolean
482
485
  nullable: false
483
486
  description: If set, will indicate if this category will be excluded from budgets. (See <a href="https://support.lunchmoney.app/setup/categories/category-properties">Category Properties</a> for more details)
487
+ x-updatable: true
484
488
  exclude_from_totals:
485
489
  type: boolean
486
490
  nullable: false
487
491
  description: If set, will indicate if this category will be excluded from totals. (See <a href="https://support.lunchmoney.app/setup/categories/category-properties">Category Properties</a> for more details)
492
+ x-updatable: true
488
493
  archived:
489
494
  type: boolean
490
495
  description: If set, will indicate if this category is archived.
496
+ x-updatable: true
491
497
  group_id:
492
498
  type: integer
493
499
  format: int64
@@ -495,6 +501,7 @@ components:
495
501
  description: If set to the ID of an existing category group, and this category
496
502
  is not itself a category group, this category will be a child of the
497
503
  specified group.
504
+ x-updatable: true
498
505
  is_group:
499
506
  type: boolean
500
507
  nullable: true
@@ -517,6 +524,7 @@ components:
517
524
  any names are the same as the name of an existing category.<br> It
518
525
  is permissible to provide both full category objects and IDs as well
519
526
  as strings for names in the same request.
527
+ x-updatable: true
520
528
  items:
521
529
  oneOf:
522
530
  - type: integer
@@ -533,25 +541,30 @@ components:
533
541
  a category group the order is relative to the other categories
534
542
  within the group.<br>While this property can be set via the API it is generally set by the user in the Lunch Money GUI.
535
543
  API.
544
+ x-updatable: true
536
545
  collapsed:
537
546
  type: boolean
538
547
  nullable: true
539
548
  description: If `true`, the category is collapsed in the Lunch Money GUI.<br>While this property can be set via the API it is generally set by the user in the Lunch Money GUI.
549
+ x-updatable: true
540
550
  id:
541
551
  type: integer
542
552
  format: int64
543
553
  description: System defined unique identifier for the category. Ignored if set.
554
+ x-updatable: false
544
555
  archived_at:
545
556
  type: string
546
557
  nullable: true
547
558
  description: System set date and time of when the category was last archived (in
548
559
  the ISO 8601 extended format). Ignored if set.
560
+ x-updatable: false
549
561
  updated_at:
550
562
  type: string
551
563
  format: date-time
552
564
  nullable: false
553
565
  description: System set date and time of when the category was last updated (in
554
566
  the ISO 8601 extended format). Ignored if set.
567
+ x-updatable: false
555
568
  created_at:
556
569
  type: string
557
570
  format: date-time
@@ -559,6 +572,7 @@ components:
559
572
  description: System set date and time of when the category was created (in the
560
573
  ISO 8601 extended format). Ignored if set. (in the ISO 8601 extended
561
574
  format). Ignored if set.
575
+ x-updatable: false
562
576
 
563
577
  # The response object for a DELETE /category request with dependencies
564
578
  deleteCategoryResponseWithDependencies:
@@ -745,26 +759,26 @@ components:
745
759
  format: date-time
746
760
  description: The date and time of when the transaction was last updated (in the
747
761
  ISO 8601 extended format).
748
- is_parent:
762
+ is_split_parent:
749
763
  type: boolean
750
764
  description: If `true`, this transaction has been split into two or more other
751
765
  transactions. By default, parent transactions are not returned in
752
766
  call to `GET /transactions` but they can be queried directly by
753
767
  their ID.
754
- parent_id:
768
+ split_parent_id:
755
769
  type: integer
756
770
  format: int64
757
771
  nullable: true
758
772
  description: A transaction ID if this is a split transaction. Denotes the
759
773
  transaction ID of the original, or parent, transaction. Is null if
760
774
  this is not a split transaction
761
- is_group:
775
+ is_group_parent:
762
776
  type: boolean
763
777
  description: "`true` if this transaction represents a group of transactions. If so,
764
778
  amount and currency represent the totalled amount of transactions
765
- bearing this transaction's id as their group_id. Amount is
779
+ bearing this transaction's id as their group_parent_id. Amount is
766
780
  calculated based on the user's primary currency."
767
- group_id:
781
+ group_parent_id:
768
782
  type: integer
769
783
  format: int64
770
784
  nullable: true
@@ -773,7 +787,7 @@ components:
773
787
  transactions that were grouped are not returned in a call to `GET
774
788
  /transactions` but they can be queried directly by calling the `GET
775
789
  /transactions/group/{id}`, where the id passed is associated with a
776
- transaction where the `is_group` attribute is true
790
+ transaction where the `is_group_parent` attribute is true
777
791
  children:
778
792
  type: array
779
793
  nullable: false
@@ -784,8 +798,8 @@ components:
784
798
  unless the `include_children` query parameter is set to `true`.<br>
785
799
  For parents of split transactions, it contains a list of the associated
786
800
  transactions that it was split into. For transaction groups, it contains
787
- the transactions that were grouped together. Examine the `is_parent` and
788
- `is_group` properties to determine which of these it is.
801
+ the transactions that were grouped together. Examine the `is_split_parent` and
802
+ `is_group_parent` properties to determine which of these it is.
789
803
  plaid_metadata:
790
804
  type: object
791
805
  nullable: true
@@ -860,9 +874,9 @@ components:
860
874
  - is_pending
861
875
  - created_at
862
876
  - updated_at
863
- - parent_id
864
- - is_group
865
- - group_id
877
+ - split_parent_id
878
+ - is_group_parent
879
+ - group_parent_id
866
880
  - manual_account_id
867
881
  - plaid_account_id
868
882
  - tag_ids
@@ -971,26 +985,26 @@ components:
971
985
  format: date-time
972
986
  description: The date and time of when the transaction was last updated (in the
973
987
  ISO 8601 extended format).
974
- is_parent:
988
+ is_split_parent:
975
989
  type: boolean
976
990
  description: If true this transaction has been split into two or more other
977
991
  transactions. By default parent transactions are not returned in
978
992
  call to `GET /transactions` but they can be queried directly by
979
993
  their ID.
980
- parent_id:
994
+ split_parent_id:
981
995
  type: integer
982
996
  format: int64
983
997
  nullable: true
984
998
  description: A transaction ID if this is a split transaction. Denotes the
985
999
  transaction ID of the original, or parent, transaction. Is null if
986
1000
  this is not a split transaction
987
- is_group:
1001
+ is_group_parent:
988
1002
  type: boolean
989
1003
  description: True if this transaction represents a group of transactions. If so,
990
1004
  amount and currency represent the totalled amount of transactions
991
- bearing this transaction's id as their group_id. Amount is
1005
+ bearing this transaction's id as their group_parent_id. Amount is
992
1006
  calculated based on the user's primary currency.
993
- group_id:
1007
+ group_parent_id:
994
1008
  type: integer
995
1009
  format: int64
996
1010
  nullable: true
@@ -999,7 +1013,7 @@ components:
999
1013
  transactions that were grouped are not returned in a call to `GET
1000
1014
  /transactions` but they can be queried directly by calling the `GET
1001
1015
  /transactions/group/{id}`, where the id passed is associated with a
1002
- transaction where the `is_group` attribute is true
1016
+ transaction where the `is_group_parent` attribute is true
1003
1017
  manual_account_id:
1004
1018
  type: integer
1005
1019
  format: int32
@@ -1113,9 +1127,9 @@ components:
1113
1127
  - is_pending
1114
1128
  - created_at
1115
1129
  - updated_at
1116
- - parent_id
1117
- - is_group
1118
- - group_id
1130
+ - split_parent_id
1131
+ - is_group_parent
1132
+ - group_parent_id
1119
1133
  - manual_account_id
1120
1134
  - plaid_account_id
1121
1135
  - tag_ids
@@ -1144,7 +1158,7 @@ components:
1144
1158
  Positive values indicate a debit transaction, negative values indicate a credit transaction.
1145
1159
  currency:
1146
1160
  description: Three-letter lowercase currency code of the transaction in ISO 4217
1147
- format. Must match one of the [supported currencies](). If not set
1161
+ format. Must match one of the [supported currencies](https://alpha.lunchmoney.dev/v2/currencies). If not set
1148
1162
  defaults to the user account's primary currency.
1149
1163
  allOf:
1150
1164
  - $ref: "#/components/schemas/currencyEnum"
@@ -1247,10 +1261,12 @@ components:
1247
1261
  type: integer
1248
1262
  format: int64
1249
1263
  description: System defined unique identifier of this transaction. Ignored if set.
1264
+ x-updatable: false
1250
1265
  date:
1251
1266
  type: string
1252
1267
  format: date
1253
1268
  description: Date of transaction in ISO 8601 format
1269
+ x-updatable: true
1254
1270
  amount:
1255
1271
  oneOf:
1256
1272
  - type: number
@@ -1263,11 +1279,13 @@ components:
1263
1279
  <br>
1264
1280
  May not be updated on transactions that belong to a synced account
1265
1281
  with the "Allow Modifications to Transactions" property disabled.
1282
+ x-updatable: true
1266
1283
  currency:
1267
1284
  description: Three-letter lowercase currency code of the transaction in ISO 4217
1268
1285
  format.<br> May not be updated on transactions that belong to a
1269
1286
  synced account with the "Allow Modifications to Transactions"
1270
1287
  property disabled.
1288
+ x-updatable: true
1271
1289
  allOf:
1272
1290
  - $ref: "#/components/schemas/currencyEnum"
1273
1291
  recurring_id:
@@ -1276,18 +1294,21 @@ components:
1276
1294
  nullable: true
1277
1295
  description: The unique identifier of the associated recurring item that this
1278
1296
  transaction matches.
1297
+ x-updatable: true
1279
1298
  payee:
1280
1299
  type: string
1281
1300
  description: |
1282
1301
  The new payee for the transaction.
1283
1302
  minLength: 0
1284
1303
  maxLength: 140
1304
+ x-updatable: true
1285
1305
  category_id:
1286
1306
  type: integer
1287
1307
  format: int32
1288
1308
  nullable: true
1289
1309
  description: Unique identifier of the category for this transaction. Set this to
1290
1310
  null to clear the transaction's category.
1311
+ x-updatable: true
1291
1312
  notes:
1292
1313
  type: string
1293
1314
  nullable: true
@@ -1296,6 +1317,7 @@ components:
1296
1317
  the existing notes.
1297
1318
  minLength: 0
1298
1319
  maxLength: 350
1320
+ x-updatable: true
1299
1321
  manual_account_id:
1300
1322
  type: integer
1301
1323
  format: int32
@@ -1306,6 +1328,7 @@ components:
1306
1328
  null value. Moving an existing transaction to to another account
1307
1329
  will not work if the transaction belongs to a synced account who's
1308
1330
  "Allow Modifications to Transactions" property is not set.
1331
+ x-updatable: true
1309
1332
  plaid_account_id:
1310
1333
  type: integer
1311
1334
  format: int32
@@ -1316,6 +1339,7 @@ components:
1316
1339
  account will not work if the account's "Allow Modifications to
1317
1340
  Transactions" property is not set. Similarly, this cannot be set to an
1318
1341
  id associated with this type of locked Plaid account.
1342
+ x-updatable: true
1319
1343
  tag_ids:
1320
1344
  type: array
1321
1345
  nullable: false
@@ -1324,6 +1348,7 @@ components:
1324
1348
  `additional_tag_ids` to add tags to the existing transaction's tags.
1325
1349
  Set this to an empty array to remove all tags from a transaction. If
1326
1350
  set `additional_tag_ids` may not be set.
1351
+ x-updatable: true
1327
1352
  items:
1328
1353
  type: integer
1329
1354
  format: int32
@@ -1334,6 +1359,7 @@ components:
1334
1359
  set, the tags listed in this property be added to any existing
1335
1360
  transaction tags. Use `tag_ids` to overwrite or clear transaction
1336
1361
  tags. If set `tag_ids` may not be set.
1362
+ x-updatable: true
1337
1363
  items:
1338
1364
  type: integer
1339
1365
  format: int32
@@ -1346,10 +1372,12 @@ components:
1346
1372
  `manual_account_id`/`external_id` combination.
1347
1373
  minLength: 0
1348
1374
  maxLength: 75
1375
+ x-updatable: true
1349
1376
  custom_metadata:
1350
1377
  type: object
1351
1378
  nullable: true
1352
1379
  description: User defined JSON data that can be set or cleared via the API.
1380
+ x-updatable: true
1353
1381
  status:
1354
1382
  type: string
1355
1383
  description: >
@@ -1364,33 +1392,40 @@ components:
1364
1392
  enum:
1365
1393
  - reviewed
1366
1394
  - unreviewed
1395
+ x-updatable: true
1367
1396
  to_base:
1368
1397
  type: number
1369
1398
  format: double
1370
1399
  description: System defined amount of this transaction in the user's primary
1371
- currency. Ignored if set.
1400
+ currency. Ignored if set. Use `amount` to update the amount in the transaction.
1401
+ x-updatable: false
1372
1402
  is_pending:
1373
1403
  type: boolean
1374
1404
  description: System defined flag set for pending transactions. Ignored if set.
1405
+ x-updatable: false
1375
1406
  plaid_metadata:
1376
1407
  type: object
1377
1408
  nullable: true
1378
1409
  description: System set metadata from a Plaid account sync. Ignored if set.
1410
+ x-updatable: false
1379
1411
  created_at:
1380
1412
  type: string
1381
1413
  format: date-time
1382
1414
  description: System defined date and time of when the transaction was created.
1383
1415
  Ignored if set.
1416
+ x-updatable: false
1384
1417
  updated_at:
1385
1418
  type: string
1386
1419
  format: date-time
1387
1420
  description: System defined date and time of when the transaction was last
1388
1421
  updated. Ignored if set.
1389
- is_parent:
1422
+ x-updatable: false
1423
+ is_split_parent:
1390
1424
  type: boolean
1391
1425
  description: System defined boolean indicating if this transaction was split.
1392
1426
  To split or unsplit a transaction use the
1393
- `/transactions/split` endpoint. Ignored if set.
1427
+ `/transactions/split` endpoint. Ignored if set.
1428
+ x-updatable: false
1394
1429
  children:
1395
1430
  type: array
1396
1431
  nullable: false
@@ -1398,28 +1433,33 @@ components:
1398
1433
  $ref: "#/components/schemas/childTransactionObject"
1399
1434
  description: An array of child transactions that exists when a transaction has
1400
1435
  been split or if the transaction is a group. Split
1436
+ x-updatable: false
1401
1437
  and Grouped transactions may not be modified using this API. Ignored if set.
1402
- parent_id:
1438
+ split_parent_id:
1403
1439
  type: integer
1404
1440
  format: int64
1405
1441
  nullable: true
1406
1442
  description: A transaction ID if this is a split transaction. Split
1407
1443
  transactions may not be modified this API. Use the
1408
- `transactions/split` endpoint instead. Ignored if set.
1409
- is_group:
1444
+ `transactions/split` endpoint instead. Ignored if set.
1445
+ x-updatable: false
1446
+ is_group_parent:
1410
1447
  type: boolean
1411
1448
  description: System defined boolean indicating if this transaction represents a
1412
- group of transactions. Grouped transactions may not be modified with this API. Use the `transactions/group` endpoint instead. Ignored if set.
1413
- group_id:
1449
+ group of transactions. Grouped transactions may not be modified with this API. Use the `transactions/group` endpoint instead. Ignored if set.
1450
+ x-updatable: false
1451
+ group_parent_id:
1414
1452
  type: integer
1415
1453
  format: int64
1416
1454
  nullable: true
1417
- description: A transaction group ID if this transaction is part of a group. Grouped transactions may not be modified with this API. Use the `transactions/group` endpoint instead. Ignored if set.
1455
+ description: A transaction group ID if this transaction is part of a group. Grouped transactions may not be modified with this API. Use the `transactions/group` endpoint instead. Ignored if set.
1456
+ x-updatable: false
1418
1457
  source:
1419
1458
  type: string
1420
1459
  nullable: true
1421
1460
  description: |
1422
1461
  System defined original source of the transaction. Ignored if set.
1462
+ x-updatable: false
1423
1463
  enum:
1424
1464
  - api
1425
1465
  - csv
@@ -1756,13 +1796,16 @@ components:
1756
1796
  type: integer
1757
1797
  format: int32
1758
1798
  description: System defined unique identifier of this account. Ignored if set.
1799
+ x-updatable: false
1759
1800
  name:
1760
1801
  type: string
1761
1802
  description: If set, the new name of the manual account.
1762
1803
  minLength: 1
1763
1804
  maxLength: 45
1805
+ x-updatable: true
1764
1806
  type:
1765
1807
  description: If set, the new type of the manual account.
1808
+ x-updatable: true
1766
1809
  allOf:
1767
1810
  - $ref: "#/components/schemas/accountTypeEnum"
1768
1811
  subtype:
@@ -1771,11 +1814,13 @@ components:
1771
1814
  retirement - checking - savings - prepaid credit card
1772
1815
  minLength: 1
1773
1816
  maxLength: 100
1817
+ x-updatable: true
1774
1818
  display_name:
1775
1819
  type: string
1776
1820
  nullable: true
1777
1821
  description: If set, an optional display name for the manual account.<br>
1778
1822
  This must be unique for the user. If not set, it will be derived from the `institution_name` (if any) concatenated with the `name`.
1823
+ x-updatable: true
1779
1824
  balance:
1780
1825
  oneOf:
1781
1826
  - type: number
@@ -1786,6 +1831,7 @@ components:
1786
1831
  description: Numeric value of the current balance, up to four decimal places, of
1787
1832
  the manual account as a number or string. Do not include any special
1788
1833
  characters aside from a decimal point.
1834
+ x-updatable: true
1789
1835
  balance_as_of:
1790
1836
  type: string
1791
1837
  oneOf:
@@ -1795,14 +1841,17 @@ components:
1795
1841
  May be set as a date, ie: YYYY-MM-DD, or date-time string in ISO 8601 extended format.
1796
1842
  This property is ignored if `balance` is not also set. If `balance` is set and this property is
1797
1843
  not set the current time is used."
1844
+ x-updatable: true
1798
1845
  closed_on:
1799
1846
  type: string
1800
1847
  format: date
1801
1848
  nullable: true
1802
1849
  description: If set, the date this manual account was closed in YYYY-MM-DD format.
1850
+ x-updatable: true
1803
1851
  currency:
1804
1852
  description: If set, the new three-letter lowercase currency code of the manual account
1805
1853
  balance.
1854
+ x-updatable: true
1806
1855
  allOf:
1807
1856
  - $ref: "#/components/schemas/currencyEnum"
1808
1857
  institution_name:
@@ -1811,12 +1860,14 @@ components:
1811
1860
  description: If set, the name of institution holding the account.
1812
1861
  minLength: 1
1813
1862
  maxLength: 50
1863
+ x-updatable: true
1814
1864
  external_id:
1815
1865
  type: string
1816
1866
  nullable: true
1817
1867
  minLength: 0
1818
1868
  maxLength: 75
1819
1869
  description: An optional user-defined ID for the manual account.
1870
+ x-updatable: true
1820
1871
  custom_metadata:
1821
1872
  type: object
1822
1873
  nullable: true
@@ -1824,19 +1875,27 @@ components:
1824
1875
  this account. This must be a valid JSON object and, when
1825
1876
  stringified, must not exceed 4096 characters.
1826
1877
  additionalProperties: true
1878
+ x-updatable: true
1827
1879
  exclude_from_transactions:
1828
1880
  type: boolean
1829
1881
  description: If set, transactions may not be assigned to this manual account.
1882
+ x-updatable: true
1883
+ to_base:
1884
+ type: number
1885
+ description: System defined balance converted to the user's primary currency. Ignored if set. Use `balance` to update the balance in the account.
1886
+ x-updatable: false
1830
1887
  created_at:
1831
1888
  type: string
1832
1889
  format: date-time
1833
1890
  description: System defined date/time the account was created in ISO 8601
1834
1891
  extended format. Ignored if set.
1892
+ x-updatable: false
1835
1893
  updated_at:
1836
1894
  type: string
1837
1895
  format: date-time
1838
1896
  description: System defined date/time the account was created in ISO 8601
1839
1897
  extended format. Ignored if set.
1898
+ x-updatable: false
1840
1899
 
1841
1900
  # The object containing information about a Plaid account
1842
1901
  plaidAccountObject:
@@ -2077,42 +2136,51 @@ components:
2077
2136
  characters.
2078
2137
  minLength: 1
2079
2138
  maxLength: 100
2139
+ x-updatable: true
2080
2140
  description:
2081
2141
  type: string
2082
2142
  nullable: true
2083
2143
  description: If set, the new description of the category. Must not exceed 200
2084
2144
  characters.
2085
2145
  maxLength: 200
2146
+ x-updatable: true
2086
2147
  text_color:
2087
2148
  type: string
2088
2149
  nullable: true
2089
2150
  description: The text color of the tag.
2151
+ x-updatable: true
2090
2152
  background_color:
2091
2153
  type: string
2092
2154
  nullable: true
2093
2155
  description: The background color of the tag.
2156
+ x-updatable: true
2094
2157
  archived:
2095
2158
  type: boolean
2096
2159
  description: If set, will indicate if this category is archived.
2160
+ x-updatable: true
2097
2161
  id:
2098
2162
  type: integer
2099
2163
  format: int32
2100
2164
  description: System-defined unique identifier for the category. Ignored if set.
2165
+ x-updatable: false
2101
2166
  updated_at:
2102
2167
  type: string
2103
2168
  format: date-time
2104
2169
  nullable: false
2105
2170
  description: System-set time the tag was last updated. Ignored if set
2171
+ x-updatable: false
2106
2172
  created_at:
2107
2173
  type: string
2108
2174
  format: date-time
2109
2175
  nullable: false
2110
2176
  description: System-set time the tag was created. Ignored if set.
2177
+ x-updatable: false
2111
2178
  archived_at:
2112
2179
  type: string
2113
2180
  format: date-time
2114
2181
  nullable: true
2115
2182
  description: System-set time the tag was archived. Ignored if set.
2183
+ x-updatable: false
2116
2184
 
2117
2185
  # The object returned when a DELETE /tag/:id request
2118
2186
  # has an id for a tag that has dependencies
@@ -2808,6 +2876,8 @@ components:
2808
2876
  type: array
2809
2877
  items:
2810
2878
  $ref: "#/components/schemas/summaryCategoryOccurrenceObject"
2879
+ rollover_pool:
2880
+ $ref: "#/components/schemas/summaryRolloverPoolObject"
2811
2881
  required:
2812
2882
  - category_id
2813
2883
  - totals
@@ -2880,8 +2950,8 @@ components:
2880
2950
  x-internal: true # Don't display in schemas section of docs
2881
2951
  description: "The date and adjusted balance of the rollover pool at the time of the adjustment."
2882
2952
  properties:
2883
- current:
2884
- description: "true if this is the current rollover pool balance."
2953
+ in_range:
2954
+ description: "true if this rollover pool adjustment is for a budget period that falls within the given date range."
2885
2955
  type: boolean
2886
2956
  date:
2887
2957
  type: string
@@ -2897,7 +2967,7 @@ components:
2897
2967
  description: "Amount of the rollover pool converted to the user's default currency."
2898
2968
  type: number
2899
2969
  required:
2900
- - current
2970
+ - in_range
2901
2971
  - date
2902
2972
  - amount
2903
2973
  - currency
@@ -2972,8 +3042,8 @@ components:
2972
3042
  description: "Per period budget activity for the each budget period within the given date range.<br>
2973
3043
  This is only returned if the query parameter `include_occurrences` is set to `true`."
2974
3044
  properties:
2975
- current:
2976
- description: true if this occurrence is the current budget period.
3045
+ in_range:
3046
+ description: true if this occurrence is within the given date range.
2977
3047
  type: boolean
2978
3048
  start_date:
2979
3049
  description: The start date of the budget period.
@@ -3009,7 +3079,7 @@ components:
3009
3079
  type: string
3010
3080
  nullable: true
3011
3081
  required:
3012
- - current
3082
+ - in_range
3013
3083
  - start_date
3014
3084
  - end_date
3015
3085
  - other_activity
@@ -3207,6 +3277,13 @@ paths:
3207
3277
  schema:
3208
3278
  type: boolean
3209
3279
  default: false
3280
+ - in: query
3281
+ name: include_past_budget_dates
3282
+ description: "Enable to include the three budget occurrences prior to the start date in the `occurrences` array for each category in an aligned response. This property is ignored if `include_occurrences` is not also set to `true`."
3283
+ required: false
3284
+ schema:
3285
+ type: boolean
3286
+ default: false
3210
3287
  - in: query
3211
3288
  name: include_totals
3212
3289
  description: "Enable to include a top-level `totals` section that summarizes the inflow and outflow across all transactions for the specified date range."
@@ -3214,6 +3291,13 @@ paths:
3214
3291
  schema:
3215
3292
  type: boolean
3216
3293
  default: false
3294
+ - in: query
3295
+ name: include_rollover_pool
3296
+ description: "Enable to include a `rollover_pool` section that summarizes the current rollover pool balance and all previous adjustments."
3297
+ required: false
3298
+ schema:
3299
+ type: boolean
3300
+ default: false
3217
3301
  responses:
3218
3302
  "200":
3219
3303
  description: Budget summary for the requested range.
@@ -3239,7 +3323,7 @@ paths:
3239
3323
  recurring_remaining: 0
3240
3324
  recurring_expected: 0
3241
3325
  occurrences:
3242
- - current: false
3326
+ - in_range: true
3243
3327
  start_date: "2025-07-01"
3244
3328
  end_date: "2025-07-31"
3245
3329
  other_activity: 156.64
@@ -3248,7 +3332,7 @@ paths:
3248
3332
  budgeted_amount: "500.0000"
3249
3333
  budgeted_currency: "usd"
3250
3334
  notes: "Monthly budget allocation"
3251
- - current: false
3335
+ - in_range: true
3252
3336
  start_date: "2025-08-01"
3253
3337
  end_date: "2025-08-31"
3254
3338
  other_activity: 0
@@ -3266,7 +3350,7 @@ paths:
3266
3350
  recurring_remaining: 0
3267
3351
  recurring_expected: 0
3268
3352
  occurrences:
3269
- - current: false
3353
+ - in_range: true
3270
3354
  start_date: "2025-07-01"
3271
3355
  end_date: "2025-07-31"
3272
3356
  other_activity: 424.8
@@ -3275,7 +3359,7 @@ paths:
3275
3359
  budgeted_amount: "200.0000"
3276
3360
  budgeted_currency: "usd"
3277
3361
  notes: "Based on previous month's activity"
3278
- - current: false
3362
+ - in_range: true
3279
3363
  start_date: "2025-08-01"
3280
3364
  end_date: "2025-08-31"
3281
3365
  other_activity: 0
@@ -3293,7 +3377,7 @@ paths:
3293
3377
  recurring_remaining: 0
3294
3378
  recurring_expected: 0
3295
3379
  occurrences:
3296
- - current: false
3380
+ - in_range: true
3297
3381
  start_date: "2025-07-01"
3298
3382
  end_date: "2025-07-31"
3299
3383
  other_activity: 25.69
@@ -3302,7 +3386,7 @@ paths:
3302
3386
  budgeted_amount: "200.0000"
3303
3387
  budgeted_currency: "usd"
3304
3388
  notes: "Holiday spending budget"
3305
- - current: false
3389
+ - in_range: true
3306
3390
  start_date: "2025-08-01"
3307
3391
  end_date: "2025-08-31"
3308
3392
  other_activity: 0
@@ -3388,7 +3472,7 @@ paths:
3388
3472
  recurring_remaining: 0
3389
3473
  recurring_expected: 0
3390
3474
  occurrences:
3391
- - current: false
3475
+ - in_range: true
3392
3476
  start_date: "2025-07-01"
3393
3477
  end_date: "2025-07-31"
3394
3478
  other_activity: 156.64
@@ -3406,7 +3490,7 @@ paths:
3406
3490
  recurring_remaining: 0
3407
3491
  recurring_expected: 0
3408
3492
  occurrences:
3409
- - current: false
3493
+ - in_range: true
3410
3494
  start_date: "2025-07-01"
3411
3495
  end_date: "2025-07-31"
3412
3496
  other_activity: 424.8
@@ -3424,7 +3508,7 @@ paths:
3424
3508
  recurring_remaining: 0
3425
3509
  recurring_expected: 0
3426
3510
  occurrences:
3427
- - current: false
3511
+ - in_range: true
3428
3512
  start_date: "2025-07-01"
3429
3513
  end_date: "2025-07-31"
3430
3514
  other_activity: 0
@@ -3461,7 +3545,7 @@ paths:
3461
3545
  recurring_remaining: 0
3462
3546
  recurring_expected: 0
3463
3547
  occurrences:
3464
- - current: false
3548
+ - in_range: true
3465
3549
  start_date: "2025-07-01"
3466
3550
  end_date: "2025-07-31"
3467
3551
  other_activity: 156.64
@@ -3470,7 +3554,7 @@ paths:
3470
3554
  budgeted_amount: "500.0000"
3471
3555
  budgeted_currency: "usd"
3472
3556
  notes: "Monthly budget allocation"
3473
- - current: false
3557
+ - in_range: true
3474
3558
  start_date: "2025-08-01"
3475
3559
  end_date: "2025-08-31"
3476
3560
  other_activity: 0
@@ -3488,7 +3572,7 @@ paths:
3488
3572
  recurring_remaining: 0
3489
3573
  recurring_expected: 0
3490
3574
  occurrences:
3491
- - current: false
3575
+ - in_range: true
3492
3576
  start_date: "2025-07-01"
3493
3577
  end_date: "2025-07-31"
3494
3578
  other_activity: 424.8
@@ -3497,7 +3581,7 @@ paths:
3497
3581
  budgeted_amount: "200.0000"
3498
3582
  budgeted_currency: "usd"
3499
3583
  notes: "Based on previous month's activity"
3500
- - current: false
3584
+ - in_range: true
3501
3585
  start_date: "2025-08-01"
3502
3586
  end_date: "2025-08-31"
3503
3587
  other_activity: 0
@@ -3515,7 +3599,7 @@ paths:
3515
3599
  recurring_remaining: 0
3516
3600
  recurring_expected: 0
3517
3601
  occurrences:
3518
- - current: false
3602
+ - in_range: true
3519
3603
  start_date: "2025-07-01"
3520
3604
  end_date: "2025-07-31"
3521
3605
  other_activity: 25.69
@@ -3524,7 +3608,7 @@ paths:
3524
3608
  budgeted_amount: "200.0000"
3525
3609
  budgeted_currency: "usd"
3526
3610
  notes: "Holiday spending budget"
3527
- - current: false
3611
+ - in_range: true
3528
3612
  start_date: "2025-08-01"
3529
3613
  end_date: "2025-08-31"
3530
3614
  other_activity: 0
@@ -3533,6 +3617,99 @@ paths:
3533
3617
  budgeted_amount: "200.0000"
3534
3618
  budgeted_currency: "usd"
3535
3619
  notes: "Summer vacation savings"
3620
+ "with past occurrences":
3621
+ summary: "Monthly budget summary with past occurrences included"
3622
+ description: "Example response for aligned monthly budget periods with include_past_budget_dates=true, showing 3 past occurrences with in_range: false"
3623
+ value:
3624
+ aligned: true
3625
+ categories:
3626
+ - category_id: 315177
3627
+ totals:
3628
+ other_activity: 156.64
3629
+ recurring_activity: 0
3630
+ budgeted: 500
3631
+ available: 343.36
3632
+ recurring_remaining: 0
3633
+ recurring_expected: 0
3634
+ occurrences:
3635
+ - in_range: false
3636
+ start_date: "2025-04-01"
3637
+ end_date: "2025-04-30"
3638
+ other_activity: 120.50
3639
+ recurring_activity: 0
3640
+ budgeted: 500
3641
+ budgeted_amount: "500.0000"
3642
+ budgeted_currency: "usd"
3643
+ notes: "Monthly budget allocation"
3644
+ - in_range: false
3645
+ start_date: "2025-05-01"
3646
+ end_date: "2025-05-31"
3647
+ other_activity: 180.25
3648
+ recurring_activity: 0
3649
+ budgeted: 500
3650
+ budgeted_amount: "500.0000"
3651
+ budgeted_currency: "usd"
3652
+ notes: null
3653
+ - in_range: false
3654
+ start_date: "2025-06-01"
3655
+ end_date: "2025-06-30"
3656
+ other_activity: 200.00
3657
+ recurring_activity: 0
3658
+ budgeted: 500
3659
+ budgeted_amount: "500.0000"
3660
+ budgeted_currency: "usd"
3661
+ notes: "Adjusted for seasonal spending"
3662
+ - in_range: true
3663
+ start_date: "2025-07-01"
3664
+ end_date: "2025-07-31"
3665
+ other_activity: 156.64
3666
+ recurring_activity: 0
3667
+ budgeted: 500
3668
+ budgeted_amount: "500.0000"
3669
+ budgeted_currency: "usd"
3670
+ notes: "Monthly budget allocation"
3671
+ "with rollover pool":
3672
+ summary: "Monthly budget summary with rollover pool included"
3673
+ description: "Example response for aligned monthly budget periods with include_rollover_pool=true, showing rollover pool data for categories with budgets"
3674
+ value:
3675
+ aligned: true
3676
+ categories:
3677
+ - category_id: 315177
3678
+ totals:
3679
+ other_activity: 156.64
3680
+ recurring_activity: 0
3681
+ budgeted: 500
3682
+ available: 343.36
3683
+ recurring_remaining: 0
3684
+ recurring_expected: 0
3685
+ occurrences:
3686
+ - in_range: true
3687
+ start_date: "2025-07-01"
3688
+ end_date: "2025-07-31"
3689
+ other_activity: 156.64
3690
+ recurring_activity: 0
3691
+ budgeted: 500
3692
+ budgeted_amount: "500.0000"
3693
+ budgeted_currency: "usd"
3694
+ notes: "Monthly budget allocation"
3695
+ rollover_pool:
3696
+ budgeted_to_base: 179.50
3697
+ all_adjustments:
3698
+ - in_range: false
3699
+ date: "2025-06-30"
3700
+ amount: "179.5000"
3701
+ currency: "usd"
3702
+ to_base: 179.50
3703
+ - in_range: false
3704
+ date: "2025-05-31"
3705
+ amount: "120.2500"
3706
+ currency: "usd"
3707
+ to_base: 120.25
3708
+ - in_range: false
3709
+ date: "2025-04-30"
3710
+ amount: "80.0000"
3711
+ currency: "usd"
3712
+ to_base: 80.00
3536
3713
  "401":
3537
3714
  $ref: "#/components/responses/unauthorizedToken"
3538
3715
  "429":
@@ -4541,7 +4718,7 @@ paths:
4541
4718
 
4542
4719
  You may submit the response from a `GET /manual_accounts/{id}` as the request body, however only certain
4543
4720
  properties can be updated using this API. The following system set properties are
4544
- accepted in the request body but their values will be ignored: `id`, `created_at`, and `updated_at`.<br><br>
4721
+ accepted in the request body but their values will be ignored: `id`, `to_base`, `created_at`, and `updated_at`.<br><br>
4545
4722
 
4546
4723
  It is also possible to provide only the properties to be updated in the
4547
4724
  request body, as long as the request includes at least one of the
@@ -5038,6 +5215,28 @@ paths:
5038
5215
  format: date
5039
5216
  description: "Denotes the end of the time period you'd like to get transactions
5040
5217
  for. Required if start_date exists. "
5218
+ - name: created_since
5219
+ in: query
5220
+ schema:
5221
+ oneOf:
5222
+ - type: string
5223
+ format: date
5224
+ - type: string
5225
+ format: date-time
5226
+ description: Filter transactions to those created after the specified timestamp.
5227
+ Accepts either a date (YYYY-MM-DD) or ISO 8601 datetime string. Date-only values
5228
+ are interpreted as midnight UTC (00:00:00Z).
5229
+ - name: updated_since
5230
+ in: query
5231
+ schema:
5232
+ oneOf:
5233
+ - type: string
5234
+ format: date
5235
+ - type: string
5236
+ format: date-time
5237
+ description: Filter transactions to those updated after the specified timestamp.
5238
+ Accepts either a date (YYYY-MM-DD) or ISO 8601 datetime string. Date-only values
5239
+ are interpreted as midnight UTC (00:00:00Z).
5041
5240
  - name: manual_account_id
5042
5241
  in: query
5043
5242
  schema:
@@ -5045,9 +5244,11 @@ paths:
5045
5244
  format: int32
5046
5245
  description: Filter transactions to those associated with specified manual
5047
5246
  account ID or set this to 0 to omit any transactions from manual
5048
- accounts. Setting both this and `synched_account_id` to 0 will
5247
+ accounts. Setting both this and `plaid_account_id` to 0 will
5049
5248
  return transactions with no account. These are listed as "Cash
5050
- Transactions" in the Lunch Money GUI.
5249
+ Transactions" in the Lunch Money GUI.<br>
5250
+ Note that transaction groups are not associated with any account. If you want
5251
+ the response to include transactions from transaction groups, set the `include_group_children` query parameter to `true` when filtering by manual accounts.
5051
5252
  examples:
5052
5253
  euro travel card:
5053
5254
  value: 219909
@@ -5062,11 +5263,13 @@ paths:
5062
5263
  account ID or set this to 0 to omit any transactions from plaid
5063
5264
  accounts. Setting both this and `manual_account_id` to 0 will return
5064
5265
  transactions with no account. These are listed as "Cash
5065
- Transactions" in the Lunch Money GUI.
5266
+ Transactions" in the Lunch Money GUI.<br>
5267
+ Note that transaction groups are not associated with any account. If you want
5268
+ the response to include transactions from transaction groups, set the `include_group_children` query parameter to `true` when filtering by plaid accounts.
5066
5269
  examples:
5067
5270
  brokerage account:
5068
5271
  value: 119807
5069
- no synched accounts:
5272
+ no plaid accounts:
5070
5273
  value: 0
5071
5274
  - name: recurring_id
5072
5275
  in: query
@@ -5101,7 +5304,7 @@ paths:
5101
5304
  format: int32
5102
5305
  description: Filter transactions to those that have a tag with the specified Tag
5103
5306
  ID
5104
- - name: is_group
5307
+ - name: is_group_parent
5105
5308
  in: query
5106
5309
  schema:
5107
5310
  type: boolean
@@ -5168,6 +5371,14 @@ paths:
5168
5371
  returned transactions objects to include any transactions that were
5169
5372
  split into multiple transactions. Use with caution as this data is
5170
5373
  normally not exposed after the split transactions are created.
5374
+ - name: include_group_children
5375
+ in: query
5376
+ schema:
5377
+ type: boolean
5378
+ default: false
5379
+ description: By default, individual transactions that joined into a transaction group
5380
+ are not included in the response. Set to true if you'd like the
5381
+ returned transactions objects to include any transactions that joined into a transaction group.
5171
5382
  - name: include_children
5172
5383
  in: query
5173
5384
  schema:
@@ -5191,22 +5402,22 @@ paths:
5191
5402
  schema:
5192
5403
  type: integer
5193
5404
  minimum: 1
5194
- maximum: 1000
5195
- default: 100
5405
+ maximum: 2000
5406
+ default: 1000
5196
5407
  description: Sets the maximum number of transactions to return. If more match
5197
5408
  the filter criteria, the response will include a `has_more`
5198
- attribute set to `true`. See [pagination](foo)
5409
+ attribute set to `true`. See [Pagination](https://alpha.lunchmoney.dev/v2/pagination)
5199
5410
  - name: offset
5200
5411
  in: query
5201
5412
  schema:
5202
5413
  type: integer
5203
5414
  description: Sets the offset for the records returned. This is typically set
5204
- automatically in the header. See [Pagination](/foo)
5415
+ automatically in the header. See [Pagination](https://alpha.lunchmoney.dev/v2/pagination)
5205
5416
  responses:
5206
5417
  "200":
5207
5418
  description: Returns an array of transactions. <br><br>The `has_more` property
5208
5419
  is set to `true` if more transactions are available. See
5209
- [Pagination](/foo)
5420
+ [Pagination](https://alpha.lunchmoney.dev/v2/pagination)
5210
5421
  content:
5211
5422
  application/json:
5212
5423
  schema:
@@ -5241,10 +5452,10 @@ paths:
5241
5452
  is_pending: false
5242
5453
  created_at: "2024-07-28T17:00:06.192Z"
5243
5454
  updated_at: "2024-07-28T17:00:06.733Z"
5244
- is_parent: false
5245
- parent_id: null
5246
- is_group: false
5247
- group_id: null
5455
+ is_split_parent: false
5456
+ split_parent_id: null
5457
+ is_group_parent: false
5458
+ group_parent_id: null
5248
5459
  manual_account_id: null
5249
5460
  plaid_account_id: 119806
5250
5461
  tag_ids:
@@ -5264,10 +5475,10 @@ paths:
5264
5475
  is_pending: false
5265
5476
  created_at: "2024-07-24T17:00:06.192Z"
5266
5477
  updated_at: "2024-07-24T17:00:06.192Z"
5267
- is_parent: false
5268
- parent_id: null
5269
- is_group: false
5270
- group_id: null
5478
+ is_split_parent: false
5479
+ split_parent_id: null
5480
+ is_group_parent: false
5481
+ group_parent_id: null
5271
5482
  manual_account_id: null
5272
5483
  plaid_account_id: 119805
5273
5484
  tag_ids:
@@ -5287,10 +5498,10 @@ paths:
5287
5498
  notes: null
5288
5499
  created_at: "2024-07-22T17:00:06.192Z"
5289
5500
  updated_at: "2024-07-22T17:00:06.733Z"
5290
- is_parent: false
5291
- parent_id: null
5292
- is_group: false
5293
- group_id: null
5501
+ is_split_parent: false
5502
+ split_parent_id: null
5503
+ is_group_parent: false
5504
+ group_parent_id: null
5294
5505
  manual_account_id: null
5295
5506
  plaid_account_id: 119804
5296
5507
  tag_ids: []
@@ -5309,10 +5520,10 @@ paths:
5309
5520
  is_pending: false
5310
5521
  created_at: "2024-07-22T17:00:06.192Z"
5311
5522
  updated_at: "2024-07-22T17:00:06.733Z"
5312
- is_parent: false
5313
- parent_id: null
5314
- is_group: false
5315
- group_id: null
5523
+ is_split_parent: false
5524
+ split_parent_id: null
5525
+ is_group_parent: false
5526
+ group_parent_id: null
5316
5527
  manual_account_id: 119807
5317
5528
  plaid_account_id: null
5318
5529
  tag_ids: []
@@ -5336,10 +5547,10 @@ paths:
5336
5547
  is_pending: false
5337
5548
  created_at: "2024-07-28T17:00:06.192Z"
5338
5549
  updated_at: "2024-07-28T17:00:06.733Z"
5339
- is_parent: false
5340
- parent_id: null
5341
- is_group: false
5342
- group_id: null
5550
+ is_split_parent: false
5551
+ split_parent_id: null
5552
+ is_group_parent: false
5553
+ group_parent_id: null
5343
5554
  manual_account_id: null
5344
5555
  plaid_account_id: 119806
5345
5556
  tag_ids:
@@ -5359,10 +5570,10 @@ paths:
5359
5570
  is_pending: false
5360
5571
  created_at: "2024-07-14T17:00:06.192Z"
5361
5572
  updated_at: "2024-07-14T17:00:06.733Z"
5362
- is_parent: false
5363
- parent_id: null
5364
- is_group: true
5365
- group_id: null
5573
+ is_split_parent: false
5574
+ split_parent_id: null
5575
+ is_group_parent: true
5576
+ group_parent_id: null
5366
5577
  manual_account_id: null
5367
5578
  plaid_account_id: 119806
5368
5579
  tag_ids:
@@ -5387,10 +5598,10 @@ paths:
5387
5598
  is_pending: false
5388
5599
  created_at: "2024-07-28T17:00:06.192Z"
5389
5600
  updated_at: "2024-07-28T17:00:06.733Z"
5390
- is_parent: false
5391
- parent_id: null
5392
- is_group: false
5393
- group_id: null
5601
+ is_split_parent: false
5602
+ split_parent_id: null
5603
+ is_group_parent: false
5604
+ group_parent_id: null
5394
5605
  manual_account_id: null
5395
5606
  plaid_account_id: 119806
5396
5607
  tag_ids:
@@ -5410,10 +5621,10 @@ paths:
5410
5621
  is_pending: false
5411
5622
  created_at: "2024-07-24T17:00:06.192Z"
5412
5623
  updated_at: "2024-07-24T17:00:06.192Z"
5413
- is_parent: false
5414
- parent_id: null
5415
- is_group: false
5416
- group_id: null
5624
+ is_split_parent: false
5625
+ split_parent_id: null
5626
+ is_group_parent: false
5627
+ group_parent_id: null
5417
5628
  manual_account_id: null
5418
5629
  plaid_account_id: 119805
5419
5630
  tag_ids:
@@ -5622,9 +5833,9 @@ paths:
5622
5833
  is_pending: false
5623
5834
  created_at: "2024-12-18T04:05:58.072Z"
5624
5835
  updated_at: "2024-12-18T04:05:58.072Z"
5625
- parent_id: null
5626
- is_group: false
5627
- group_id: null
5836
+ split_parent_id: null
5837
+ is_group_parent: false
5838
+ group_parent_id: null
5628
5839
  manual_account_id: null
5629
5840
  plaid_account_id: null
5630
5841
  tag_ids: []
@@ -5649,9 +5860,9 @@ paths:
5649
5860
  is_pending: false
5650
5861
  created_at: "2024-11-20T16:09:11.544Z"
5651
5862
  updated_at: "2024-11-20T16:09:11.544Z"
5652
- parent_id: null
5653
- is_group: false
5654
- group_id: null
5863
+ split_parent_id: null
5864
+ is_group_parent: false
5865
+ group_parent_id: null
5655
5866
  manual_account_id: null
5656
5867
  plaid_account_id: null
5657
5868
  tag_ids: []
@@ -5676,9 +5887,9 @@ paths:
5676
5887
  is_pending: false
5677
5888
  created_at: "2024-11-20T16:10:23.395Z"
5678
5889
  updated_at: "2024-11-20T16:10:23.395Z"
5679
- parent_id: null
5680
- is_group: false
5681
- group_id: null
5890
+ split_parent_id: null
5891
+ is_group_parent: false
5892
+ group_parent_id: null
5682
5893
  manual_account_id: null
5683
5894
  plaid_account_id: null
5684
5895
  tag_ids: []
@@ -5699,9 +5910,9 @@ paths:
5699
5910
  is_pending: false
5700
5911
  created_at: "2024-11-20T16:10:23.395Z"
5701
5912
  updated_at: "2024-11-20T16:10:23.395Z"
5702
- parent_id: null
5703
- is_group: false
5704
- group_id: null
5913
+ split_parent_id: null
5914
+ is_group_parent: false
5915
+ group_parent_id: null
5705
5916
  manual_account_id: null
5706
5917
  plaid_account_id: null
5707
5918
  tag_ids: []
@@ -5726,9 +5937,9 @@ paths:
5726
5937
  is_pending: false
5727
5938
  created_at: "2024-11-20T16:15:19.475Z"
5728
5939
  updated_at: "2024-11-20T16:15:19.475Z"
5729
- parent_id: null
5730
- is_group: false
5731
- group_id: null
5940
+ split_parent_id: null
5941
+ is_group_parent: false
5942
+ group_parent_id: null
5732
5943
  manual_account_id: 219807
5733
5944
  plaid_account_id: null
5734
5945
  tag_ids: []
@@ -5762,9 +5973,9 @@ paths:
5762
5973
  is_pending: false
5763
5974
  created_at: "2025-07-18T14:15:23.159Z"
5764
5975
  updated_at: "2025-07-18T14:15:23.159Z"
5765
- parent_id: null
5766
- is_group: false
5767
- group_id: null
5976
+ split_parent_id: null
5977
+ is_group_parent: false
5978
+ group_parent_id: null
5768
5979
  manual_account_id: 219807
5769
5980
  plaid_account_id: null
5770
5981
  tag_ids: []
@@ -5808,9 +6019,9 @@ paths:
5808
6019
  is_pending: false
5809
6020
  created_at: "2025-07-18T14:05:29.253Z"
5810
6021
  updated_at: "2025-07-18T14:05:29.253Z"
5811
- parent_id: null
5812
- is_group: false
5813
- group_id: null
6022
+ split_parent_id: null
6023
+ is_group_parent: false
6024
+ group_parent_id: null
5814
6025
  manual_account_id: 219807
5815
6026
  plaid_account_id: null
5816
6027
  tag_ids: []
@@ -5899,7 +6110,7 @@ paths:
5899
6110
  accepted in the request body, but their values will be ignored: `id`, `to_base`, `is_pending`, `created_at`, `updated_at`, `source`, and `plaid_metadata`.<br><br>
5900
6111
 
5901
6112
  Transactions that have been previously split or grouped may not be
5902
- modified by this endpoint. Therefore the `is_parent`, `parent_id`, `is_group`, `group_id`, and `children` properties are also ignored when provided in the request body.<br><br>
6113
+ modified by this endpoint. Therefore the `is_split_parent`, `split_parent_id`, `is_group_parent`, `group_parent_id`, and `children` properties are also ignored when provided in the request body.<br><br>
5903
6114
 
5904
6115
  Each transaction in the array **must** include an `id` property to identify which transaction to update, along with at least one other property to be updated. For example, a transaction object that contains only an `id` and `category_id` property is valid.<br><br>
5905
6116
 
@@ -5959,10 +6170,10 @@ paths:
5959
6170
  is_pending: false
5960
6171
  created_at: "2025-07-17T17:00:06.192Z"
5961
6172
  updated_at: "2025-07-17T17:00:06.192Z"
5962
- is_parent: false
5963
- parent_id: null
5964
- is_group: false
5965
- group_id: null
6173
+ is_split_parent: false
6174
+ split_parent_id: null
6175
+ is_group_parent: false
6176
+ group_parent_id: null
5966
6177
  manual_account_id: null
5967
6178
  plaid_account_id: null
5968
6179
  tag_ids:
@@ -6023,10 +6234,10 @@ paths:
6023
6234
  is_pending: false
6024
6235
  created_at: "2025-06-24T17:00:06.192Z"
6025
6236
  updated_at: "2025-06-24T17:00:06.192Z"
6026
- is_parent: false
6027
- parent_id: null
6028
- is_group: false
6029
- group_id: null
6237
+ is_split_parent: false
6238
+ split_parent_id: null
6239
+ is_group_parent: false
6240
+ group_parent_id: null
6030
6241
  manual_account_id: null
6031
6242
  plaid_account_id: 119805
6032
6243
  tag_ids:
@@ -6047,10 +6258,10 @@ paths:
6047
6258
  is_pending: false
6048
6259
  created_at: "2025-06-18T17:00:06.192Z"
6049
6260
  updated_at: "2025-06-18T17:00:06.192Z"
6050
- is_parent: false
6051
- parent_id: null
6052
- is_group: false
6053
- group_id: null
6261
+ is_split_parent: false
6262
+ split_parent_id: null
6263
+ is_group_parent: false
6264
+ group_parent_id: null
6054
6265
  manual_account_id: null
6055
6266
  plaid_account_id: null
6056
6267
  tag_ids:
@@ -6071,10 +6282,10 @@ paths:
6071
6282
  is_pending: false
6072
6283
  created_at: "2025-06-12T17:00:06.192Z"
6073
6284
  updated_at: "2025-06-12T17:00:06.733Z"
6074
- is_parent: false
6075
- parent_id: null
6076
- is_group: false
6077
- group_id: null
6285
+ is_split_parent: false
6286
+ split_parent_id: null
6287
+ is_group_parent: false
6288
+ group_parent_id: null
6078
6289
  manual_account_id: null
6079
6290
  plaid_account_id: 119807
6080
6291
  tag_ids: []
@@ -6097,10 +6308,10 @@ paths:
6097
6308
  is_pending: false
6098
6309
  created_at: "2025-07-17T17:00:06.192Z"
6099
6310
  updated_at: "2025-07-17T17:00:06.192Z"
6100
- is_parent: false
6101
- parent_id: null
6102
- is_group: false
6103
- group_id: null
6311
+ is_split_parent: false
6312
+ split_parent_id: null
6313
+ is_group_parent: false
6314
+ group_parent_id: null
6104
6315
  manual_account_id: null
6105
6316
  plaid_account_id: null
6106
6317
  tag_ids:
@@ -6121,10 +6332,10 @@ paths:
6121
6332
  is_pending: false
6122
6333
  created_at: "2025-06-18T17:00:06.192Z"
6123
6334
  updated_at: "2025-06-18T17:00:06.192Z"
6124
- is_parent: false
6125
- parent_id: null
6126
- is_group: false
6127
- group_id: null
6335
+ is_split_parent: false
6336
+ split_parent_id: null
6337
+ is_group_parent: false
6338
+ group_parent_id: null
6128
6339
  manual_account_id: null
6129
6340
  plaid_account_id: null
6130
6341
  tag_ids:
@@ -6379,11 +6590,11 @@ paths:
6379
6590
  transaction.
6380
6591
 
6381
6592
 
6382
- If `is_group` is true in the returned transaction, the object will also
6593
+ If `is_group_parent` is true in the returned transaction, the object will also
6383
6594
  include the `children` property which will contain a list of the
6384
6595
  original transactions that make up the transaction group.<br>
6385
6596
 
6386
- If `is_parent` is true in the returned transaction, the object will also
6597
+ If `is_split_parent` is true in the returned transaction, the object will also
6387
6598
  include the `children` property which will contain a list
6388
6599
  of the split transactions.
6389
6600
  operationId: getTransactionById
@@ -6431,10 +6642,10 @@ paths:
6431
6642
  is_pending: false
6432
6643
  created_at: "2024-07-24T17:00:06.192Z"
6433
6644
  updated_at: "2024-07-24T17:00:06.192Z"
6434
- parent_id: null
6645
+ split_parent_id: null
6435
6646
  children: []
6436
- is_group: false
6437
- group_id: null
6647
+ is_group_parent: false
6648
+ group_parent_id: null
6438
6649
  manual_account_id: null
6439
6650
  plaid_account_id: 119805
6440
6651
  tag_ids: []
@@ -6455,10 +6666,10 @@ paths:
6455
6666
  is_pending: true
6456
6667
  created_at: "2025-05-28T17:00:06.192Z"
6457
6668
  updated_at: "2025-05-28T17:00:06.733Z"
6458
- is_parent: false
6459
- parent_id: null
6460
- is_group: false
6461
- group_id: null
6669
+ is_split_parent: false
6670
+ split_parent_id: null
6671
+ is_group_parent: false
6672
+ group_parent_id: null
6462
6673
  manual_account_id: null
6463
6674
  plaid_account_id: 119806
6464
6675
  tag_ids:
@@ -6492,9 +6703,9 @@ paths:
6492
6703
  is_pending: false
6493
6704
  created_at: "2025-05-17T17:00:06.192Z"
6494
6705
  updated_at: "2025-05-17T17:00:06.733Z"
6495
- parent_id: null
6496
- is_group: true
6497
- group_id: null
6706
+ split_parent_id: null
6707
+ is_group_parent: true
6708
+ group_parent_id: null
6498
6709
  manual_account_id: null
6499
6710
  plaid_account_id: null
6500
6711
  tag_ids:
@@ -6516,10 +6727,10 @@ paths:
6516
6727
  is_pending: false
6517
6728
  created_at: "2025-05-17T17:00:06.192Z"
6518
6729
  updated_at: "2025-05-17T17:00:06.733Z"
6519
- is_parent: false
6520
- parent_id: null
6521
- is_group: false
6522
- group_id: 2112140959
6730
+ is_split_parent: false
6731
+ split_parent_id: null
6732
+ is_group_parent: false
6733
+ group_parent_id: 2112140959
6523
6734
  manual_account_id: null
6524
6735
  plaid_account_id: null
6525
6736
  tag_ids:
@@ -6540,10 +6751,10 @@ paths:
6540
6751
  is_pending: false
6541
6752
  created_at: "2025-05-16T17:00:06.192Z"
6542
6753
  updated_at: "2025-05-16T17:00:06.192Z"
6543
- is_parent: false
6544
- parent_id: null
6545
- is_group: false
6546
- group_id: 2112140959
6754
+ is_split_parent: false
6755
+ split_parent_id: null
6756
+ is_group_parent: false
6757
+ group_parent_id: 2112140959
6547
6758
  manual_account_id: null
6548
6759
  plaid_account_id: null
6549
6760
  tag_ids:
@@ -6564,10 +6775,10 @@ paths:
6564
6775
  is_pending: false
6565
6776
  created_at: "2025-05-15T17:00:06.192Z"
6566
6777
  updated_at: "2025-05-15T17:00:06.733Z"
6567
- is_parent: false
6568
- parent_id: null
6569
- is_group: false
6570
- group_id: 2112140959
6778
+ is_split_parent: false
6779
+ split_parent_id: null
6780
+ is_group_parent: false
6781
+ group_parent_id: 2112140959
6571
6782
  manual_account_id: null
6572
6783
  plaid_account_id: 119805
6573
6784
  tag_ids:
@@ -6618,7 +6829,7 @@ paths:
6618
6829
  accepted in the request body but their values will be ignored: `id`, `to_base`, `is_pending`, `created_at`, `updated_at`, `source`, and `plaid_metadata`.<br><br>
6619
6830
 
6620
6831
  Transactions that have been previously split or grouped may not be
6621
- modified by this endpoint. Therefore the `is_parent`, `parent_id`, `is_group`, `group_id`, and `children` properties are also ignored when provided in the request body.<br><br>
6832
+ modified by this endpoint. Therefore the `is_split_parent`, `split_parent_id`, `is_group_parent`, `group_parent_id`, and `children` properties are also ignored when provided in the request body.<br><br>
6622
6833
 
6623
6834
  It is also possible to provide only the properties to be updated in the
6624
6835
  request body, as long as the request includes at least one of the
@@ -6673,10 +6884,10 @@ paths:
6673
6884
  is_pending: false
6674
6885
  created_at: "2024-12-09T17:00:06.192Z"
6675
6886
  updated_at: "2024-12-09T17:00:06.733Z"
6676
- is_parent: false
6677
- parent_id: null
6678
- is_group: false
6679
- group_id: null
6887
+ is_split_parent: false
6888
+ split_parent_id: null
6889
+ is_group_parent: false
6890
+ group_parent_id: null
6680
6891
  manual_account_id: null
6681
6892
  plaid_account_id: 119810
6682
6893
  tag_ids: []
@@ -6705,10 +6916,10 @@ paths:
6705
6916
  is_pending: false
6706
6917
  created_at: "2024-12-09T17:00:06.192Z"
6707
6918
  updated_at: "2024-12-09T17:00:06.733Z"
6708
- is_parent: false
6709
- parent_id: null
6710
- is_group: false
6711
- group_id: null
6919
+ is_split_parent: false
6920
+ split_parent_id: null
6921
+ is_group_parent: false
6922
+ group_parent_id: null
6712
6923
  manual_account_id: null
6713
6924
  plaid_account_id: 119810
6714
6925
  tag_ids: []
@@ -6928,9 +7139,9 @@ paths:
6928
7139
  is_pending: false
6929
7140
  created_at: "2024-12-18T14:45:03.366Z"
6930
7141
  updated_at: "2024-12-18T14:45:03.366Z"
6931
- parent_id: null
6932
- is_group: true
6933
- group_id: null
7142
+ split_parent_id: null
7143
+ is_group_parent: true
7144
+ group_parent_id: null
6934
7145
  manual_account_id: null
6935
7146
  plaid_account_id: null
6936
7147
  tag_ids: []
@@ -6951,10 +7162,10 @@ paths:
6951
7162
  is_pending: false
6952
7163
  created_at: "2024-11-10T17:00:06.192Z"
6953
7164
  updated_at: "2024-11-10T17:00:06.733Z"
6954
- is_parent: false
6955
- parent_id: null
6956
- is_group: false
6957
- group_id: 123456789
7165
+ is_split_parent: false
7166
+ split_parent_id: null
7167
+ is_group_parent: false
7168
+ group_parent_id: 123456789
6958
7169
  manual_account_id: null
6959
7170
  plaid_account_id: 119809
6960
7171
  tag_ids: []
@@ -6973,10 +7184,10 @@ paths:
6973
7184
  is_pending: false
6974
7185
  created_at: "2024-11-09T17:00:06.192Z"
6975
7186
  updated_at: "2024-11-09T17:00:06.733Z"
6976
- is_parent: false
6977
- parent_id: null
6978
- is_group: false
6979
- group_id: 123456789
7187
+ is_split_parent: false
7188
+ split_parent_id: null
7189
+ is_group_parent: false
7190
+ group_parent_id: 123456789
6980
7191
  manual_account_id: null
6981
7192
  plaid_account_id: 119810
6982
7193
  tag_ids: []
@@ -6998,9 +7209,9 @@ paths:
6998
7209
  is_pending: false
6999
7210
  created_at: "2025-11-13T21:39:27.609Z"
7000
7211
  updated_at: "2025-11-13T21:39:27.609Z"
7001
- parent_id: null
7002
- is_group: true
7003
- group_id: null
7212
+ split_parent_id: null
7213
+ is_group_parent: true
7214
+ group_parent_id: null
7004
7215
  manual_account_id: null
7005
7216
  plaid_account_id: null
7006
7217
  tag_ids: [94318]
@@ -7021,10 +7232,10 @@ paths:
7021
7232
  is_pending: false
7022
7233
  created_at: "2025-10-22T17:00:06.192Z"
7023
7234
  updated_at: "2025-10-22T17:00:06.733Z"
7024
- is_parent: false
7025
- parent_id: null
7026
- is_group: false
7027
- group_id: 123456789
7235
+ is_split_parent: false
7236
+ split_parent_id: null
7237
+ is_group_parent: false
7238
+ group_parent_id: 123456789
7028
7239
  manual_account_id: null
7029
7240
  plaid_account_id: 119804
7030
7241
  tag_ids: []
@@ -7044,10 +7255,10 @@ paths:
7044
7255
  is_pending: false
7045
7256
  created_at: "2025-10-21T17:00:06.192Z"
7046
7257
  updated_at: "2025-10-21T17:00:06.733Z"
7047
- is_parent: false
7048
- parent_id: null
7049
- is_group: false
7050
- group_id: 123456789
7258
+ is_split_parent: false
7259
+ split_parent_id: null
7260
+ is_group_parent: false
7261
+ group_parent_id: 123456789
7051
7262
  manual_account_id: null
7052
7263
  plaid_account_id: 119806
7053
7264
  tag_ids: []
@@ -7099,7 +7310,7 @@ paths:
7099
7310
  - errMsg: "Transaction with id 2112150647 is in a transaction group already and cannot be added to another transaction group."
7100
7311
  ids_index: 1
7101
7312
  id: 2112150647
7102
- group_id: 2112140959
7313
+ group_parent_id: 2112140959
7103
7314
  recurring transactions:
7104
7315
  value:
7105
7316
  message: Request Validation Failure
@@ -7175,7 +7386,7 @@ paths:
7175
7386
 
7176
7387
  To see the details of the original parent transaction after it has been
7177
7388
  split, use the `GET /transactions/{id}` endpoint and pass the value of
7178
- the `parent_id` of one of the children.
7389
+ the `split_parent_id` of one of the children.
7179
7390
  operationId: splitTransaction
7180
7391
  parameters:
7181
7392
  - name: id
@@ -7251,10 +7462,10 @@ paths:
7251
7462
  is_pending: false
7252
7463
  created_at: "2024-10-19T17:00:06.192Z"
7253
7464
  updated_at: "2024-11-30T22:25:53.232Z"
7254
- parent_id: null
7255
- is_parent: true
7256
- is_group: false
7257
- group_id: null
7465
+ split_parent_id: null
7466
+ is_split_parent: true
7467
+ is_group_parent: false
7468
+ group_parent_id: null
7258
7469
  manual_account_id: null
7259
7470
  plaid_account_id: 119805
7260
7471
  tag_ids: []
@@ -7274,10 +7485,10 @@ paths:
7274
7485
  is_pending: false
7275
7486
  created_at: "2024-11-30T22:25:53.232Z"
7276
7487
  updated_at: "2024-11-30T22:25:53.232Z"
7277
- is_parent: false
7278
- parent_id: null
7279
- is_group: false
7280
- group_id: null
7488
+ is_split_parent: false
7489
+ split_parent_id: null
7490
+ is_group_parent: false
7491
+ group_parent_id: null
7281
7492
  manual_account_id: null
7282
7493
  plaid_account_id: 119805
7283
7494
  tag_ids: []
@@ -7296,10 +7507,10 @@ paths:
7296
7507
  is_pending: false
7297
7508
  created_at: "2024-11-30T22:25:53.232Z"
7298
7509
  updated_at: "2024-11-30T22:25:53.232Z"
7299
- is_parent: false
7300
- parent_id: null
7301
- is_group: false
7302
- group_id: null
7510
+ is_split_parent: false
7511
+ split_parent_id: null
7512
+ is_group_parent: false
7513
+ group_parent_id: null
7303
7514
  manual_account_id: null
7304
7515
  plaid_account_id: 119805
7305
7516
  tag_ids: []
@@ -7374,7 +7585,7 @@ paths:
7374
7585
  Deletes the split children of a previously split transactions and
7375
7586
  restores the parent transactions to the normal unsplit state.<br><br>
7376
7587
 
7377
- Use the value of the `parent_id`property of a split transaction to
7588
+ Use the value of the `split_parent_id`property of a split transaction to
7378
7589
  specify the parent ID.
7379
7590
  operationId: unsplitTransaction
7380
7591
  parameters: