@lunch-money/v2-api-spec 2.10.0-preview.3 → 2.10.0-preview.5

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.
@@ -74,7 +74,7 @@ tags:
74
74
  description: Learn more about crypto assets
75
75
  url: https://support.lunchmoney.app/setup/crypto
76
76
  - name: crypto-synced
77
- description: Work with synced crypto assets and balances
77
+ description: Read and refresh synced crypto assets and balances. Creating and managing connections with synced crypto providers is done exclusively in the Lunch Money web app.
78
78
  externalDocs:
79
79
  description: Learn more about crypto assets
80
80
  url: https://support.lunchmoney.app/setup/crypto
@@ -597,10 +597,12 @@ components:
597
597
  x-updatable: false
598
598
  archived_at:
599
599
  type: string
600
+ format: date-time
600
601
  nullable: true
601
602
  description: System set date and time of when the category was last
602
- archived (in the ISO 8601 extended format). Ignored if set.
603
- x-updatable: false
603
+ archived (in the ISO 8601 extended format). Provide an ISO 8601
604
+ extended datetime or `null` to clear it.
605
+ x-updatable: true
604
606
  updated_at:
605
607
  type: string
606
608
  format: date-time
@@ -694,7 +696,7 @@ components:
694
696
  symbol:
695
697
  type: string
696
698
  minLength: 1
697
- maxLength: 10
699
+ maxLength: 25
698
700
  description: Cryptocurrency symbol
699
701
  coingecko_id:
700
702
  type: string
@@ -711,12 +713,6 @@ components:
711
713
  nullable: true
712
714
  description: Date/time the balance was last updated in ISO 8601
713
715
  extended format
714
- last_import:
715
- type: string
716
- format: date-time
717
- nullable: true
718
- description: Timestamp in ISO 8601 extended format of the last
719
- successful import. This will be `null` for manual crypto balances.
720
716
  created_by_name:
721
717
  type: string
722
718
  nullable: true
@@ -741,7 +737,6 @@ components:
741
737
  - coingecko_id
742
738
  - to_base
743
739
  - balance_as_of
744
- - last_import
745
740
  - created_by_name
746
741
  - created_at
747
742
  - updated_at
@@ -765,7 +760,7 @@ components:
765
760
  symbol:
766
761
  type: string
767
762
  minLength: 1
768
- maxLength: 10
763
+ maxLength: 25
769
764
  description: Symbol of the currency held in the synced account
770
765
  coingecko_id:
771
766
  type: string
@@ -833,6 +828,17 @@ components:
833
828
  format: date-time
834
829
  description: Date/time the synced crypto connection was created in ISO
835
830
  8601 extended format
831
+ updated_at:
832
+ type: string
833
+ format: date-time
834
+ description: Date/time the synced crypto connection was last updated
835
+ in ISO 8601 extended format
836
+ last_import:
837
+ type: string
838
+ format: date-time
839
+ nullable: true
840
+ description: System defined timestamp in ISO 8601 extended format of
841
+ the last successful import.
836
842
  display_name:
837
843
  type: string
838
844
  nullable: true
@@ -848,6 +854,7 @@ components:
848
854
  - status
849
855
  - created_by_name
850
856
  - created_at
857
+ - updated_at
851
858
  - display_name
852
859
  - balances
853
860
 
@@ -890,13 +897,13 @@ components:
890
897
  coingecko_id:
891
898
  type: string
892
899
  minLength: 1
893
- maxLength: 50
900
+ maxLength: 100
894
901
  description: System-defined CoinGecko identifier used to fetch
895
902
  the USD-based prices for this cryptocurrency.
896
903
  symbol:
897
904
  type: string
898
905
  minLength: 1
899
- maxLength: 50
906
+ maxLength: 25
900
907
  description: Lowercase currency symbol that must be used as
901
908
  `symbol` when creating a manual crypto balance.
902
909
  full_name:
@@ -976,7 +983,7 @@ components:
976
983
  symbol:
977
984
  type: string
978
985
  minLength: 1
979
- maxLength: 10
986
+ maxLength: 25
980
987
  description: Cryptocurrency symbol to track. Must match the `symbol`
981
988
  of one of the supported cryptocurrencies returned by `GET
982
989
  /cryptocurrencies`.
@@ -1032,7 +1039,7 @@ components:
1032
1039
  symbol:
1033
1040
  type: string
1034
1041
  minLength: 1
1035
- maxLength: 10
1042
+ maxLength: 25
1036
1043
  description: Existing cryptocurrency symbol. Ignored if set.
1037
1044
  x-updatable: false
1038
1045
  coingecko_id:
@@ -1055,13 +1062,6 @@ components:
1055
1062
  description: System defined date/time the balance was last updated in
1056
1063
  ISO 8601 extended format. Ignored if set
1057
1064
  x-updatable: false
1058
- last_import:
1059
- type: string
1060
- format: date-time
1061
- nullable: true
1062
- description: System defined timestamp in ISO 8601 extended format of
1063
- the last successful import. Ignored if set
1064
- x-updatable: false
1065
1065
  created_by_name:
1066
1066
  type: string
1067
1067
  nullable: true
@@ -1964,8 +1964,9 @@ components:
1964
1964
  type: string
1965
1965
  format: date-time
1966
1966
  nullable: true
1967
- description: System-set time the tag was archived. Ignored if set.
1968
- x-updatable: false
1967
+ description: If set, updates the archived timestamp for the tag.
1968
+ Provide an ISO 8601 extended datetime or `null` to clear it.
1969
+ x-updatable: true
1969
1970
 
1970
1971
  # The object returned when a DELETE /tag/:id request
1971
1972
  # has an id for a tag that has dependencies
@@ -2036,8 +2037,6 @@ components:
2036
2037
  Name of payee set by the user, the financial institution, or by
2037
2038
  a matched recurring item. This will match the value
2038
2039
  displayed in payee field on the transactions page in the Lunch Money app.
2039
- minLength: 0
2040
- maxLength: 140
2041
2040
  original_name:
2042
2041
  type: string
2043
2042
  nullable: true
@@ -2045,8 +2044,6 @@ components:
2045
2044
  institution, CSV, etc.). For Plaid transactions, this is the raw
2046
2045
  name before normalization. For manual/API transactions, this
2047
2046
  typically matches `payee`. May be null for older transactions.
2048
- minLength: 0
2049
- maxLength: 140
2050
2047
  category_id:
2051
2048
  type: integer
2052
2049
  format: int32
@@ -2319,8 +2316,6 @@ components:
2319
2316
  Name of payee set by the user, the financial institution, or by
2320
2317
  a matched recurring item. This will match the value
2321
2318
  displayed in payee field on the transactions page in the Lunch Money app.
2322
- minLength: 0
2323
- maxLength: 140
2324
2319
  original_name:
2325
2320
  type: string
2326
2321
  nullable: true
@@ -2328,8 +2323,6 @@ components:
2328
2323
  institution, CSV, etc.). For Plaid transactions, this is the raw
2329
2324
  name before normalization. For manual/API transactions, this
2330
2325
  typically matches `payee`. May be null for older transactions.
2331
- minLength: 0
2332
- maxLength: 140
2333
2326
  category_id:
2334
2327
  type: integer
2335
2328
  format: int32
@@ -2572,15 +2565,11 @@ components:
2572
2565
  payee:
2573
2566
  type: string
2574
2567
  description: Name of payee for the transaction
2575
- minLength: 0
2576
- maxLength: 140
2577
2568
  original_name:
2578
2569
  type: string
2579
2570
  nullable: true
2580
2571
  description: Original payee name. If not provided, defaults to `payee`
2581
2572
  value.
2582
- minLength: 0
2583
- maxLength: 140
2584
2573
  category_id:
2585
2574
  type: integer
2586
2575
  format: int32
@@ -2715,15 +2704,11 @@ components:
2715
2704
  type: string
2716
2705
  description: |
2717
2706
  The new payee for the transaction.
2718
- minLength: 0
2719
- maxLength: 140
2720
2707
  x-updatable: true
2721
2708
  original_name:
2722
2709
  type: string
2723
2710
  nullable: true
2724
2711
  description: Original payee name. Cannot be changed. Ignored if set.
2725
- minLength: 0
2726
- maxLength: 140
2727
2712
  x-updatable: false
2728
2713
  category_id:
2729
2714
  type: integer
@@ -5133,7 +5118,7 @@ paths:
5133
5118
 
5134
5119
  You may submit the response from a `GET /categories/{id}` as the request body; however, only certain
5135
5120
  properties can be updated using this API. The following properties are
5136
- accepted in the request body but their values will be ignored: `id`, `is_group`,`archived_at`, `updated_at`, `created_at`, and `order`.<br><br>
5121
+ accepted in the request body but their values will be ignored: `id`, `is_group`, `updated_at`, `created_at`, and `order`.<br><br>
5137
5122
 
5138
5123
  It is also possible to provide only the properties to be updated in the
5139
5124
  request body, as long as the request includes at least one of the
@@ -5526,7 +5511,6 @@ paths:
5526
5511
  coingecko_id: bitcoin
5527
5512
  to_base: 53124.72
5528
5513
  balance_as_of: "2026-02-25T14:22:10.000Z"
5529
- last_import: null
5530
5514
  created_by_name: User 1
5531
5515
  created_at: "2025-11-12T20:14:32.000Z"
5532
5516
  updated_at: "2026-02-25T14:22:10.000Z"
@@ -5584,7 +5568,6 @@ paths:
5584
5568
  coingecko_id: ethereum
5585
5569
  to_base: 28998.44
5586
5570
  balance_as_of: "2026-03-01T09:20:41.000Z"
5587
- last_import: null
5588
5571
  created_by_name: User 1
5589
5572
  created_at: "2026-03-01T09:20:41.000Z"
5590
5573
  updated_at: "2026-03-01T09:20:41.000Z"
@@ -5652,7 +5635,6 @@ paths:
5652
5635
  coingecko_id: bitcoin
5653
5636
  to_base: 53124.72
5654
5637
  balance_as_of: "2026-02-25T14:22:10.000Z"
5655
- last_import: null
5656
5638
  created_by_name: User 1
5657
5639
  created_at: "2025-11-12T20:14:32.000Z"
5658
5640
  updated_at: "2026-02-25T14:22:10.000Z"
@@ -5730,7 +5712,6 @@ paths:
5730
5712
  coingecko_id: bitcoin
5731
5713
  to_base: 56011.12
5732
5714
  balance_as_of: "2026-03-01T09:41:18.000Z"
5733
- last_import: null
5734
5715
  created_by_name: User 1
5735
5716
  created_at: "2025-11-12T20:14:32.000Z"
5736
5717
  updated_at: "2026-02-25T14:22:10.000Z"
@@ -5751,7 +5732,6 @@ paths:
5751
5732
  coingecko_id: bitcoin
5752
5733
  to_base: 56011.12
5753
5734
  balance_as_of: "2026-03-01T09:41:18.000Z"
5754
- last_import: null
5755
5735
  created_by_name: User 1
5756
5736
  created_at: "2025-11-12T20:14:32.000Z"
5757
5737
  updated_at: "2026-03-01T09:41:18.000Z"
@@ -5872,6 +5852,7 @@ paths:
5872
5852
  status: active
5873
5853
  created_by_name: User 1
5874
5854
  created_at: "2025-10-02T11:02:09.000Z"
5855
+ updated_at: "2026-02-25T14:25:01.000Z"
5875
5856
  display_name: Coinbase Main
5876
5857
  balances:
5877
5858
  - name: ETH
@@ -5893,6 +5874,7 @@ paths:
5893
5874
  status: relink
5894
5875
  created_by_name: User 1
5895
5876
  created_at: "2025-08-10T10:00:00.000Z"
5877
+ updated_at: "2026-02-26T07:22:30.000Z"
5896
5878
  display_name: Kraken Wallet
5897
5879
  balances:
5898
5880
  - name: XRP
@@ -5944,6 +5926,7 @@ paths:
5944
5926
  status: active
5945
5927
  created_by_name: User 1
5946
5928
  created_at: "2025-10-02T11:02:09.000Z"
5929
+ updated_at: "2026-02-25T14:25:01.000Z"
5947
5930
  display_name: Coinbase Main
5948
5931
  balances:
5949
5932
  - name: ETH
@@ -6009,7 +5992,7 @@ paths:
6009
5992
  schema:
6010
5993
  type: string
6011
5994
  minLength: 1
6012
- maxLength: 10
5995
+ maxLength: 25
6013
5996
  responses:
6014
5997
  "200":
6015
5998
  description: Synced crypto balance object
@@ -9775,7 +9758,7 @@ paths:
9775
9758
 
9776
9759
  You may submit the response from a `GET /tags/{id}` as the request body; however, only certain
9777
9760
  properties can be updated using this API. The following system set properties are
9778
- accepted in the request body but their values will be ignored: `id`, `updated_at`, `created_at`, and `archived_at`.<br><br>
9761
+ accepted in the request body but their values will be ignored: `id`, `updated_at`, and `created_at`.<br><br>
9779
9762
 
9780
9763
  It is also possible to provide only the properties to be updated in the
9781
9764
  request body, as long as the request includes at least one of the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunch-money/v2-api-spec",
3
- "version": "2.10.0-preview.3",
3
+ "version": "2.10.0-preview.5",
4
4
  "description": "OpenAPI specification and version history for the Lunch Money v2 API",
5
5
  "main": "lunch-money-api-v2.yaml",
6
6
  "files": [
@@ -10,9 +10,11 @@ The Lunch Money API spec uses a modified version of SEMVER for its versioning me
10
10
  - Discovering the currently supported currencies for manually managed crypto assets
11
11
  - Managing the complete lifecycle of manually managed crypto assets (create, read, update, delete)
12
12
  - Viewing the balances for currencies associated with both manually managed crypto assets and those that are synced via a synced crypto account (ie: coinbase, kraken, ethereum wallet)
13
- deferred.
14
13
  - Refreshing synced crypto account balances
15
14
 
15
+ ## v2.9.1 - Apr, 2026
16
+ - You may now set `archived_at` when modifying a category or tag via the `PUT /categories` or `PUT /tags` endpoints.
17
+
16
18
  ## v2.9.0 - Feb 26, 2026
17
19
  - Add initial `/budgets` endpoint support:
18
20
  - `GET /budgets/settings` for account budget settings