@lunch-money/developer-docs 2.11.0-preview.10
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.
- package/README.md +65 -0
- package/docs/README.md +16 -0
- package/docs/amounts-and-balances.md +85 -0
- package/docs/currencies.md +277 -0
- package/docs/getting-started.md +104 -0
- package/docs/introduction.md +63 -0
- package/docs/pagination.md +517 -0
- package/docs/rate-limiting.md +335 -0
- package/docs/using-with-ai.md +103 -0
- package/manifest.json +225 -0
- package/package.json +32 -0
- package/v1/_assets.md +188 -0
- package/v1/_budget.md +256 -0
- package/v1/_categories.md +407 -0
- package/v1/_changelog.md +102 -0
- package/v1/_crypto.md +105 -0
- package/v1/_plaid_accounts.md +117 -0
- package/v1/_recurring_expenses.md +117 -0
- package/v1/_recurring_items.md +240 -0
- package/v1/_tags.md +41 -0
- package/v1/_transactions.md +648 -0
- package/v1/_user.md +39 -0
- package/v2/docs/changelog-visual.html +506 -0
- package/v2/docs/intro-to-v2.md +117 -0
- package/v2/docs/migration-guide.md +1143 -0
- package/v2/docs/version-history.md +381 -0
- package/v2/images/CopyCategoriesAndTags.png +0 -0
- package/v2/images/DemoData.png +0 -0
- package/v2/images/PasteBearer.png +0 -0
- package/v2/images/RequestAccessToken.png +0 -0
- package/v2/images/TestRequest.png +0 -0
- package/v2/images/bearer.png +0 -0
- package/v2/images/green_budget.png +0 -0
- package/v2/images/new_budget.png +0 -0
- package/v2/images/server-dropdown.png +0 -0
- package/v2/spec/lunch-money-api-v2.yaml +11779 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Plaid Accounts
|
|
2
|
+
|
|
3
|
+
<aside class="notice">
|
|
4
|
+
This API (v1) will not progress to a generally available state. For new projects, we recommend using the <a href="/v2/docs#tag/plaid_accounts">v2 API</a>, which is in open alpha and actively maintained.
|
|
5
|
+
</aside>
|
|
6
|
+
|
|
7
|
+
## Plaid Accounts Object
|
|
8
|
+
|
|
9
|
+
Attribute Name | Type | Nullable | Description
|
|
10
|
+
----------------------------- | ------ | -------- | --------------------------------------------------------------------
|
|
11
|
+
id | number | false | Unique identifier of Plaid account
|
|
12
|
+
date_linked | string | false | Date account was first linked in ISO 8601 format
|
|
13
|
+
name | string | false | Name of the account. Can be overridden by the user. Field is originally set by Plaid.
|
|
14
|
+
display_name | string | false | Display name of the account, if not set it will return a concatenated string of institution and account name.
|
|
15
|
+
type | string | false | Primary type of account. Typically one of:<br><ul> <li>credit</li> <li>depository</li> <li>brokerage</li> <li>cash</li> <li>loan</li> <li>Investment</li><ul><br> This field is set by Plaid and cannot be altered.
|
|
16
|
+
subtype | string | true | Optional subtype name of account. This field is set by Plaid and cannot be altered.
|
|
17
|
+
mask | string | false | Mask (last 3 to 4 digits of account) of account. This field is set by Plaid and cannot be altered.
|
|
18
|
+
institution_name | string | false | Name of institution associated with account. This field is set by Plaid and cannot be altered.
|
|
19
|
+
status | string | false | Denotes the current status of the account within Lunch Money. Must be one of:<br><ul> <li>active: Account is active and in good state</li> <li>inactive: Account marked inactive from user. No transactions fetched or balance update for this account.</li> <li>relink: Account needs to be relinked with Plaid.</li> <li>syncing: Account is awaiting first import of transactions</li> <li>error: Account is in error with Plaid</li> <li>not found: Account is in error with Plaid</li> <li>not supported: Account is in error with Plaid</li><ul>
|
|
20
|
+
balance | string | false | Current balance of the account in numeric format to 4 decimal places. This field is set by Plaid and cannot be altered,
|
|
21
|
+
to_base | number | true | The balance converted to the user's primary currency
|
|
22
|
+
currency | string | false | Currency of account balance in ISO 4217 format. This field is set by Plaid and cannot be altered.
|
|
23
|
+
balance_last_update | string | false | Date balance was last updated in ISO 8601 extended format. This field is set by Plaid and cannot be altered.
|
|
24
|
+
limit | number | true | Optional credit limit of the account. This field is set by Plaid and cannot be altered.
|
|
25
|
+
import_start_date | string | true | Date of earliest date allowed for importing transactions. Transactions earlier than this date are not imported.
|
|
26
|
+
last_import | string | true | Timestamp in ISO 8601 extended format of the last time Lunch Money imported new data from Plaid for this account.
|
|
27
|
+
last_fetch | string | true | Timestamp in ISO 8601 extended format of the last successful check from Lunch Money for updated data or timestamps from Plaid in ISO 8601 extended format (not necessarily date of last successful import)
|
|
28
|
+
plaid_last_successful_update | string | false | Timestamp in ISO 8601 extended format of the last time Plaid successfully connected with institution for new transaction updates, regardless of whether any new data was available in the update.
|
|
29
|
+
|
|
30
|
+
## Get All Plaid Accounts
|
|
31
|
+
|
|
32
|
+
Use this endpoint to get a list of all synced Plaid accounts associated with the user's account.
|
|
33
|
+
|
|
34
|
+
> Example 200 Response
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"plaid_accounts": [
|
|
39
|
+
{
|
|
40
|
+
"id": 91,
|
|
41
|
+
"date_linked": "2020-01-28",
|
|
42
|
+
"name": "401k",
|
|
43
|
+
"display_name": "",
|
|
44
|
+
"type": "brokerage",
|
|
45
|
+
"subtype": "401k",
|
|
46
|
+
"mask": "7468",
|
|
47
|
+
"institution_name": "Vanguard",
|
|
48
|
+
"status": "inactive",
|
|
49
|
+
"limit": null,
|
|
50
|
+
"balance": "12345.6700",
|
|
51
|
+
"to_base": 12345.67,
|
|
52
|
+
"currency": "usd",
|
|
53
|
+
"balance_last_update": "2020-01-27T01:38:11.862Z",
|
|
54
|
+
"import_start_date": "2023-01-01",
|
|
55
|
+
"last_import": "2019-09-04T12:57:09.190Z",
|
|
56
|
+
"last_fetch": "2020-01-28T01:38:11.862Z",
|
|
57
|
+
"plaid_last_successful_update": "2020-01-27T01:38:11.862Z",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": 89,
|
|
61
|
+
"date_linked": "2020-01-28",
|
|
62
|
+
"name": "Freedom",
|
|
63
|
+
"display_name": "Freedom Card",
|
|
64
|
+
"type": "credit",
|
|
65
|
+
"subtype": "credit card",
|
|
66
|
+
"mask": "1973",
|
|
67
|
+
"institution_name": "Chase",
|
|
68
|
+
"status": "active",
|
|
69
|
+
"limit": 15000,
|
|
70
|
+
"balance": "0.0000",
|
|
71
|
+
"to_base": 0,
|
|
72
|
+
"currency": "usd",
|
|
73
|
+
"balance_last_update": "2023-01-27T01:38:07.460Z",
|
|
74
|
+
"import_start_date": "2023-01-01",
|
|
75
|
+
"last_import": "2023-01-24T12:57:03.250Z",
|
|
76
|
+
"last_fetch": "2023-01-28T01:38:11.862Z",
|
|
77
|
+
"plaid_last_successful_update": "2023-01-27T01:38:11.862Z",
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Plaid Accounts are individual bank accounts that you have linked to Lunch Money via Plaid. You may link one bank but one bank might contain 4 accounts. Each of these accounts is a Plaid Account.
|
|
84
|
+
|
|
85
|
+
### HTTP Request
|
|
86
|
+
|
|
87
|
+
`GET https://api.lunchmoney.dev/v1/plaid_accounts`
|
|
88
|
+
|
|
89
|
+
## Trigger Fetch from Plaid
|
|
90
|
+
|
|
91
|
+
_This is an experimental endpoint and parameters and/or response may change._
|
|
92
|
+
|
|
93
|
+
Use this endpoint to trigger a fetch for latest data from Plaid.
|
|
94
|
+
|
|
95
|
+
> Example 200 Response
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
true
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Returns true if there were eligible Plaid accounts to trigger a fetch for. Eligible accounts are those who `last_fetch` value is over 1 minute ago. (Although the limit is every minute, please use this endpoint sparingly!)
|
|
102
|
+
|
|
103
|
+
Note that fetching from Plaid is a background job. This endpoint simply queues up the job. You may track the `plaid_last_successful_update`, `last_fetch` and `last_import` properties to verify the results of the fetch.
|
|
104
|
+
|
|
105
|
+
### Body Parameters
|
|
106
|
+
|
|
107
|
+
Parameter | Type | Required | Default | Description
|
|
108
|
+
---------------- | ------ | -------- | ------- | -----------------------------------------------------------------------
|
|
109
|
+
start_date | string | false | - | Start date for fetch (ignored if end_date is null)
|
|
110
|
+
end_date | string | false | - | End date for fetch (ignored if start_date is null)
|
|
111
|
+
plaid_account_id | number | false | - | Specific ID of a plaid account to fetch. If left empty, endpoint will trigger a fetch for all eligible accounts
|
|
112
|
+
|
|
113
|
+
### HTTP Request
|
|
114
|
+
|
|
115
|
+
`POST https://api.lunchmoney.dev/v1/plaid_accounts/fetch`
|
|
116
|
+
|
|
117
|
+
---
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Recurring Expenses
|
|
2
|
+
|
|
3
|
+
<aside class="notice">
|
|
4
|
+
This API (v1) will not progress to a generally available state. For new projects, we recommend using the <a href="/v2/docs#tag/recurring_items">v2 API</a>, which is in open alpha and actively maintained.
|
|
5
|
+
</aside>
|
|
6
|
+
|
|
7
|
+
This endpoint has been deprecated in favor of [Recurring Items](#recurring-items)
|
|
8
|
+
|
|
9
|
+
## Recurring Expenses Object
|
|
10
|
+
|
|
11
|
+
| Attribute | Type | Nullable | Description |
|
|
12
|
+
| ---------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| id | number | false | Unique identifier for recurring expense |
|
|
14
|
+
| start_date | string | true | Denotes when recurring expense starts occurring in ISO 8601 format. If null, then this recurring expense will show up for all time before end_date |
|
|
15
|
+
| end_date | string | true | Denotes when recurring expense stops occurring in ISO 8601 format. If null, then this recurring expense has no set end date and will show up for all months after start_date |
|
|
16
|
+
| cadence | string | false | One of:<br> <ul> <li>monthly</li> <li>twice a month</li> <li>once a week</li> <li>every 3 months</li> <li>every 4 months</li> <li>twice a year</li> <li>yearly</li></ul> |
|
|
17
|
+
| payee | string | false | Payee of the recurring expense |
|
|
18
|
+
| amount | number | false | Amount of the recurring expense in numeric format to 4 decimal places |
|
|
19
|
+
| currency | string | false | Three-letter lowercase currency code for the recurring expense in ISO 4217 format |
|
|
20
|
+
| description | string | true | If any, represents the user-entered description of the recurring expense |
|
|
21
|
+
| billing_date | string | false | Expected billing date for this recurring expense for this month in ISO 8601 format |
|
|
22
|
+
| type | string | false | This can be one of two values: <br><ul> <li>cleared: The recurring expense has been reviewed by the user</li> <li>suggested: The recurring expense is suggested by the system; the user has yet to review/clear it</li> </ul> |
|
|
23
|
+
| original_name | string | true | If any, represents the original name of the recurring expense as denoted by the transaction that triggered its creation |
|
|
24
|
+
| source | string | false | This can be one of three values:<br> <ul> <li>manual: User created this recurring expense manually from the Recurring Expenses page</li> <li>transaction: User created this by converting a transaction from the Transactions page</li> <li>system: Recurring expense was created by the system on transaction import</li> <li>Some older recurring expenses may not have a source.</li> </ul> |
|
|
25
|
+
| plaid_account_id | number | true | If any, denotes the plaid account associated with the creation of this recurring expense (see Plaid Accounts) |
|
|
26
|
+
| asset_id | number | true | If any, denotes the manually-managed account (i.e. asset) associated with the creation of this recurring expense (see Assets) |
|
|
27
|
+
| category_id | number | true | If any, denotes the unique identifier for the associated category to this recurring expense |
|
|
28
|
+
| created_at | string | false | The date and time of when the recurring expense was created (in the ISO 8601 extended format). |
|
|
29
|
+
|
|
30
|
+
## Get Recurring Expenses
|
|
31
|
+
|
|
32
|
+
It is no longer recommended to use this endpoint to retrieve a list of recurring expenses to expect for a specified period. Use the [GET /v1/recurring_items](#get-recurring-items) endpoint instead.
|
|
33
|
+
|
|
34
|
+
Every month, a different set of recurring expenses is expected. This is because recurring expenses can be once a year, twice a year, every 4 months, etc.
|
|
35
|
+
|
|
36
|
+
If a recurring expense is listed as “twice a month”, then that recurring expense will be returned twice, each with a different billing date based on when the system believes that recurring expense transaction is to be expected. If the recurring expense is listed as “once a week”, then that recurring expense will be returned in this list as many times as there are weeks for the specified month.
|
|
37
|
+
|
|
38
|
+
In the same vein, if a recurring expense that began last month is set to “Every 3 months”, then that recurring expense will not show up in the results for this month.
|
|
39
|
+
|
|
40
|
+
> Example 200 Response
|
|
41
|
+
>
|
|
42
|
+
> Returns a list of Recurring Expense objects
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"recurring_expenses": [
|
|
47
|
+
{
|
|
48
|
+
"id": 264,
|
|
49
|
+
"start_date": "2020-01-01",
|
|
50
|
+
"end_date": null,
|
|
51
|
+
"cadence": "twice a month",
|
|
52
|
+
"payee": "Test 5",
|
|
53
|
+
"amount": "-122.0000",
|
|
54
|
+
"currency": "cad",
|
|
55
|
+
"created_at": "2020-01-30T07:58:43.944Z",
|
|
56
|
+
"description": null,
|
|
57
|
+
"billing_date": "2020-01-01",
|
|
58
|
+
"type": "cleared",
|
|
59
|
+
"original_name": null,
|
|
60
|
+
"source": "manual",
|
|
61
|
+
"plaid_account_id": null,
|
|
62
|
+
"asset_id": null
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": 262,
|
|
66
|
+
"start_date": "2020-01-01",
|
|
67
|
+
"end_date": null,
|
|
68
|
+
"cadence": "monthly",
|
|
69
|
+
"payee": "Test 2",
|
|
70
|
+
"amount": "-32.4500",
|
|
71
|
+
"currency": "usd",
|
|
72
|
+
"created_at": "2020-01-30T07:58:43.921Z",
|
|
73
|
+
"description": "Test description 2",
|
|
74
|
+
"billing_date": "2020-01-03",
|
|
75
|
+
"type": "cleared",
|
|
76
|
+
"original_name": null,
|
|
77
|
+
"source": "manual",
|
|
78
|
+
"plaid_account_id": null,
|
|
79
|
+
"asset_id": null
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": 264,
|
|
83
|
+
"start_date": "2020-01-01",
|
|
84
|
+
"end_date": null,
|
|
85
|
+
"cadence": "twice a month",
|
|
86
|
+
"payee": "Test 5",
|
|
87
|
+
"amount": "-122.0000",
|
|
88
|
+
"currency": "cad",
|
|
89
|
+
"created_at": "2020-01-30T07:58:43.944Z",
|
|
90
|
+
"description": null,
|
|
91
|
+
"billing_date": "2020-01-15",
|
|
92
|
+
"type": "cleared",
|
|
93
|
+
"original_name": null,
|
|
94
|
+
"source": "manual",
|
|
95
|
+
"plaid_account_id": null,
|
|
96
|
+
"asset_id": null
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
> Example 404 Response
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{ "error": "Invalid start_date. Must be in format YYYY-MM-DD" }
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### HTTP Request
|
|
109
|
+
|
|
110
|
+
`GET https://api.lunchmoney.dev/v1/recurring_expenses`
|
|
111
|
+
|
|
112
|
+
| Parameter | Type | Required | Default | Description |
|
|
113
|
+
| ----------------- | ------- | -------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
114
|
+
| start_date | string | false | First day of the current month | Accepts a string in ISO-8601 short format. Whatever your start date, the system will automatically return recurring expenses expected for that month. For instance, if you input 2020-01-25, the system will return recurring expenses which are to be expected between 2020-01-01 to 2020-01-31. |
|
|
115
|
+
| debit_as_negative | boolean | false | false | Pass in true if you’d like expenses to be returned as negative amounts and credits as positive amounts. |
|
|
116
|
+
|
|
117
|
+
---
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# Recurring Items
|
|
2
|
+
|
|
3
|
+
<aside class="notice">
|
|
4
|
+
This API (v1) will not progress to a generally available state. For new projects, we recommend using the <a href="/v2/docs#tag/recurring_items">v2 API</a>, which is in open alpha and actively maintained.
|
|
5
|
+
</aside>
|
|
6
|
+
|
|
7
|
+
## Recurring Items Object
|
|
8
|
+
|
|
9
|
+
| Attribute | Type | Nullable | Description |
|
|
10
|
+
| ---------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| id | number | false | Unique identifier for recurring item |
|
|
12
|
+
| start_date | string | true | Denotes when recurring item starts occurring in ISO 8601 format. If null, then this recurring item will show up for all time before end_date |
|
|
13
|
+
| end_date | string | true | Denotes when recurring item stops occurring in ISO 8601 format. If null, then this recurring item has no set end date and will show up for all months after start_date |
|
|
14
|
+
| payee | string | false | Payee or payer of the recurring item |
|
|
15
|
+
| currency | string | false | Three-letter lowercase currency code for the recurring item in ISO 4217 format |
|
|
16
|
+
| created_by | number | false | The id of the user who created this recurring item. |
|
|
17
|
+
| created_at | string | false | The date and time of when the recurring item was created (in the ISO 8601 extended format). |
|
|
18
|
+
| updated_at | string | false | The date and time of when the recurring item was updated (in the ISO 8601 extended format). |
|
|
19
|
+
| billing_date | string | false | Initial date that a transaction associated with this recurring item occurred. This date is used in conjunction with values of `quantity` and `granularity` to determine the expected dates of recurring transactions in the period. |
|
|
20
|
+
| original_name | string | true | If any, represents the original name of the recurring item as denoted by the transaction that triggered its creation |
|
|
21
|
+
| description | string | true | If any, represents the user-entered description of the recurring item |
|
|
22
|
+
| plaid_account_id | number | true | If any, denotes the plaid account associated with the creation of this recurring item (see Plaid Accounts) |
|
|
23
|
+
| asset_id | number | true | If any, denotes the manually-managed account (i.e. asset) associated with the creation of this recurring item (see Assets) |
|
|
24
|
+
| source | string | false | This can be one of four values:<br> <ul> <li>manual: User created this recurring item manually from the Recurring Items page</li> <li>transaction: User created this by converting a transaction from the Transactions page</li> <li>system: Recurring item was created by the system on transaction import</li> <li> null: Some older recurring items may not have a source.</li></ul> |
|
|
25
|
+
| notes | string | true | If any, the user-entered notes for the recurring item |
|
|
26
|
+
| amount | number | false | Amount of the recurring item in numeric format to 4 decimal places. For recurring items with flexible amounts, this is the average of the specified min and max amounts. |
|
|
27
|
+
| category_id | number | true | If any, denotes the unique identifier for the associated category to this recurring item |
|
|
28
|
+
| category_group_id| number | true | If any, denotes the unique identifier of associated category group |
|
|
29
|
+
| is_income | boolean| false | Based on the associated category's property, denotes if the recurring transaction is treated as income |
|
|
30
|
+
| exclude_from_totals | boolean | false| Based on the associated category's property, denotes if the recurring transaction is excluded from totals |
|
|
31
|
+
| granularity | string | false | The unit of time used to define the cadence of the recurring item <br>One of:<br> <ul> <li>day</li> <li>week</li> <li>month</li><li>year</li><ul> |
|
|
32
|
+
| quantity | number | true | The number of granularity units between each recurrence |
|
|
33
|
+
| occurrences | object | false | An object which contains dates as keys and lists as values. The dates will include all the dates in the month that a recurring item is expected, as well as the last date in the previous period and the first date in the next period. The value for each key is a list of [Summarized Transaction Objects](#summarized-transaction-object) that matched the recurring item for that date (if any) |
|
|
34
|
+
| transactions_within_range | list | true | A list of all the [Summarized Transaction Objects](#summarized-transaction-object) for transactions that that have occurred in the query month for the recurring item (if any) |
|
|
35
|
+
| missing_dates_within_range | list | true | A list of date strings when a recurring transaction is expected but has not (yet) occurred. |
|
|
36
|
+
| date | string | true | Denotes the value of the `start_date` query parameter, or if none was provided, the date when the request was made. This indicates the month used by the system when populating the response. |
|
|
37
|
+
| to_base | number | false | The amount converted to the user's primary currency. If the multicurrency feature is not being used, to_base and amount will be the same. |
|
|
38
|
+
|
|
39
|
+
## Summarized Transaction Object
|
|
40
|
+
|
|
41
|
+
This object, which includes a subset of fields from the Transaction Object, may be included in the list of transactions associated with a date in the `occurrences` object, or in the `transactions_within_range` list.
|
|
42
|
+
|
|
43
|
+
| Attribute | Type | Nullable | Description |
|
|
44
|
+
| ---------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
45
|
+
| id | number | false | Unique identifier for the transaction that matched this recurring item |
|
|
46
|
+
| date | string | false | Date of transaction in ISO 8601 format |
|
|
47
|
+
| amount | string | false | Amount of the transaction in numeric format to 4 decimal places |
|
|
48
|
+
| currency | string | false | Three-letter lowercase currency code of the transaction in ISO 4217 format |
|
|
49
|
+
| payee | string | false | Payee or payer of the recurring item |
|
|
50
|
+
| category_id | number | true | Unique identifier of associated category (see Categories) |
|
|
51
|
+
| recurring_id | number | true | Unique identifier of associated recurring item |
|
|
52
|
+
| to_base | number | false | The amount converted to the user's primary currency. If the multicurrency feature is not being used, to_base and amount will be the same. |
|
|
53
|
+
|
|
54
|
+
## Get Recurring Items
|
|
55
|
+
|
|
56
|
+
Use this endpoint to retrieve a list of recurring items to expect for a specified month.
|
|
57
|
+
|
|
58
|
+
A different set of recurring items is expected every month. These can be once a year, twice a year, every four months, etc.
|
|
59
|
+
|
|
60
|
+
If a recurring item is listed as “twice a month,” then the recurring item object returned will have an `occurrences` attribute populated by the different billing dates the system believes recurring transactions should occur, including the two dates in the current month, the last transaction date prior to the month, and the next transaction date after the month.
|
|
61
|
+
|
|
62
|
+
If the recurring item is listed as “once a week,” then the recurring item object returned will have an `occurrences` object populated with as many times as there are weeks for the specified month, along with the last transaction from the previous month and the next transaction for the next month.
|
|
63
|
+
|
|
64
|
+
In the same vein, if a recurring item that began last month is set to “Every 3 months”, then that recurring item object that occurred will not include any dates for this month.
|
|
65
|
+
|
|
66
|
+
> Example 200 Response
|
|
67
|
+
>
|
|
68
|
+
> Returns a list of Recurring Item objects
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
[
|
|
72
|
+
{
|
|
73
|
+
"id": 940537,
|
|
74
|
+
"start_date": null,
|
|
75
|
+
"end_date": null,
|
|
76
|
+
"payee": "Weekly Income",
|
|
77
|
+
"currency": "usd",
|
|
78
|
+
"created_at": "2024-05-27T12:48:33.777Z",
|
|
79
|
+
"updated_at": "2024-05-27T12:48:33.777Z",
|
|
80
|
+
"billing_date": "2024-05-01",
|
|
81
|
+
"original_name": null,
|
|
82
|
+
"description": null,
|
|
83
|
+
"plaid_account_id": null,
|
|
84
|
+
"asset_id": null,
|
|
85
|
+
"source": "manual",
|
|
86
|
+
"amount": "-200.0000",
|
|
87
|
+
"notes": null,
|
|
88
|
+
"category_id": 911979,
|
|
89
|
+
"category_group_id": null,
|
|
90
|
+
"is_income": true,
|
|
91
|
+
"exclude_from_totals": false,
|
|
92
|
+
"granularity": "weeks",
|
|
93
|
+
"quantity": 1,
|
|
94
|
+
"occurrences": {
|
|
95
|
+
"2024-05-29": [
|
|
96
|
+
{
|
|
97
|
+
"id": 2178542342,
|
|
98
|
+
"date": "2024-05-29",
|
|
99
|
+
"amount": "-200",
|
|
100
|
+
"currency": "usd",
|
|
101
|
+
"payee": "Weekly Income",
|
|
102
|
+
"category_id": 911979,
|
|
103
|
+
"recurring_id": 940537,
|
|
104
|
+
"to_base": -200
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"2024-06-05": [
|
|
108
|
+
{
|
|
109
|
+
"id": 2178538493,
|
|
110
|
+
"date": "2024-06-05",
|
|
111
|
+
"amount": "-200",
|
|
112
|
+
"currency": "usd",
|
|
113
|
+
"payee": "Weekly Income",
|
|
114
|
+
"category_id": 911979,
|
|
115
|
+
"recurring_id": 940537,
|
|
116
|
+
"to_base": -200
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"2024-06-12": [],
|
|
120
|
+
"2024-06-19": [],
|
|
121
|
+
"2024-06-26": [],
|
|
122
|
+
"2024-07-03": []
|
|
123
|
+
},
|
|
124
|
+
"transactions_within_range": [
|
|
125
|
+
{
|
|
126
|
+
"id": 2178538493,
|
|
127
|
+
"date": "2024-06-05",
|
|
128
|
+
"amount": "-200",
|
|
129
|
+
"currency": "usd",
|
|
130
|
+
"payee": "Weekly Income",
|
|
131
|
+
"category_id": 911979,
|
|
132
|
+
"recurring_id": 940537,
|
|
133
|
+
"to_base": -200
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"missing_dates_within_range": [
|
|
137
|
+
"2024-06-12",
|
|
138
|
+
"2024-06-19",
|
|
139
|
+
"2024-06-26"
|
|
140
|
+
],
|
|
141
|
+
"date": "2024-06-04",
|
|
142
|
+
"to_base": -200
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": 838965,
|
|
146
|
+
"start_date": null,
|
|
147
|
+
"end_date": null,
|
|
148
|
+
"payee": "Google Fi",
|
|
149
|
+
"currency": "usd",
|
|
150
|
+
"created_at": "2024-04-05T20:02:22.698Z",
|
|
151
|
+
"updated_at": "2024-04-05T20:02:22.698Z",
|
|
152
|
+
"billing_date": "2024-01-25",
|
|
153
|
+
"original_name": null,
|
|
154
|
+
"description": "Cell phone plan",
|
|
155
|
+
"plaid_account_id": null,
|
|
156
|
+
"asset_id": 109419,
|
|
157
|
+
"source": "manual",
|
|
158
|
+
"amount": "50.0000",
|
|
159
|
+
"notes": null,
|
|
160
|
+
"category_id": 911972,
|
|
161
|
+
"category_group_id": null,
|
|
162
|
+
"is_income": false,
|
|
163
|
+
"exclude_from_totals": false,
|
|
164
|
+
"granularity": "months",
|
|
165
|
+
"quantity": 1,
|
|
166
|
+
"occurrences": {
|
|
167
|
+
"2024-05-25": [
|
|
168
|
+
{
|
|
169
|
+
"id": 21781233,
|
|
170
|
+
"date": "2024-05-25",
|
|
171
|
+
"amount": "50.0000",
|
|
172
|
+
"currency": "usd",
|
|
173
|
+
"payee": "Google Fi",
|
|
174
|
+
"category_id": 911972,
|
|
175
|
+
"recurring_id": 838965,
|
|
176
|
+
"to_base": 50
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"2024-06-25": [],
|
|
180
|
+
"2024-07-25": []
|
|
181
|
+
},
|
|
182
|
+
"transactions_within_range": [],
|
|
183
|
+
"missing_dates_within_range": [
|
|
184
|
+
"2024-06-25"
|
|
185
|
+
],
|
|
186
|
+
"date": "2024-06-04",
|
|
187
|
+
"to_base": 50
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"id": 838963,
|
|
191
|
+
"start_date": null,
|
|
192
|
+
"end_date": null,
|
|
193
|
+
"payee": "Geico",
|
|
194
|
+
"currency": "usd",
|
|
195
|
+
"created_at": "2024-04-05T20:02:22.244Z",
|
|
196
|
+
"updated_at": "2024-04-05T20:02:22.244Z",
|
|
197
|
+
"billing_date": "2024-01-01",
|
|
198
|
+
"original_name": null,
|
|
199
|
+
"description": "Car insurance",
|
|
200
|
+
"plaid_account_id": null,
|
|
201
|
+
"asset_id": 109419,
|
|
202
|
+
"source": "manual",
|
|
203
|
+
"amount": "145.0000",
|
|
204
|
+
"notes": null,
|
|
205
|
+
"category_id": 911972,
|
|
206
|
+
"category_group_id": null,
|
|
207
|
+
"is_income": false,
|
|
208
|
+
"exclude_from_totals": false,
|
|
209
|
+
"granularity": "months",
|
|
210
|
+
"quantity": 1,
|
|
211
|
+
"occurrences": {
|
|
212
|
+
"2024-06-01": [],
|
|
213
|
+
"2024-07-01": []
|
|
214
|
+
},
|
|
215
|
+
"transactions_within_range": [],
|
|
216
|
+
"missing_dates_within_range": [
|
|
217
|
+
"2024-06-01"
|
|
218
|
+
],
|
|
219
|
+
"date": "2024-06-04",
|
|
220
|
+
"to_base": 145
|
|
221
|
+
}
|
|
222
|
+
]```
|
|
223
|
+
|
|
224
|
+
> Example 404 Response
|
|
225
|
+
|
|
226
|
+
```json
|
|
227
|
+
{ "error": "Invalid start_date. Must be in format YYYY-MM-DD" }
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### HTTP Request
|
|
231
|
+
|
|
232
|
+
`GET https://api.lunchmoney.dev/v1/recurring_items`
|
|
233
|
+
|
|
234
|
+
| Parameter | Type | Required | Default | Description |
|
|
235
|
+
| ----------------- | ------- | -------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
236
|
+
| start_date | string | false | First day of the current month | Accepts a string in ISO-8601 short format. If not set the recurring items for the current month are returned. If set denotes the starting month of the date range to return |
|
|
237
|
+
| end_date | string | false | none | Required if start_date is set. Must be a date later than start_date. Denotes the end month of the date range to return |
|
|
238
|
+
| debit_as_negative | boolean | false | false | Pass in true if you’d like items to be returned as negative amounts and credits as positive amounts. |
|
|
239
|
+
|
|
240
|
+
---
|
package/v1/_tags.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Tags
|
|
2
|
+
|
|
3
|
+
<aside class="notice">
|
|
4
|
+
This API (v1) will not progress to a generally available state. For new projects, we recommend using the <a href="/v2/docs#tag/tags">v2 API</a>, which is in open alpha and actively maintained.
|
|
5
|
+
</aside>
|
|
6
|
+
|
|
7
|
+
## Tags Object
|
|
8
|
+
|
|
9
|
+
Attribute Name | Type | Nullable | Description
|
|
10
|
+
------------------- | ---- | -------- | -----------
|
|
11
|
+
id | number | false | Unique identifier for tag
|
|
12
|
+
name | string | false | User-defined name of tag
|
|
13
|
+
description | string | true | User-defined description of tag
|
|
14
|
+
archived | boolean | false | If true, the tag will not show up when creating or updating transactions in the Lunch Money app
|
|
15
|
+
|
|
16
|
+
## Get All Tags
|
|
17
|
+
|
|
18
|
+
Use this endpoint to get a list of all tags associated with the user's account.
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
[
|
|
22
|
+
{
|
|
23
|
+
"id": 1807,
|
|
24
|
+
"name": "Wedding",
|
|
25
|
+
"description": "All wedding-related expenses",
|
|
26
|
+
"archived": false
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": 1808,
|
|
30
|
+
"name": "Honeymoon",
|
|
31
|
+
"description": "All honeymoon-related expenses",
|
|
32
|
+
"archived": true
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### HTTP Request
|
|
38
|
+
|
|
39
|
+
`GET https://api.lunchmoney.dev/v1/tags`
|
|
40
|
+
|
|
41
|
+
---
|